привет народ. есть не большой скрипт на мининг, но есть чорные дыры в скрипте. По идее как докапает до веса 650, то должен реколитца к сундуку - но перс делает что то неведомое.
sub main()
var my, mx,i,j
while (not uo.dead())
mx = UO.GetX("self")
my = UO.GetY("self")
tohide()
for i = mx-3 to mx+3
for j = my-3 to my+3
kopka(i,j)
UO.Print("Копаем в: "+str(mx-i)+" "+str(my-j))
next
next
wend
end sub
sub kopka(i,j)
VAR MaxWeight=650
VAR Pic="0x0E85"
if UO.Weight>=MaxWeight then
uo.WaitGump(21)
uo.UseObject(0x41518126)
endif
loot()
uo.WaitGump(94)
uo.UseObject(0x41518126)
mx = UO.GetX("self")
my = UO.GetY("self")
wait(10000)
if not UO.GetX("self") <> mx and not UO.GetY("self") <> my then
????????????????????????????????????????????????????????????????????
while (not uo.injournal("no ore")) and (not uo.injournal("in rock")) and (not uo.injournal("You have no line")) and (not uo.injournal("trhtrhr")) and (not uo.injournal ("That is too far"))
tohide()
UO.Waittargettile("1339", str(i), str(j),"0")
UO.Usetype (Pic)
uo.deletejournal()
while (not uo.injournal("fail")) and (not uo.injournal("put")) and (not uo.injournal("You have no line")) and (not uo.injournal("elemental")) and (not uo.injournal("no ore")) and (not uo.injournal("in rock")) and (not uo.injournal ("That is too far"))
wait(100)
wend
wend
uo.deletejournal()
end sub
sub main()
var x, y, Pic = "0x0E85", MaxWeight = 650, msg = "fail|put|You have no line|elemental|no ore|in rock|That is too far", endmsg = "You have no line|elemental|no ore|in rock|That is too far"
while not uo.dead()
tohide()
for x = -3 to 3
for y = -3 to 3
repeat
uo.deletejournal(msg)
UO.Print("Копаем в: " + str(uo.getx() + x) + " " + str(uo.gety() + y))
uo.waittargettile(1339, uo.getx() + x, uo.gety() + y, uo.getz())
UO.Usetype(Pic)
repeat
wait(100)
until uo.injournal(msg) or uo.dead()
until uo.injournal(endmsg) or UO.Weight >= MaxWeight or uo.dead()
if uo.dead() then
uo.print("You Dead!")
uo.exec("Terminate all")
end if
if UO.Weight >= MaxWeight then
elemcheck()
uo.useskill("Hiding")
uo.WaitGump(21)
uo.UseObject(0x41518126)
wait(10000)
loot()
uo.WaitGump(94)
uo.UseObject(0x41518126)
wait(10000)
tohide()
end if
next
next
wend
end sub
Last edited by Incorrect User on 2017-05-25 20:06:51, edited 8 times in total.
спасиб что нашёл время. но перс почему то реколитца с любым весом, не обращая внимание на - MaxWeight = 50 и if UO.Weight>=MaxWeight then
uo.WaitGump(21)
uo.UseObject(0x40018126)
а потом когда обратно прилетает - копнёт один раз и вылетает ошибка линия 29 - runtime error - invalid operation for this type
Какое же это обратно, если оно посреди копки вставлено и без всяких условий? Я уже понял что ты вообще не понимаешь что к чему. Давай просто по порядку напиши что и как должно быть, я сделаю.
sub Needhelp()
UO.Print( "User, need your help!" )
wait(50)
endsub
В общем перс начинает копать в забое, набирает 650 веса - срабатывает рекк к дому - дальше процедура loot() - выгрузился ок - полёт в забой обратно - и так по кругу.