Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Как запретить выбор определённой расы на определённой карте?
KpyTb
Дата: Вторник, 25.12.2012, 12:20 | Сообщение # 1
офлайн

  • Сообщения: 11
  • Награды: 0
  • Замечания:
 
Например, я хочу запретить игрокам играть Нежитью на 35hp_2 по вполне понятным причинам. За основу взял этот способ: http://perfect-soft.su/forum/56-335-2343-16-1334263113

Первые 3 шага понятны, а как быть с 4м? Где именно прописать чтобы нельзя было выбирать расу Нежить?
 
Contra63
Дата: Среда, 26.12.2012, 09:37 | Сообщение # 2
офлайн

  • Сообщения: 830
  • Награды: 7
  • Замечания:
 
KpyTb,
Код

if ( SH_CanPlaceWard( idUser ) && g_bShadowSerpentWardDisabled == false)
{

далее код орка

}




Сообщение отредактировал Contra63 - Среда, 26.12.2012, 09:38
 
KinD
Дата: Среда, 26.12.2012, 13:46 | Сообщение # 3
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
Нужно проверять в menus.inl

if(iRace==1)
{
new map[33]
get_mapname(map,32)
if(equali(map,"35hp_2"))
{
return PLUGIN_HANDLED
}
}


Skype:daywerok
 
BoJlog9l
Дата: Понедельник, 23.12.2013, 19:30 | Сообщение # 4
офлайн

  • Сообщения: 45
  • Награды: 0
  • Замечания:
 
Ребят можете полностью процесс тут описать, а то я запутался:)
Чтобы запретить нежить на 35hp_2

Добавлено (22.12.2013, 16:01)
---------------------------------------------
Или если взять за основу http://perfect-soft.su/forum/56-335-1#2343
То просто мне напиши что мне писать надо, если я хочу запретить нежить.

Добавлено (23.12.2013, 19:30)
---------------------------------------------
Жду помощи, а то тему не могу найти подходящую, не нормальной статьи в интернете.

 
Soun:D
Дата: Вторник, 14.01.2014, 22:49 | Сообщение # 5
офлайн

  • Сообщения: 69
  • Награды: 0
  • Замечания:
 
Цитата BoJlog9l ()
Добавлено (22.12.2013, 16:01)---------------------------------------------
Или если взять за основу http://perfect-soft.su/forum/56-335-1#2343
То просто мне напиши что мне писать надо, если я хочу запретить нежить.
Для пассивных скиллов делаешь на подобии этого http://perfect-soft.su/forum/56-335-1

А вот для ульты вместо последнего шага, делаешь это:
Вставляешь этот код:
   
Код
// Check to see if we are on a disabled map
      if ( g_bUndeadSuicide )
      {
          return;
      }
Должно выглядеть так:
       
Код
// If we ult while changing teams, you will kill your old teammates, we don't want that!!
     if ( p_data_b[idUser][PB_CHANGINGTEAM] )
     {
         return;
     }
      
     // Check to see if we are on a disabled map
     if ( g_bUndeadSuicide )
     {
         return;
     }
      

     // Play the undead explosion sound!!!
Правда это блокирует только если игрока убьют или он засуецидется(упадет или утонет), но если он сам активирует, то ульта сработает...

Никто не знает, как полностью заблочить ульту нежити?





Сообщение отредактировал Soun:D - Вторник, 14.01.2014, 22:50
 
PATRUL
Дата: Среда, 15.01.2014, 09:54 | Сообщение # 6
офлайн

  • Сообщения: 718
  • Награды: 5
  • Замечания:
 
Чтобы убрать активацию ульты у нежити:
Заходим в clientCommands.inl и находим функцию public cmd_Ultimate(idUser) ,а в ней код:

Код
case ULTIMATE_SUICIDE:
       {
          // User has already had their warning - kill them!
          if ( p_data_b[idUser][PB_SUICIDEATTEMPT] )
          {
             WC3_KillUser( idUser, 0, 0 );

             p_data_b[idUser][PB_SUICIDEATTEMPT] = false
          }

          // Give the user his/her warning
          else
          {
             // Flash the user's ultimate icon
             ULT_Icon( idUser, ICON_FLASH );

             p_data_b[idUser][PB_SUICIDEATTEMPT] = true

             WC3_StatusText( idUser, TXT_BLINK_CENTER, "%L", LANG_PLAYER, "SUICIDE_BOMB_ARMED" );
          }
       }

Заменяем на:

Код
case ULTIMATE_SUICIDE:
       {
          // User has already had their warning - kill them!
          if ( p_data_b[idUser][PB_SUICIDEATTEMPT] )
          {
             WC3_KillUser( idUser, 0, 0 );

             p_data_b[idUser][PB_SUICIDEATTEMPT] = false;
          }
       }



 
Soun:D
Дата: Четверг, 16.01.2014, 16:08 | Сообщение # 7
офлайн

  • Сообщения: 69
  • Награды: 0
  • Замечания:
 
Цитата PATRUL ()
Чтобы убрать активацию ульты у нежити:Заходим в clientCommands.inl и находим функцию public cmd_Ultimate(idUser)
Спасибо, что указал направление, а то не знаю где в варике команды и тд)

Чтобы блокировать ульту нежити на определенной карте нужно этот код:
                     
Код
// Give the user his/her warning
               else
               {
                   // Flash the user's ultimate icon
                   ULT_Icon( idUser, ICON_FLASH );

                   p_data_b[idUser][PB_SUICIDEATTEMPT] = true

                   WC3_StatusText( idUser, TXT_BLINK_CENTER, "%L", LANG_PLAYER, "SUICIDE_BOMB_ARMED" );
               }

Заменить на:
           
Код
// Give the user his/her warning
                 else
                 {
                     if ( g_bUndeadSuicide ) // Разрешена ли ульта на карте?
                         {
                         
                         p_data_b[idUser][PB_SUICIDEATTEMPT] = false

                         WC3_StatusText( idUser, TXT_BLINK_CENTER, "%L", LANG_PLAYER, "SUICIDE_BOMB_DISABLED" );
                         }
                     else
                         {
                         // Flash the user's ultimate icon
                         ULT_Icon( idUser, ICON_FLASH );

                         p_data_b[idUser][PB_SUICIDEATTEMPT] = true

                         WC3_StatusText( idUser, TXT_BLINK_CENTER, "%L", LANG_PLAYER, "SUICIDE_BOMB_ARMED" );
                         }
                 }


Да, также пополнить словарик варика.





Сообщение отредактировал Soun:D - Четверг, 16.01.2014, 16:13
 
  • Страница 1 из 1
  • 1
Поиск: