Вот кусок скрипта на обкопку:
Code: Select all
sub Obkopka()
VAR mx, my, mz, a, b, c, d, e, f
while not uo.dead()
if uo.injournal('GM') or uo.injournal('Admin') or uo.injournal('Seer') or uo.injournal('Counselor') or uo.injournal('Developer') then
uo.usetype('0x0F08')
uo.closeuo()
else
wait(50)
endif
uo.deletejournal()
mx = uo.getx('self')
my = uo.gety('self')
mz = uo.getz('self')
for a = mx-2 to mx+2
for b = my-2 to my+2
while not uo.Hidden()
c = 0
uo.warmode('0')
uo.useskill('Stealth')
repeat
wait(100)
c = c + 1
until uo.Hidden() or c > 40
wend
uo.print('!!!КОПАЕМ ТУТ!!!>>> : '+str(mx-a)+' '+str(my-b))
d = val(uo.getglobal('place')) + 1
uo.setglobal('place', str(d))
while not uo.injournal('no ore here') and not uo.injournal('location') and not uo.injournal('far away') and not uo.injournal('in rock') and not uo.injournal('You broke')
if uo.injournal('GM') or uo.injournal('Admin') or uo.injournal('Seer') or uo.injournal('Counselor') or uo.injournal('Developer') then
uo.usetype('0x0F08')
uo.closeuo()
else
wait(50)
endif
uo.deletejournal()
if uo.waiting() then
uo.canceltarget()
else
wait(50)
endif
uo.waittargettile('1341', str(a), str(b), str(mz))
uo.usetype('0x0E85') #тип кирки#
while not uo.injournal('You put') and not uo.injournal('location') and not uo.injournal('no ore') and not uo.injournal('but fail') and not uo.injournal('far away') and not uo.injournal('in rock') and not uo.injournal('You broke')
wait(500)
wend
uo.setglobal('find', '1')
wait(200)
uo.set('finddistance', '7')
uo.findtype('0x000E', '-1', '1') #тип элементаля#
if uo.findcount() > 0 then
uo.setglobal('find', '0')
uo.usetype('0x0F08')
uo.exec('exec Teleportation')
uo.exec('terminate CheckingPlayers')
return
else
uo.setglobal('find', '0')
endif
if val(uo.getglobal('place')) > 25 then
uo.setglobal('place', '1')
uo.exec('exec ChengePlace')
return
else
wait(50)
endif
if uo.weight > 600 then #максимальный вес#
uo.setglobal('back', '1')
uo.exec('terminate CheckingPlayers')
GoHome()
CheckingItems()
Teleportation()
Back()
uo.exec('exec CheckingPlayers')
else
wait(50)
endif
wend
if uo.injournal('GM') or uo.injournal('Admin') or uo.injournal('Seer') or uo.injournal('Counselor') or uo.injournal('Developer') then
uo.usetype('0x0F08')
uo.closeuo()
else
wait(50)
endif
uo.deletejournal()
next
next
wend
end sub
Ну или может нужно что в антимакросе подправить? Вот антимакрос:
Code: Select all
sub OneClick()
dim reindex[8]
reindex[0] = 11
reindex[1] = 12
reindex[2] = 13
reindex[3] = 10
reindex[4] = 16
reindex[5] = 14
reindex[6] = 17
reindex[7] = 15
var GumpID = 0
var ButtonID = 0
var ButtonText
var i = 18
if uo.LastGump('text', 4) <> "0" then
i = 19
end if
GumpID = val(Mid(uo.LastGump('command', i), 16, 4))
ButtonID = reindex[GumpID-2225]
ButtonText = uo.LastGump('command', ButtonID)
uo.LClick(Val(Mid(ButtonText, 7, 3)), Val(Mid(ButtonText, 11, 3)))
while not uo.LastGump('replyed')
wait(100)
wend
end sub
sub AntiMacro()
while not uo.Dead()
if not uo.LastGump('replyed') then
if uo.LastGump('text', 0) == 'Antimacros System' then
OneClick()
wait(100)
end if
endif
wait(500)
wend
end sub
Заранее благодарен!
