Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Как назначить определенный скил на активное умение?
barkus
Дата: Четверг, 02.08.2012, 18:06 | Сообщение # 1
офлайн

  • Сообщения: 27
  • Награды: 0
  • Замечания:
 
Добрый день,написал для Орка активный скил, и хочу заменить Реинкарнацию им, не подскажите как?
 
SMaster
Дата: Четверг, 02.08.2012, 19:16 | Сообщение # 2
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
barkus, Объясни, как можно помочь не имея даже кусочка кода?
Опиши что скил данный делает.
На что должен реагировать.

В shared.inl скилл восстановления орка срабатывает
Код который отвечает за это:
Code
static iSkillLevel;
iSkillLevel = SM_GetSkillLevel( idUser, SKILL_REINCARNATION );

// Orc's Reincarnation
if ( iSkillLevel > 0 )
{

  if (random_float(MIN_PERCENT_ANKH, MAX_PERCENT_ANKH ) <= p_ankh[iSkillLevel-1] )
  {
     bGiveWeapons = true;   
  }
}


Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
barkus
Дата: Четверг, 02.08.2012, 19:37 | Сообщение # 3
офлайн

  • Сообщения: 27
  • Награды: 0
  • Замечания:
 
SMaster, Вот смотри, активное абилити Змеиная суть:

Code
SH_SerpentWard( idUser )


Я же решил сделать тоже активное абилити:

Code
TEST_ABILITY_HP( idUser )


Функция самая простая, при нажатии давать 50 хп, если оно меньше 50

Code

TEST_ABILITY_HP( idUser )
{
new iHealth;
iHealth = get_user_health( idUser );
if(( iHealth < 50 ))
   {
    set_user_health( idUser, iHealth + 50 )

esle

client_print( idUser, print_chat, "Невозможно")
}  
           return PLUGIN_HANDLED;
   }


Добавлено (02.08.2012, 19:37)
---------------------------------------------
SMaster, ок, вопрос совсем в другом, я удалил весь код связанный с Реинкарнацией, теперь надо его заменить на активное абилити описанное выше.


Сообщение отредактировал barkus - Четверг, 02.08.2012, 19:41
 
SMaster
Дата: Четверг, 02.08.2012, 19:47 | Сообщение # 4
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Quote (barkus)
при нажатии давать 50 хп

Это нужно добавить к команде,но ни как не заменить.
Реинкарнация у орка срабатывает при респавне!

Открой clientCommands.inl
Найди else if ( CMD_Equal( idUser, szCmd, "ability" ) )

Замени код:
Code
else if ( CMD_Equal( idUser,  szCmd, "ability" ) )
{
  switch(p_data[idUser][P_RACE])
  {
   case RACE_ORC:
    TEST_ABILITY_HP( idUser );

   case RACE_SHADOW:
    SH_PlaceSerpentWard( idUser );
  }
}


Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
barkus
Дата: Четверг, 02.08.2012, 19:51 | Сообщение # 5
офлайн

  • Сообщения: 27
  • Награды: 0
  • Замечания:
 
SMaster, я может не много не правильно сказал, Reincarnation это умение Оpka, вернo?
Мне нужно его убрать и вместо Reincarnation сделать абилити. Тоесть Reincarnation не нужна, от неё пользы на DM сервере 0.
 
SMaster
Дата: Четверг, 02.08.2012, 20:01 | Сообщение # 6
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
barkus, Ты сам не понимаешь что пишешь.
Походу объяснять нет смысла дальше.
Указал и разъяснил что за что отвечает.
Читай между строк....


Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
barkus
Дата: Четверг, 02.08.2012, 20:45 | Сообщение # 7
офлайн

  • Сообщения: 27
  • Награды: 0
  • Замечания:
 
Вставил это в race_orc.inl
Code
TEST_ABILITY_HP( idUser )  
{  
  new iHealth;  
  iHealth = get_user_health( idUser );  
  if(( iHealth < 50 ))  
    {  
     set_user_health( idUser, iHealth + 50 )  
   
  esle  
   
  client_print( idUser, print_chat, "Невозможно")  
  }   
            return PLUGIN_HANDLED;  
    }

И заменил clientCommands, не компилит

Code
//AMXXPC compile.exe
// by the AMX Mod X Dev Team

//// cssbWar3ftMod.sma
// war3ft/race_orc.inl(242) : error 017: undefined symbol "TEST_ABILITY_HP"
// war3ft/race_orc.inl(245) : error 017: undefined symbol "idUser"
// war3ft/race_orc.inl(248) : error 017: undefined symbol "idUser"
// war3ft/race_orc.inl(248) : warning 215: expression has no effect
// war3ft/race_orc.inl(248) : error 001: expected token: ";", but found ")"
// war3ft/race_orc.inl(248) : error 029: invalid expression, assumed zero
// war3ft/race_orc.inl(248) : fatal error 107: too many error messages on one li
ne
//
// Compilation aborted.
// 6 Errors.
// Could not locate output file C:\Users\╥рэ \Desktop\CSSB-War3FT-MOD-1.5 new 1\
cssb\╤ъЁшяЄ√ CSSB War3FT MOD\compiled\cssbWar3ftMod.amx (compile failed).
//
// Compilation Time: 11,78 sec
// ----------------------------------------

Press enter to exit ...

Добавлено (02.08.2012, 20:45)
---------------------------------------------
В чем проблема?

 
KinD
Дата: Четверг, 02.08.2012, 21:41 | Сообщение # 8
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
Code
esle    
        
    client_print( idUser, print_chat, "Невозможно")    
    }     
              return PLUGIN_HANDLED;    
      }


True code....

Code
else
     {   
    client_print( idUser, print_chat, "Невозможно")    
    
              return PLUGIN_HANDLED;    
      }
}//закрытие начальных скобок.


Функция должна быть public

Индекс idUser должен существовать,на крайней случай new idUser,либо через аргументы(передавай в таске)

Как ты расу делаешь??????111!
-На магии она работает?


Skype:daywerok

Сообщение отредактировал KinD - Четверг, 02.08.2012, 21:42
 
  • Страница 1 из 1
  • 1
Поиск: