User | Дата: Пятница, 11.04.2014, 11:07 | Сообщение # 1 |
- Сообщения: 5
- Награды: 0
- Замечания:
|
доброго времени суток, форумчане! Подскажите пожалуйста, как сделать, чтобы при использовании ультимейта (орда саранчи), у лорда мертвых отнималась немного жизни? Например, нанес урон 60 НР, сам получил 15.
|
|
| |
Avrora | Дата: Понедельник, 14.04.2014, 02:50 | Сообщение # 2 |
- Сообщения: 145
- Награды: 0
- Замечания:
|
Открываешь файл race_crypt.inl ищешь:
#define LOCUSTSWARM_DMG_MIN 30 -- Тут минимальный урон дамага. #define LOCUSTSWARM_DMG_MAX 60 -- Тут максимальный урон дамага.
|
|
| |
User | Дата: Понедельник, 14.04.2014, 07:46 | Сообщение # 3 |
- Сообщения: 5
- Награды: 0
- Замечания:
|
Avrora, спасибо, что откликнулся. Вопрос состоит в том, не как увеличить или уменьшить #define LOCUSTSWARM_DMG_MIN 30 #define LOCUSTSWARM_DMG_MAX 60 , а в том, чтобы при использовнии ульты, у самого лорда отнималась жизнь, пропорционально урону от саранчи
|
|
| |
Avrora | Дата: Понедельник, 14.04.2014, 18:14 | Сообщение # 4 |
- Сообщения: 145
- Награды: 0
- Замечания:
|
Напиши лучше SMaster'у Так как я не знаю ответ на твой вопрос.
|
|
| |
KILLER7x7 | Дата: Вторник, 15.04.2014, 00:45 | Сообщение # 5 |
- Сообщения: 94
- Награды: 4
- Замечания:
|
User, вот так можно сделать и по желанию доработать (например добавить чтоб не могла убить лорда(который пустил), сообщение о том что потерял жизнь)
все изменения будут в файле race_crypt.inl
1. для удобства в дальнейшем исправления и настройки получаемый урон добавим такую переменную в начале файла (это то число на сколько делиться дамаг то есть если урон от ульты 60 то делиться на 4 и выходит 15 урана лорду ) Код #define LOCUSTSWARM_DMG 4 2. ищем вот это
Код // We're close enough, we can damage them! else { new iDamage = random_num( LOCUSTSWARM_DMG_MIN, LOCUSTSWARM_DMG_MAX ); WC3_Damage( iVictim, iAttacker, iDamage, CSW_LOCUSTS, -1 ); // Hide icon ULT_Icon( iAttacker, ICON_HIDE );
emit_sound( iVictim, CHAN_STATIC, g_szSounds[SOUND_LOCUSTSWARM], 1.0, ATTN_NORM, 0, PITCH_NORM ); new szName[32]; get_user_name( iVictim, szName, 31 ); format(szMessage, sizeof(szMessage) - 1, "^x01%L^x03%L^x01%L ^x04%L", LANG_PLAYER,"WC3_BRACKET_LEFT",LANG_PLAYER,"WC3_MODCLIENT",LANG_PLAYER,"WC3_BRACKET_RIGHT", LANG_PLAYER,"CLIENT_PRINT_CL_ULT_LOCUST_EFFECT_3", szName, iDamage); cssbColoredPrint(iAttacker, szMessage); } заменяем на это >>>>
(а здесь мы просто добавили пару строчек для вычисление сколько забрать дамага) Код // We're close enough, we can damage them! else { new iDamage = random_num( LOCUSTSWARM_DMG_MIN, LOCUSTSWARM_DMG_MAX ); new iDamag = ( iDamage / LOCUSTSWARM_DMG )
WC3_Damage( iVictim, iAttacker, iDamage, CSW_LOCUSTS, -1 ); WC3_Damage( iAttacker, iAttacker, iDamag, CSW_LOCUSTS, -1 ); // Hide icon ULT_Icon( iAttacker, ICON_HIDE );
emit_sound( iVictim, CHAN_STATIC, g_szSounds[SOUND_LOCUSTSWARM], 1.0, ATTN_NORM, 0, PITCH_NORM ); new szName[32]; get_user_name( iVictim, szName, 31 ); format(szMessage, sizeof(szMessage) - 1, "^x01%L^x03%L^x01%L ^x04%L", LANG_PLAYER,"WC3_BRACKET_LEFT",LANG_PLAYER,"WC3_MODCLIENT",LANG_PLAYER,"WC3_BRACKET_RIGHT", LANG_PLAYER,"CLIENT_PRINT_CL_ULT_LOCUST_EFFECT_3", szName, iDamage); cssbColoredPrint(iAttacker, szMessage); }
надеюсь все понятно и не будет лишних вопросов (если что то я тестировал и все работает)
killer7x7_ua
Сообщение отредактировал KILLER7x7 - Вторник, 15.04.2014, 00:51 |
|
| |
User | Дата: Вторник, 15.04.2014, 13:14 | Сообщение # 6 |
- Сообщения: 5
- Награды: 0
- Замечания:
|
KILLER7x7, спасибо тебе, как тут "+" ставить? Хочу тебе "+" поставить.
|
|
| |