Sub main()
var Book = '0x0EFA'
if (uo.GetGraphic(uo.ObjAtLayer('Rhand')) <> Book) then
uo.unequip('Rhand')
uo.equip('Rhand','0x403E08F0')
end if
...............
не работает, только если поставить задержку в 400, что неприемлемо
Sub main()
var Book = "0x0EFA"
if (uo.GetGraphic(uo.ObjAtLayer('Rhand')) <> Book) then
uo.unequip('Rhand')
repeat
wait(10)
until uo.GetGraphic(uo.ObjAtLayer('Rhand') == ""
uo.equip('Rhand','0x403E08F0')
end if
end sub
Даже, если подумать, uo.GetGraphic(uo.ObjAtLayer('Rhand')) <> Book если в руках ничего нет то тоже будет это условие и он будет выполнять uo.unequip('Rhand') В этом случае нужно
Sub main()
var Book = "0x0EFA"
if uo.GetGraphic(uo.ObjAtLayer('Rhand') <> Book and uo.GetGraphic(uo.ObjAtLayer('Rhand') <> "" then
uo.unequip('Rhand')
repeat
wait(10)
until uo.GetGraphic(uo.ObjAtLayer('Rhand') == ""
end if
uo.equip('Rhand','0x403E08F0')
end if
end sub
var Book = "0x0EFA"
sub main()
var x = uo.GetGraphic(uo.ObjAtLayer('Lhand'))
var y = uo.GetGraphic(uo.ObjAtLayer('Rhand'))
if x <> '' then
uo.unequip('Lhand')
repeat
wait(100)
until x<>''
end if
if y <> Book then
uo.unequip('Rhand')
repeat
wait(100)
until y<>''
uo.Equipt('Rhand',Book)
end if
end sub
Задержка 300 минимальна для перемещения предметов на 56 сфере. Это вшито в сервере и не обойти.