sub kopat()
VAR ms1 = "There is no ore here to mine"
VAR ms2 = "You can't use"
VAR ms3 = "You put the"
VAR ms4 = "You loosen"
VAR ms5 = "You have no"
VAR ms6 = "Ooo ia inoaeinu"
VAR ms7 = "Oi.."
VAR TileNum = '400'
VAR Kirka = 0x0f39
var x,y,k,q,xs,ys,zs,xt,yt,coords
UO.DeleteJournal()
for y=-2 to 2
for x=-2 to 2
repeat
xs = UO.GetX()
ys = UO.GetY()
zs = UO.GetZ()
xt = xs + x
yt = ys + y
q=0
UO.DeleteJournal()
uo.waittargettile('0',str(xt),str(yt),str(zs))
UO.UseType( Kirka )
repeat
q=q+1
wait(200)
until UO.InJournal(ms1) OR UO.InJournal(ms2) OR UO.InJournal(ms3) OR UO.InJournal(ms4) OR UO.InJournal(ms5) OR UO.InJournal(ms6) OR UO.InJournal(ms7) OR (q>50)
until ( UO.InJournal(ms6) AND UO.InJournal(ms7))
next
next
end sub
Кто подскажет, в чем ошибка? То не капает, то покапает и перестанет.
Last edited by Mafia on 2012-04-15 11:40:47, edited 1 time in total.
Сообщения в журнале проверял? Может отличаются от сообщений на твоем сервере.
Тип кирки не верный (если склероз не изменяет, то вписан тип топора), тип тайла не указан.
Если нужна обкопка, я всегда беру за основу этот скрипт.
И совет тебе. У нас на форуме принято скрипты обрамлять тегом Code.
Спасибо всем, у кого учился!
Меня трудно найти, легко потерять, и невозможно забыть. Я - рабочий исходник!
Сообщения проверял, тем более если он копает, то действительно начинает копать заного когда выкапывает. Тип - лопата, просто назвал неудачно, не суть важно тем более, что с киркой также не работает. Тип тайла указывал самый разный, но дело в том, что его не угадаешь. Тем более скрипт иногда работает и он начинает копать - копает пару раз и останавливается. Проблема в том, что он не всегда вообще начинает и бросает после нескольких попыток.
Если "то копает, то не копает" значит стопроцентно виноваты сообщения - пролетает какая то месага которой нет в списке и скрипт вырубается. Типо "это слишком далеко".
В коде специально на этот случай стоит параметр q, даж если сообщения не воспринимаются - через определённое время цикл останавливается. Но чар даже первого удара не делает. Или делает, но потом останавливается, хотя тайл не выкопан.