А можеш мой скрипт посмотреть , он рабочий только разница , у кого брал у него обычный комп у меня ноут , у него работает у меня постоянно unhandled exception in parser , да к стати бывает и надругих скриптах!
############################################################
# Офигенный скрипт на мининг ! V.1.12
# by =Alas=
# 04/9/2003
# Отредактирован by mavrik 25/6/2004. Спецальна для капания
# на Shadow zone
############################################################
#=== Основная идея:
# 1.Пользователь записывает путь в шахте,потом скрипт
# следует этому пути и капает под собой на каждом шагу
#=== Как его наладить ?
# 1.Создаешь Object TYPE называешь его "pickaxe",
# сопоставляешь его со своей киркой.
# 2.Идешь на место откуда хочешь начать капать и запускаешь
# record_path обходишь шахту и возвращаешься на место где
# где запустил запись(очень важно !!!!), говаришь "stop"
# Всплывает окно где записан твой путь копируешшь его в
# 'Var path="xxxx в go_mining sub.
# 3.Идешь на место где начал запись пути,Запускаешь go_mining sub
sub pe()
uo.usetype("0x19b9")
end sub
# И ждешь када он всё выкапает
############################################################
###Главная функция, нада настроить##########################
############################################################
sub go_mining()
var cycle=0
var path="4kl6ol6kl7ol6kl3ol7kl9ool9k2kl5oi2ol7ol9k3kl9o3ol9k3kl9oo5wk3iw2i"
#var path="2lo7io9lo9i9io9l9l2lo5io3lo2io2l"
#var path="6ik5lk7ik9l7lk9i8ik9l9l2lk9i9i2ik9l9l4l"
var test=0
var i=0
var j
UO.DeleteJournal()
While i<LEN(path)
if VAL(path[i]) then
j=VAL(path[i])
i=i+1
else
j=1
endif
Repeat
if test<>1 then
UO.DeleteJournal()
mine_spot()
end if
UO.Print("Здесь нехуя боьше капать !!!")
if not make_step(path[i]) then
UO.Print("Probably Stuck!")
UO.Print("Hope it is a Worldsave")
endif
j=j-1
Until j==0
i = i + 1
if cycle && i==LEN(path) then
i=0
endif
Wend
end sub
############################################################
# Ничё не менять ! #######################################
############################################################
sub mine_spot()
var maxMineTime=8000
var times=1
var timeout=1
While UO.InJournal("There is no")==0
UO.Print("Ну,где ты стоун оф шадовс ?!!!")
while not UO.Hidden()
UO.Warmode("0")
uo.print("hiding...")
UO.UseSkill("Stealth")
wait(4000)
wend
UO.DeleteJournal()
UO.WaitTargetTile("1339",STR(UO.GetX()),STR(UO.GetY()),"0")
UO.UseType("pickaxe")
timeout=0
times = times +1
if times>0 then
wait(1000)
times = 0
endif
Repeat
timeout=timeout+500
Wait(500)
#UO.Print("Waiting...")
Until UO.InJournal("You put") OR UO.InJournal("There is no") OR timeout>maxMineTime
Wend
return 0
end sub
############################################################
# Енто для записи пути####################################
############################################################
sub record_path()
var x
var y
var path=""
UO.DeleteJournal()
Repeat
x=UO.GetX()
y=UO.GetY()
if waitNewPos(x,y) then
path=path+extract_dir(x,y,UO.GetX(),UO.GetY())
endif
Until UO.InJournal("stop")
path = compressPath(path)
UO.TextClear()
UO.TextOpen()
UO.TextPrint("Your path is:")
UO.TextPrint(path)
end sub
############################################################
# Ничё не менять !########################################
############################################################
sub send_step(keycode,dir)
var x = UO.GetX()
var y = UO.GetY()
var timeout = 0
if UO.GetDir()<>dir then
UO.Press(keycode)
Repeat
wait(50)
Until UO.GetDir()==dir
endif
UO.Press(keycode)
Repeat
timeout=timeout+50
wait(50)
Until x<>UO.GetX() || y<>UO.GetY() || timeout>2000
if timeout>2000 then
return 0
endif
return 1
end sub
############################################################
# Ничё не менять !########################################
############################################################
sub waitNewPos(x,y)
while x==UO.GetX() && y==UO.GetY()
if UO.InJournal("stop") then
return 0
endif
wend
return 1
end sub
sub compressPath(path)
Var i=0
Var j=0
Var newPath=""
while i<LEN(path)
j=1
while path[i]==path[i+1] AND j<9
i=i+1
j=j+1
wend
if j==1 then
newPath=newPath+path[i]
else
newPath=newPath+STR(j)+path[i]
endif
i=i+1
wend
return newPath
end sub
sub extract_dir(x,y,a,b)
if x>a then
if y==b then
return "i"
else
if y>b then
return "n"
else
return "w"
endif
endif
else
if x<a then
if y==b then
return "l"
else
if y>b then
return "e"
else
return "s"
endif
endif
else
if y>b then
return "o"
else
return "k"
endif
endif
endif
end sub
sub make_step(dir)
if dir=="e" then
send_step(39,1)
return 1
endif
if dir=="l" then
send_step(34,2)
return 1
endif
if dir=="s" then
send_step(40,3)
return 1
endif
if dir=="k" then
send_step(35,4)
return 1
endif
if dir=="w" then
send_step(37,5)
return 1
endif
if dir=="i" then
send_step(36,6)
return 1
endif
if dir=="n" then
send_step(38,7)
return 1
endif
if dir=="o" then
send_step(33,0)
return 1
endif
if dir=="d" then
While UO.Count("0x19b9")
UO.Drop("0x19b9")
wait(2000)
Wend
wait(600)
return 1
endif
UO.Print("Recall Time!")
return 0
end sub
sub pereplavka()
pere:
uo.usetype ("ruda")
wait(400)
goto pere
end sub