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 сфере. Это вшито в сервере и не обойти.