[jass]
function CatBauble takes nothing returns nothing
local real UX = GetUnitX(udg_U)
local real UY = GetUnitY(udg_U)
local real UH = ( GetUnitFlyHeight(udg_U) + 1000.00 )
local real P
local real Q
local real array X
local real array Y
local real array Z
local integer A = 0
local integer B = 1
local integer C = 1
local integer N = 2
local integer K = 0
loop
exitwhen A > 36
if A<19 then
set N =(N + 1)
else
set N =(N - 1)
endif
loop
exitwhen B > N
set P = ((udg_DS/36.00 )*I2R(A))
set Q = (((2.00 * udg_DS)/I2R(N))*I2R(B))
set X[K] = (udg_R * (SinBJ(P) * CosBJ(Q)))
set Y[K] = (udg_R * (SinBJ(P) * SinBJ(Q)))
set Z[K] = (udg_R * CosBJ(P))
set K =(K+1)
set B =(B + 1)
endloop
set A =(A + 1)
endloop
loop
exitwhen C > 435
call MoveLightningEx(udg_SD1[C],false,(UX + X[C]),(UY + Y[C]),(UH + Z[C]),(UX + X[(C + 1)]),(UY + Y[(C + 1)]),(UH +Z[(C + 1)]))
call MoveLightningEx(udg_SD2[C],false,(UX + Z[C]),(UY + X[C]),(UH + Y[C]),(UX + Z[(C + 1)]),(UY + X[(C + 1)]),(UH +Y[(C + 1)]))
call MoveLightningEx(udg_SD3[C],false,(UX + Y[C]),(UY + Z[C]),(UH + X[C]),(UX + Y[(C + 1)]),(UY + Z[(C + 1)]),(UH +X[(C + 1)]))
set C=(C+1)
endloop
endfunction[/jass]
[ 本帖最后由 kkhoney 于 2008-4-29 18:39 编辑 ]