шанс восстановить здровье при атаке
|
|
go12gi | Дата: Вторник, 19 Июля 2011, 19:14:45 | Сообщение # 1 |
5 уровень
Группа: Пользователи
Сообщений: 120
Награды: 0
Репутация: 12
Блокировки:
| как сделать что бы когда герой атаковал он имел шанс (10%) восстановить здоровье 100% от нанесенного урона
11
|
|
|
|
Skoric | Дата: Вторник, 19 Июля 2011, 19:37:47 | Сообщение # 2 |
Peace, people!
Группа: Проверенные
Сообщений: 633
Награды: 0
Репутация: 425
Блокировки:
| Quote (go12gi) как сделать что бы когда герой атаковал он имел шанс (10%) восстановить здоровье 100% от нанесенного урона Поковыряйся в вампиризме!
лимончики
|
|
|
|
Shadov | Дата: Вторник, 19 Июля 2011, 20:02:43 | Сообщение # 3 |
7 уровень
Группа: Проверенные
Сообщений: 294
Награды: 0
Репутация: 25
Блокировки:
| Quote (Skoric) Поковыряйся в вампиризме! ты 1 пост читал? причем тут вамприризм??? тут через триги нада шанс сделать и потом уже востановить хп = урону
[quote=Sarenar]чо такое тинкер [/quote]
|
|
|
|
Mep3aB4uK | Дата: Вторник, 19 Июля 2011, 20:50:46 | Сообщение # 4 |
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
| Нужна переменная типа отряд - х. 1 триг С:юнит атакован у:уровень абилки атакуещего не равно 0 и атакован юнит не в групе х д:добавить атакованого в групу х, добавить собитие в триг2 атакованый юнит получает урон. Триг2 с:пусто у:случайное число от 1до100 меньше равно 10 д:установить здоровье (юнит наносящый урон) текущее здоровье + полученый урон
|
|
|
|
lawson | Дата: Вторник, 19 Июля 2011, 21:39:19 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (Mep3aB4uK) С:юнит атакован Криво!
Добавлено (19-07-2011, 21:39) --------------------------------------------- Это упрашенный вариант... с двумя утечками.
Code function AddHP takes nothing returns nothing call SetUnitState(GetEventDamageSource(), UNIT_STATE_LIFE, GetUnitState(GetEventDamageSource(), UNIT_STATE_LIFE) + GetEventDamage()) call DestroyTrigger(GetTriggeringTrigger()) endfunction
function Trig_Cookie_Actions takes nothing returns nothing local trigger t = CreateTrigger() if (GetRandomInt(1, 100) <= 10) then call TriggerRegisterUnitEvent(t, GetTriggerUnit(), EVENT_UNIT_DAMAGED) call TriggerAddAction(t, function AddHP) endif set t = null endfunction
//=========================================================================== function InitTrig_Cookie takes nothing returns nothing set gg_trg_Cookie = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_Cookie, EVENT_PLAYER_UNIT_ATTACKED ) call TriggerAddAction( gg_trg_Cookie, function Trig_Cookie_Actions ) endfunction
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Вторник, 19 Июля 2011, 21:48:27 |
|
|
|
Mep3aB4uK | Дата: Вторник, 19 Июля 2011, 22:18:09 | Сообщение # 6 |
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
| Lawson, если и будет работать то криво.
|
|
|
|
lawson | Дата: Вторник, 19 Июля 2011, 22:43:27 | Сообщение # 7 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Mep3aB4uK, Знаю. Это всего лишь можно сказать пример.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
FkoFF | Дата: Среда, 20 Июля 2011, 06:20:35 | Сообщение # 8 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Quote (Mep3aB4uK) Нужна переменная типа отряд - х. 1 триг С:юнит атакован у:уровень абилки атакуещего не равно 0 и атакован юнит не в групе х д:добавить атакованого в групу х, добавить собитие в триг2 атакованый юнит получает урон. Триг2 с:пусто у:случайное число от 1до100 меньше равно 10 д:установить здоровье (юнит наносящый урон) текущее здоровье + полученый урон Можешь с шансом давать вампиризм цели на 0.7 секунд (больше не требуется для того что бы юнит нанес урон)
Quote (lawason) Code function Trig_Cookie_Actions takes nothing returns nothing local trigger t = CreateTrigger() if (GetRandomInt(1, 100) <= 10) then call TriggerRegisterUnitEvent(t, GetTriggerUnit(), EVENT_UNIT_DAMAGED) call TriggerAddAction(t, function AddHP) endif set t = null endfunction
Здесь каждый раз утекает триггер t, через 5 минут сражений игра гарантированно вылетит с фаталом.
|
|
|
|
Mep3aB4uK | Дата: Среда, 20 Июля 2011, 09:59:54 | Сообщение # 9 |
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
| FkoF, а если юнит умирает, он остается в групе? Так как я сделал нет утечек кроме собитий?
|
|
|
|