|
|
|
|
Когда юнит умирает выходит фатал.
|
|
demon_nrt | Дата: Воскресенье, 18 Августа 2013, 22:34:59 | Сообщение # 1 |
6 уровень
Группа: Проверенные
Сообщений: 193
Награды: 0
Репутация: 2
Блокировки:
| Помогите разобраться в коде. Смысл в том что пока именно герой направляющий способность жив то все нормально, но если он умирает под этой магией то выскакивает Fatal Eror
Вот код :
function Trig_Dusha_Conditions takes nothing returns boolean if ( not ( GetSpellAbilityId() == 'A04B' ) ) then return false endif return true endfunction function Timer_dush_Func009C takes nothing returns boolean local timer Dt = GetExpiredTimer() local integer h = GetHandleId(Dt) local unit Du = LoadUnitHandle(udg_Hash,h,1) local unit Du1 = LoadUnitHandle(udg_Hash,h,2) local location Dl = GetUnitLoc (Du) local location Dl1 = GetUnitLoc (Du1) if ( not ( R2I(DistanceBetweenPoints(Dl,Dl1)) >= 1000 )) then return false endif call RemoveLocation (Dl) call RemoveLocation (Dl1) set Dl = null set Dl1 = null return true endfunction
function Timer_dush_Func010C takes nothing returns boolean local timer Dt = GetExpiredTimer() local integer h = GetHandleId(Dt) local unit Du = LoadUnitHandle(udg_Hash,h,1) local unit Du1 = LoadUnitHandle(udg_Hash,h,2) if ( not ( IsUnitDeadBJ(Du) == true ) ) then return false endif if ( not ( IsUnitDeadBJ(Du1) == true ) ) then return false endif return true endfunction
function Timer_dush_Actions takes nothing returns nothing local timer Dt = GetExpiredTimer() local integer h = GetHandleId(Dt) local unit Du = LoadUnitHandle(udg_Hash,h,1) local unit Du1 = LoadUnitHandle(udg_Hash,h,2) local unit Du2 local location Dl = GetUnitLoc (Du) local real Di = LoadReal(udg_Hash,h,3) set Di = Di + 0.20 call SaveReal(udg_Hash,h,3,Di) set Di = LoadReal (udg_Hash,h,3) call CreateNUnitsAtLoc( 1, 'e007', GetOwningPlayer(Du), Dl, bj_UNIT_FACING ) set Du2 = GetLastCreatedUnit() call UnitApplyTimedLifeBJ( 1.00, 'BTLF', Du2 ) call UnitAddAbilityBJ( 'A04C', Du2 ) call IssueTargetOrderBJ( Du2, "shadowstrike", Du1 ) call UnitDamageTargetBJ( Du, Du1, I2R(GetUnitAbilityLevelSwapped('A04B', Du)), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL ) call UnitAddAbilityBJ( 'A04D', Du ) call SetUnitAbilityLevelSwapped( 'A04D', Du, R2I(Di )) if ( Timer_dush_Func009C() ) then call PauseTimer (Dt) call UnitRemoveAbilityBJ( 'A04D', Du ) set Du = null set Du1 = null set Du2 = null call RemoveLocation (Dl) set Dl = null else endif if ( Timer_dush_Func010C() ) then call DisplayTextToForce( GetPlayersAll(), "TRIGSTR_2622" ) call PauseTimer (Dt) call UnitRemoveAbilityBJ( 'A04D', Du ) set Du = null set Du1 = null set Du2 = null call RemoveLocation (Dl) set Dl = null else endif set Du = null set Du1 = null set Du2 = null call RemoveLocation (Dl) set Dl = null endfunction function Trig_Dusha_Actions takes nothing returns nothing local timer Dt = CreateTimer() local integer h = GetHandleId(Dt) local unit Du = GetSpellAbilityUnit() local unit Du1 = GetSpellTargetUnit() local real Di = 0 call SaveUnitHandle(udg_Hash,h,1,Du) call SaveUnitHandle(udg_Hash,h,2,Du1) call SaveReal(udg_Hash,h,3,Di) call TimerStart(Dt,0.20,true, function Timer_dush_Actions ) call PolledWait( ( 2.00 + I2R(GetUnitAbilityLevelSwapped('A04B', Du)) ) ) call UnitRemoveAbilityBJ( 'A04D', Du ) call PauseTimer (Dt) call DestroyTimer (Dt) set Dt = null set Du = null set Du1 = null set Di = 0.00 call FlushChildHashtable(udg_Hash,h) endfunction
//=========================================================================== function InitTrig_Dusha_____________________u takes nothing returns nothing set gg_trg_Dusha_____________________u = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_Dusha_____________________u, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( gg_trg_Dusha_____________________u, Condition( function Trig_Dusha_Conditions ) ) call TriggerAddAction( gg_trg_Dusha_____________________u, function Trig_Dusha_Actions ) endfunction
Сообщение отредактировал demon_nrt - Воскресенье, 18 Августа 2013, 22:48:24 |
|
|
|
Reckit | Дата: Понедельник, 19 Августа 2013, 07:52:32 | Сообщение # 2 |
3 уровень
Группа: Проверенные
Сообщений: 74
Награды: 0
Репутация: 7
Блокировки:
| Что то ты намудрил там.. Это всё можно на гуи сделать.
|
|
|
|
[SeKtOR] | Дата: Понедельник, 19 Августа 2013, 08:59:30 | Сообщение # 3 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| Скажи что ты хочешь сделать тут всё очень страшно...
|
|
|
|
demon_nrt | Дата: Понедельник, 19 Августа 2013, 13:19:02 | Сообщение # 4 |
6 уровень
Группа: Проверенные
Сообщений: 193
Награды: 0
Репутация: 2
Блокировки:
| Спасибо за столь великодушную помощь, но это то что я пока могу)) А смысл в том что появляется связь между нацеленным врагом и кастером в виде льда( снега) и ежесекундно наноситься до 50/100/150/200/250 ед. связь с каждой секундной увеличивает скорость атаки до 30/40/50/60/70%, уменьшает скорость движения врага до 10/20/30/40/50% в течении 7 сек. Если враг отойдет от цели на 1000 ед. то цепь разрушается. Длительность цепи 3/4/5/6/7 сек. Если сможете сделать с комментариями буду при много благодарен.
|
|
|
|
[SeKtOR] | Дата: Вторник, 20 Августа 2013, 14:28:55 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
| На днях если не будет влом постараюсь сделать...
Добавлено (20 Августа 2013, 14:28:55) --------------------------------------------- Цитата (demon_nrt) Спасибо за столь великодушную помощь, но это то что я пока могу)) А смысл в том что появляется связь между нацеленным врагом и кастером в виде льда( снега) и ежесекундно наноситься до 50/100/150/200/250 ед. связь с каждой секундной увеличивает скорость атаки до 30/40/50/60/70%, уменьшает скорость движения врага до 10/20/30/40/50% в течении 7 сек. Если враг отойдет от цели на 1000 ед. то цепь разрушается. Длительность цепи 3/4/5/6/7 сек. Если сможете сделать с комментариями буду при много благодарен. Баф продолжает висеть(понижение мс и повышение ас) если цепи кирдык? P.S. Если да то сколько?
Сообщение отредактировал [SeKtOR] - Вторник, 20 Августа 2013, 14:29:07 |
|
|
|
abidin | Дата: Вторник, 20 Августа 2013, 15:19:45 | Сообщение # 6 |
7 уровень
Группа: Проверенные
Сообщений: 330
Награды: 0
Репутация: 305
Блокировки:
| вообще этот код был написано не на jass (ну если написан то меньше половины) это можно заметить по названию функций и по условиям зачем конвертировать в текст GUI если можно показать код на gui????
Сообщение отредактировал abidin - Вторник, 20 Августа 2013, 15:20:20 |
|
|
|
demon_nrt | Дата: Среда, 21 Августа 2013, 06:36:51 | Сообщение # 7 |
6 уровень
Группа: Проверенные
Сообщений: 193
Награды: 0
Репутация: 2
Блокировки:
| Цитата (|SeKtOR|) Баф продолжает висеть(понижение мс и повышение ас) если цепи кирдык? P.S. Если да то сколько? Бафф сразу уничтожается. Юнит полностью восстанавливается от цепи.
|
|
|
|
abidin | Дата: Среда, 21 Августа 2013, 20:10:03 | Сообщение # 8 |
7 уровень
Группа: Проверенные
Сообщений: 330
Награды: 0
Репутация: 305
Блокировки:
| demon_nrt, сможешь кинуть оригинальный код,а не исковерканный?Так ничего не понятно
|
|
|
|
|
|
|
|
|
|
|