Ну вон у тебя там for a=1 to 38 - на нем бывают как раз косяки. какой нито 10 символ выбивает - после ничего уже не будет работать.
А так не работает? Зачем фогет, терминат...
Code:
UO.Set('finddistance', '2')
UO.FindType(body,'-1','ground')
if UO.FindCount()>0 and Uo.GetDistance('finditem')<=2 then
uo.useobject('finditem')
wait(300)
corpse = uo.getSerial("finditem")
uo.waittargetobject(corpse)
uo.usetype(nozh)
wait(500)
uo.warmode(1)
for a=1 to 38
repeat
uo.findtype(R[a],"-1",corpse)
if UO.FindCount()>0 then
if Uo.GetDistance(corpse)<=2 then
UO.Grab("0","finditem")
wait(350) ; тут чуть дольше надо а лучше проверку на перемещение поставить
else
waitfowcorpsedistance(corpse) ; хм :roll:
end if
end if
until UO.FindCount()<1
next
PUTLoot(-1, '0x0991', corpse, 'backpack') ; руин цвет
; uo.forget(corpse)
UO.Ignore(corpse)
; else
; UO.Exec('terminate all')
end if
; uo.print ('Готово')
end subя щаз пользуюсь чем то типо такого:
Code:
#### в автозапуск запихать###
sub Lootrunning()
uo.setGlobal("running",1)
end sub
################
Sub REZ() ; запускаемый скрипт
UO.Set('quiet','1')
if val(uo.getGlobal('running'))==1 then
uo.setGlobal('running',2)
uo.findtype(body, -1, 'ground', 2) ; новая фикша - ищет на указанном растоянии
if uo.findcount() then
corpse = uo.getSerial("finditem")
UO.WaitTargetObject(corpse)
;UO.UseType(NCleaver, '0x0483')
UO.UseType(Cleaver)
wait(400)
uo.setGlobal('running',1)
Loot(corpse)
endif
endif
uo.setGlobal('running',1)
UO.Set('quiet','0')
end sub
Sub Loot(corpse)
;uo.ignorereset()
UO.Set('quiet','1')
if val(uo.getGlobal('running'))==1 then
uo.setGlobal('running',2)
IF Uo.GetDistance(corpse) <= 3 then
uo.useobject(corpse)
wait(300)
IgnorHair(corpse) ; игнорим волосы - внешняя процедура, тут нет в примере.
PUTLoot('-1', '-1', corpse, 'backpack','','','') ; щаз все пригождается.
; PUTLoot('0x1869', '-1', corpse, 'backpack','','','')
; PUTLoot(hides, '-1', corpse, 'backpack','','','')
; PUTLoot('0x09F1', '-1', corpse, 'backpack','','','')
endif
UO.Hide(corpse) ; спрятали с глаз долой
UO.Ignore(corpse) ; забыли
uo.setGlobal("running",1)
endif
UO.Set('quiet','0')
end sub
На хоаткеях терминатор, игнорересенд, автолоад (установка глобалок на начальное значение) для повторного облута.