Добавлен Nikolay36
Здрасьте =) Есть ли ошибка в данном коде в сетевой игре?
function Natsu_Kulak_B takes nothing returns nothing
local timer t = GetExpiredTimer()
local integer h = GetHandleId(t)
local unit u = LoadUnitHandle(H,h,0)
local real time = LoadReal(H,h,1)
local unit c = LoadUnitHandle(H,h,2)
local real r = LoadReal(H,h,3)
local real x = GetWidgetX(c) + 100*Cos(GetUnitFacing(u) * 0.0174)
local real y = GetWidgetY(c) + 100*Sin(GetUnitFacing(u) * 0.0174)
if r < 0 then
call SetUnitAnimation(u,"Stand")
if IsTerrainPathable(GetUnitX(c),GetUnitY(c), PATHING_TYPE_WALKABILITY) == true then
else
call SetUnitPosition(c,x,y)
endif
else
call SetUnitAnimation(u,"Spell Channel")
call UnitDamageTarget(u,c,5,true,true,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_FIRE,WEAPON_TYPE_WHOKNOWS)
call SaveReal(H,h,3,r - 0.1)
endif
if time < 0 or GetWidgetLife(u)<40 or GetWidgetLife(c)<40 then
call PauseUnit(c,false)
call PauseUnit(u,false)
call SetUnitAnimation(u,"Stand")
if GetWidgetLife(c)<40 then
call KillUnit(c)
endif
call PauseTimer(t)
call FlushChildHashtable(H,(h))
call DestroyTimer(t)
else
call SaveReal(H,h,1,time - 0.1)
endif
set u = null
set c = null
set t = null
endfunction
function Natsu_Kulak_A takes nothing returns nothing
local timer t = CreateTimer()
local integer h = GetHandleId(t)
local unit u = GetTriggerUnit()
local unit c = GetSpellTargetUnit()
call PauseUnit(c,true)
call PauseUnit(u,true)
call SaveUnitHandle(H,h,0,u)
call SaveReal(H,h,1,6)
call SaveUnitHandle(H,h,2,c)
call SaveReal(H,h,3,5)
call TimerStart(t,0.1,true, function Natsu_Kulak_B)
set u = null
set c = null
set t = null
endfunction
function Natsu_Kulak_if takes nothing returns boolean
return GetSpellAbilityId() == 'A019'
endfunction
function Natsu_Kulak takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ( t , EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( t , Condition(function Natsu_Kulak_if) )
call TriggerAddAction(t, function Natsu_Kulak_A)
set t = null
endfunction
Принятый ответ
Nikolay36, сделай нормальный период, глазам же больно. И вообще для наземных юнитов лучше использовать проверку проходимости через предмет
А если не пытаться улучшать код, то проблем с сетью не должно быть
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. Nikolay36
Ред. Nikolay36