Code:
Sub addObjectWait(name,timeout)
var timeLeft
repeat
UO.AddObject(name,0)
if UO.waiting() then
UO.canceltarget()
endif
uo.AddObject(name)
timeLeft = timeout
while (NOT UO.Targeting()) AND (timeLeft>0)
wait(50)
timeLeft = timeLeft -50
wend
while (UO.Targeting()) AND (timeLeft>0)
wait(50)
timeLeft = timeLeft -50
wend
until (timeLeft>0) OR (timeout<=0) AND (UO.GetSerial(name)<>'0x00000000')
return UO.GetSerial(name)
Endsub
Не не работает. Мож дело в этом return addObjectWait(name,timeout) и return UO.GetSerial(name). Он начинает потому что без конца возвращать мне сериал и все вообще подвисает
Code:
Sub addOrGetObject(name,distance,timeout)
var oldObject = UO.GetSerial(name)
if (( oldObject<>('0x00000000')) AND (UO.GetDistance(oldObject)<=distance) OR (distance==-1)) then
return oldObject
else
return addObjectWait(name,timeout)
endif
Endsub