Приветствую!
Я долго ломал голову, пока не определил, что если цель не видно, то и молнию создать нет возможности.
Объясните, пожалуйста, почему, если я не вижу цель, то молния не создается, а если вижу, то создается, как обойти эту проблему?
Есть ли ещё какие-то подводные камни с другими функциями видно не видно?
Я долго ломал голову, пока не определил, что если цель не видно, то и молнию создать нет возможности.
Объясните, пожалуйста, почему, если я не вижу цель, то молния не создается, а если вижу, то создается, как обойти эту проблему?
Есть ли ещё какие-то подводные камни с другими функциями видно не видно?
function Start takes nothing returns nothing
//local timer t=CreateTimer()
//local integer id=GetHandleId(t)
local unit u = gg_unit_hhes_0000
local unit u2 = gg_unit_hcth_0001
//local lightning l = AddLightningLoc( "CLPB", GetUnitLoc(u), GetUnitLoc(u))
local lightning l
local location locU
local location locU2
local real x1
local real x2
local real y1
local real y2
local real z1 = 50
local real lx
local real ly
local real lz = 50
local location ul=GetUnitLoc(u)
call BJDebugMsg(GetUnitName(u))
//set l = AddLightningLoc( "CLPB", GetUnitLoc(u), GetUnitLoc(u))
set l = AddLightningEx("CLPB", true, GetLocationX(ul), GetLocationY(ul), GetLocationZ(ul), GetLocationX(ul), GetLocationY(ul), GetLocationZ(ul))
if l==null then
call BJDebugMsg("l=null")
else
call BJDebugMsg("l=ok")
endif
set l = AddLightningEx("CLSB", true, GetLocationX(ul), GetLocationY(ul), GetLocationZ(ul), GetLocationX(ul), GetLocationY(ul), GetLocationZ(ul))
if l==null then
call BJDebugMsg("l=null")
else
call BJDebugMsg("l=ok")
endif
set l = AddLightningEx("HWPB", true, GetLocationX(ul), GetLocationY(ul), GetLocationZ(ul), GetLocationX(ul), GetLocationY(ul), GetLocationZ(ul))
if l==null then
call BJDebugMsg("l=null")
else
call BJDebugMsg("l=ok")
endif
set l = AddLightningEx("CHIM", true, GetLocationX(ul), GetLocationY(ul), GetLocationZ(ul), GetLocationX(ul), GetLocationY(ul), GetLocationZ(ul))
if l==null then
call BJDebugMsg("l=null")
else
call BJDebugMsg("l=ok")
endif
call SetLightningColor(l, 1, 0, 0, 1)
set locU = GetUnitLoc(u)
set x1 = GetLocationX(locU)
set y1 = GetLocationY(locU)
set locU2= GetUnitLoc(u2)
set x2 = GetLocationX(locU2)
set y2 = GetLocationY(locU2)
call MoveLightningEx(l, true, x1, y1, z1, x2, y2, lz)
call BJDebugMsg("УСПЕШНО")
endfunction
//===========================================================================
function InitTrig_l takes nothing returns nothing
set gg_trg_l = CreateTrigger( )
call TriggerRegisterTimerEventSingle( gg_trg_l, 3 )
call TriggerAddAction( gg_trg_l, function Start )
endfunction
Принятый ответ
native AddLightningEx takes string codeName, boolean checkVisibility, real x1, real y1, real z1, real x2, real y2, real z2 returns lightning
Второй аргумент на false нужно, наверное
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ты совершенно прав, это работает