В общем, ходить - ходит, копать - копает, а вот гвардов и людей не определяет, почему-то сообщения при появлении людей или гвардов стираются из журнала и больше ничего не происходит. Скрипты на проверку людей и гвардов срабатывают при сообщении содержащем двоеточие(:), сделал чтобы если появилось : и это не гвард то скрипт определения гвардов в журнале сообщения с : не стирает и наоборот со скриптом людей. В мининге тоже стираются только сообщения которые он использует.
Мининг:Code:
sub Mining()
var circle, x, y, msg = 'put the|fail|far away|loosen|no ore|no line|try mining'
while not uo.dead()
for x = -2 to 2
for y = -2 to 2
circle = 0
mine:
Deljournal(msg + 'put the iron|put the Marble|Success')
if uo.getglobal('pause') == '1' then
while not uo.getglobal('pause') == '0'
wait(100)
wend
endif
uo.waittargettile(1339, uo.getx() + x, uo.gety() + y, uo.getz())
uo.usetype(0x0E85, 0x048C)
wait(500)
if not uo.LastGump('replyed') and uo.LastGump('text', 0) == 'Antimacros System' then
while not uo.injournal('Success')
AntiMacros()
wait(500)
wend
uo.canceltarget()
goto mine
endif
while not uo.injournal(msg)
wait(100)
wend
if uo.injournal('put the iron|put the Marble') then
circle = circle + 1
else
if uo.injournal('put the') then
circle = 2
endif
endif
if not uo.injournal('far away|no ore|no line|try mining') and not circle > 1 then
goto mine
endif
next
next
Walk()
wend
end sub
Люди:Code:
sub TPlayers()
var intruder, msg = (':')
intruder = 0
while not uo.getgraphic(intruder) == '0x0190' or uo.getgraphic(intruder) == '0x0191'
if not uo.getgraphic(intruder) == '0x000e' then
DelJournal(msg)
endif
repeat
wait(100)
until uo.injournal(msg)
intruder = uo.journalserial(uo.injournal(msg) - 1)
wend
uo.unequip('Rhand')
uo.exec('terminate Mining')
uo.exec('terminate TGuardians')
uo.exec('terminate THide')
IRecall()
end sub
Гварды:Code:
sub TGuardians()
var intruder, msg = (':')
while not uo.dead()
intruder = 0
while not uo.getgraphic(intruder) == '0x000e'
if not uo.getgraphic(intruder) == '0x0190' and not uo.getgraphic(intruder) == '0x0191' then
Deljournal(msg)
endif
repeat
wait(100)
until uo.injournal(msg)
intruder = uo.journalserial(uo.injournal(msg) - 1)
wend
uo.waittargetobject(intruder)
uo.usetype(0x1F2D, 0x02E3)
wend
end sub
Трекинг:Code:
sub THide()
var timer, msg = ('no signs')
check:
if uo.hidden() then
goto check
endif
DelJournal(msg)
uo.setglobal('pause', '1')
uo.unequip('Rhand')
uo.warmode(1)
uo.warmode(0)
uo.waitmenu('Tracking', 'Humans')
uo.useskill('Tracking')
timer = uo.timer()
wait(500)
if uo.injournal(msg) then
while not uo.hidden()
uo.useskill('Stealth')
wait(2500)
wend
uo.setglobal('pause', '0')
goto check
else
uo.exec('terminate Mining')
uo.exec('terminate TGuardians')
uo.exec('terminate TPlayers')
IRecall()
uo.print('Tracking!')
endif
end sub