Сейчас 10:06:09 Вторник, 26 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
шанс восстановить здровье при атаке
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, а если юнит умирает, он остается в групе? Так как я сделал нет утечек кроме собитий?
 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz