Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Возврат урона
LLapb
Дата: Воскресенье, 17.08.2014, 03:58 | Сообщение # 1
офлайн

  • Сообщения: 20
  • Награды: 0
  • Замечания:
 
Поискал темы, но не нашел. Форум у вас огромный, поэтому создам тему с вопросом:

Как сделать, чтобы при возврате урона от эльфа или лорда - противник, с малым кол-вом хп, не умирал, а, допустим, оставался с 1 хп.

Пример: сидит в углу человек с малым кол-вом хп, мимо проходит лорд. Человек начинает стрелять и от возвратки умирает. Надо это исправить, эх



 
Batonoid
Дата: Понедельник, 18.08.2014, 23:59 | Сообщение # 2
офлайн

  • Сообщения: 211
  • Награды: 0
  • Замечания:
 
LLapb, хаха зачем? 0_o

 
кроХа
Дата: Вторник, 19.08.2014, 09:24 | Сообщение # 3
офлайн

  • Сообщения: 44
  • Награды: 0
  • Замечания:
 
Batonoid, Во во зачем,чтоб он тебя грохнул и еще с маской ХП себе востановил и твоих убил biggrin
 
LLapb
Дата: Вторник, 19.08.2014, 18:39 | Сообщение # 4
офлайн

  • Сообщения: 20
  • Награды: 0
  • Замечания:
 
Дамаг от возвратки такой, что он даже с маской не отхилит себе хп, даже если и получится, то это 10-20 хп будет всего. Поэтому мне надо, чтобы не убивало


 
Batonoid
Дата: Среда, 20.08.2014, 23:09 | Сообщение # 5
офлайн

  • Сообщения: 211
  • Награды: 0
  • Замечания:
 
LLapb, настрой скилл! И не неси чушь!

 
LLapb
Дата: Пятница, 22.08.2014, 00:37 | Сообщение # 6
офлайн

  • Сообщения: 20
  • Награды: 0
  • Замечания:
 
Цитата Batonoid ()
LLapb, настрой скилл! И не неси чушь!

Я разве спрашивал тебя, что мне сделать на сервере ? У тебя есть сервер - настраивай его, как хочешь.
Я задал конкретный вопрос, как сделать, чтобы так было.
Если ты не знаешь - не надо тут умничать и исправлять под себя. 
Спасибо за понимание.



 
Soun:D
Дата: Пятница, 22.08.2014, 19:54 | Сообщение # 7
офлайн

  • Сообщения: 69
  • Награды: 0
  • Замечания:
 
По подобному сделаешь или описать полностью?)


 
LLapb
Дата: Пятница, 22.08.2014, 23:32 | Сообщение # 8
офлайн

  • Сообщения: 20
  • Награды: 0
  • Замечания:
 
Цитата Soun:D ()
По подобному сделаешь или описать полностью?)

По молниям охотника уже нашел и сделал пару дней назад, спасибо)
Я говорю про эльфа и лорда)



 
Kilimanjaro
Дата: Воскресенье, 24.08.2014, 14:05 | Сообщение # 9
офлайн

  • Сообщения: 17
  • Награды: 0
  • Замечания:
 
Вот пример для того, если у атакующего будет 20 или меньше жизней.

Для Эльфа

- Находим фаил scripting\war3ft\race_elf.inl, в нем находим функцию NE_SkillsDefensive и заменяем ее на следующее

Код
NE_SkillsDefensive( iAttacker, iVictim, iDamage, iHitPlace )
{
       static iSkillLevel;

       // Thorns Aura ( attacker could be dead... i.e. nade )
       iSkillLevel = SM_GetSkillLevel( iVictim, SKILL_THORNS );
       if ( iSkillLevel > 0 && is_user_alive( iAttacker ) )
       {
           static iAdditionalDamage;
           iAdditionalDamage = floatround( float( iDamage ) * p_thorns[iSkillLevel-1] );
              
           // Damage the user
           if(get_user_health( attacker ) <= 20) // Если у атакующего меньше или равно 20хп, то урона не будет
               return;
           else WC3_Damage( iAttacker, iVictim, iAdditionalDamage, CSW_THORNS, iHitPlace );

           // Make the user glow!
           SHARED_Glow( iAttacker, ( 3 * iAdditionalDamage ), 0, 0, 0 );
              
           // Create a screen fade
           Create_ScreenFade( iAttacker, (1<<10), (1<<10), (1<<12), 0, 0, 255, iAdditionalDamage )
       }
}

Для Лорда

- Находим фаил scripting\war3ft\race_crypt.inl, в нем находим функцию CL_SkillsDefensive и заменяем ее на следующее

Код
CL_SkillsDefensive( iAttacker, iVictim, iDamage, iHitPlace )
{
       if ( !p_data_b[iVictim][PB_ISCONNECTED] || !p_data_b[iAttacker][PB_ISCONNECTED] )
           return;

       static iSkillLevel;
       // Spiked Carapace
       iSkillLevel = SM_GetSkillLevel( iVictim, SKILL_SPIKEDCARAPACE );
       if ( iSkillLevel > 0 )
       {
           new iTemp = floatround( float( iDamage ) * p_spiked[iSkillLevel-1] );
              
           // Give the victim some armor...
           if ( g_MOD == GAME_CSTRIKE || g_MOD == GAME_CZERO )
           {
               new CsArmorType:ArmorType;
               new iCurArmor = cs_get_user_armor( iVictim, ArmorType );
               new iMaxArmor = SHARED_GetMaxArmor( iVictim );
                  
               // Then set their armor to be the max
               if ( iCurArmor + iTemp > iMaxArmor )
                   cs_set_user_armor( iVictim, iMaxArmor, ArmorType );
               else    // Just give them some bonus armor
                   cs_set_user_armor( iVictim, iCurArmor + iTemp, ArmorType );
           }
           if ( is_user_alive( iAttacker ) )
           {
               // Damage our attacker!
               if(get_user_health(iAttacker) <= 20)    // Если у атакующего меньше или равно 20хп, то урона не будет
                   return;
               else WC3_Damage( iAttacker, iVictim, iTemp, CSW_CARAPACE, iHitPlace );

               // Make the user glow!
               SHARED_Glow( iAttacker, ( 3 * iTemp ), 0, 0, 0 );
               // Create a screen fade
               Create_ScreenFade( iAttacker, (1<<10), (1<<10), (1<<12), 255, 0, 0, iTemp );
           }
       }
}
Но для нормального баланса лучше всего уменьшить процент возврата урона от скила, думаю 20% на макс уровень будет в полне достаточно.

P.S.: Если помог не забываем про "спасибку" =)


Сообщение отредактировал Kilimanjaro - Воскресенье, 24.08.2014, 14:08
 
  • Страница 1 из 1
  • 1
Поиск: