MegaBlax
offline
Опыт:
2,352Активность: |
Проблема с триггером
((код jass
globals
real dmg=0. timer t endglobals function Kraken_Shell_Main takes nothing returns nothing
local unit lfo=GetTriggerUnit() local real lf7=GetEventDamage() set dmg=dmg+lf7 if(dmg>=600. and TimerGetRemaining(t)!=0)then set dmg=0 call UnitRemoveBuffs(lfo,false,true) call DestroyEffect(AddSpecialEffectTarget("Objects\\Spawnmodels\\Naga\\NagaDeath\\NagaDeath.mdl",lfo,"origin")) call BJDebugMsg("Дамаг достиг 600, бафы сброшены, дамаг = 0") endif if(TimerGetRemaining(t)==0.)then call TimerStart(t,6.,false,null) set dmg=lf7 call BJDebugMsg("Таймер запущен!") endif endfunction function Trig_Kraken_Shell_Conditions takes nothing returns boolean
return GetLearnedSkill()=='A000' and IsUnitIllusion(GetTriggerUnit())==false endfunction function Trig_Kraken_Shell_Actions takes nothing returns nothing
local trigger ltt if(GetUnitAbilityLevel(GetTriggerUnit(),'A000')==1)then set ltt=CreateTrigger() call TriggerRegisterUnitEvent(ltt,GetTriggerUnit(),EVENT_UNIT_DAMAGED) call TriggerAddAction(ltt,function Kraken_Shell_Main) set t=CreateTimer() endif endfunction ===========================================================================
function InitTrig_Kraken_Shell takes nothing returns nothing local trigger trg=CreateTrigger() call TriggerRegisterAnyUnitEventBJ(trg,EVENT_PLAYER_HERO_SKILL) call TriggerAddCondition(trg,Condition(function Trig_Kraken_Shell_Conditions)) call TriggerAddAction(trg,function Trig_Kraken_Shell_Actions) set trg=null endfunction )) Кто может объяснить что тут неправильно? При прокачке способности должно добавляться событие, получение урона. При получение урона 600 в течении 6 секунд с юнита должны сбрасываться отрицательные эффекты. [+] замечание от Nerevar: Неинформативное название темы+тема не в том разделе
|
24.04.2013, 14:19 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nerevar
I'll be back!
offline
Опыт:
18,352Активность: |
MegaBlax, и? какие результаты дебага? не вижу описания проблемы |
24.04.2013, 14:28 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MegaBlax
offline
Опыт:
2,352Активность: |
Карта просто не запускается. |
24.04.2013, 14:31 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
чекай |
24.04.2013, 15:09 | #4
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MegaBlax
offline
Опыт:
2,352Активность: |
16GB, а в мультиплеере покатит? Если способность будет у нескольких игроков? |
24.04.2013, 15:13 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
нет,переменные же глобальные |
24.04.2013, 15:23 | #6
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MegaBlax
offline
Опыт:
2,352Активность: |
16GB, Ну ладно, скорее всего способность будет только у одного юнита. Жалко сам не додумал. |
24.04.2013, 15:30 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
IceFog
offline
Опыт:
7,993Активность: |
MegaBlax:
А это зачем? Разве иллюзия может прокачивать способности? |
24.04.2013, 20:21 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
код из опен доты |
24.04.2013, 21:11 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Zetox
offline
Опыт:
1,698Активность: |
Цитата:
Да, иллюзиям даже можно дать активные скилы, но они спрятаны. Если автору нужно, могу кинуть реализацию этого скила из самой доты. |
|
29.04.2013, 23:45 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Master_chan
Полуночный командир
offline
Опыт:
15,660Активность: |
Найди опечатку. |
01.05.2013, 13:43 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MegaBlax
offline
Опыт:
2,352Активность: |
|
12.05.2013, 14:38 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
MegaBlax:
сool story, особенно названия переменных Код из опен доты
|
12.05.2013, 14:40 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MegaBlax
offline
Опыт:
2,352Активность: |
16GB, Насчет названия переменых, я сидел и смотрел код Backtrack у войда, патом решил сделать скилл Kraken Shell. Скопировал часть кода из Backtrack и дописал Kraken Shell Но я писал сам!
((код jass
function StartTimerTest takes timer t returns nothing
if(TimerGetRemaining(t)<=0)then call StartTimerBJ(t,false,6.) call DisplayTextToForce( GetPlayersAll(), "Таймер равен 0 дамаг получен таймер запущен заново!" ) endif endfunction globals
real dmg=0 endglobals Сам триггер:
function Trig_Kraken_Shell_Test_Conditions takes nothing returns boolean return GetLearnedSkill()=='A00O' and IsUnitIllusion(GetTriggerUnit())==false endfunction function Kraken_Shell_Test_Main takes nothing returns nothing
local unit lfo=GetTriggerUnit() local real lf7=GetEventDamage() local timer t=GetLastCreatedTimerBJ() call StartTimerTest(t) if(TimerGetRemaining(t)<=0)then set dmg=0 call DisplayTextToForce(GetPlayersAll(),"Таймер равен 0 дамаг сброшен") else if(lf7>0)then if(dmg>600)then call DisplayTextToForce(GetPlayersAll(),"Дамаг равен 600 buff off дамаг сброшен") set dmg=0 call UnitRemoveBuffsBJ(bj_REMOVEBUFFS_NEGATIVE,lfo) call DestroyEffect(AddSpecialEffectTarget("Objects\\Spawnmodels\\Naga\\NagaDeath\\NagaDeath.mdl"​;,lfo,"origin")) else set dmg=dmg+lf7 call DisplayTextToForce(GetPlayersAll(),"Дамаг еще не равен 600 и 6 секунд еще не прошло!") endif endif endif endfunction function Trig_Kraken_Shell_Test_Actions takes nothing returns nothing
local trigger ltt if GetUnitAbilityLevel(GetTriggerUnit(),'A00O')==1 then set ltt=CreateTrigger() call TriggerRegisterUnitEvent(ltt,GetTriggerUnit(),EVENT_UNIT_DAMAGED) call TriggerAddAction(ltt,function Kraken_Shell_Test_Main) endif endfunction function InitTrig_Kraken_Shell_Test takes nothing returns nothing local trigger Kraken_Shell=CreateTrigger() call TriggerRegisterAnyUnitEventBJ(Kraken_Shell,EVENT_PLAYER_HERO_SKILL) call TriggerAddCondition(Kraken_Shell, Condition(function Trig_Kraken_Shell_Test_Conditions)) call TriggerAddAction(Kraken_Shell,function Trig_Kraken_Shell_Test_Actions) endfunction )) Это мой первый вариант! |
12.05.2013, 14:49 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|