в общем есть такой скрипт:
sub minround()
VAR Kirka = '0x0E85' ; Тип Кирки
VAR MaxVes = 815 ; Максимальный вес, подымаемый чаром минус 10-15 стоунов
VAR TileNum = '1339' ; Тайл пола пещеры (наиболее распространенный тип)
VAR x, y, t, k
VAR MaxTime = 100 ; измеряется в 1/10 сек.
VAR ms1 = "There is"
VAR ms2 = "You can't use"
VAR ms3 = "You put the"
VAR ms4 = "You fail to find any useable ore"
VAR ms5 = "You are too far away"
VAR ms6 = "Try mining"
VAR ms7 = "You can't"
for y=-2 to 2
for x=-2 to 2
k = 0
repeat
UO.DeleteJournal()
t = UO.Timer()
k = k + 1
UO.CancelTarget()
wait(900)
UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
UO.UseType( Kirka )
repeat
wait(300)
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 UO.InJournal('You put') OR ((t + MaxTime) < UO.Timer())
If UO.Weight > MaxVes Then
; Вес превышен!
UO.Print(" Overweight!" )
return
Endif
until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) )
next
next
uo.print('Скрипт закончен')
endsub
при неудачной попытке выкопать руду( над чаром появляется сообщение You loosen some rocks but fail to find any useable ore) скрипт продолжает копать дальше хотя руда есть там ещё....
что можна сделать?
Надо разобраться с сообщениями
Moderators: Murderator+, Murderator
-
- Expert!
- Posts: 359
- Joined: 2004-04-25 11:11:07
- Contact:
юзай тэг code для поста скриптов более чем 5-и строк в длинну. Потому что лично я даже не могу читать длинную неформатированную программу, не то что ошибки там искать...
Code: Select all
sub minround()
VAR Kirka = '0x0E85' ; Тип Кирки
VAR MaxVes = 815 ; Максимальный вес, подымаемый чаром минус 10- 15 стоунов
VAR TileNum = '1339' ; Тайл пола пещеры (наиболее распространенный тип)
VAR x, y, t, k
VAR MaxTime = 100 ; измеряется в 1/10 сек.
VAR ms1 = "There is"
VAR ms2 = "You can't use"
VAR ms3 = "You put the"
VAR ms4 = "fail to find any useable ore";<- ошибка была тут. Сообщение начинается как You loosen, а не как You fail
VAR ms5 = "You are too far away"
VAR ms6 = "Try mining"
VAR ms7 = "You can't"
for y=-2 to 2
for x=-2 to 2
k = 0
repeat
UO.DeleteJournal()
t = UO.Timer()
k = k + 1
UO.CancelTarget()
wait(900)
UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
UO.UseType( Kirka )
repeat
wait(300)
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 UO.InJournal('You put') OR ((t + MaxTime) < UO.Timer())
If UO.Weight > MaxVes Then
; Вес превышен!
UO.Print(" Overweight!" )
return
Endif
until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) )
next
next
uo.print('Скрипт закончен')
endsub
Без труда не выловишь и рыбку из пруда,
А без пруда не выловишь её и с трудом...
А без пруда не выловишь её и с трудом...
Lord Ruslan Nightmare wrote:юзай тэг code для поста скриптов более чем 5-и строк в длинну. Потому что лично я даже не могу читать длинную неформатированную программу, не то что ошибки там искать...Code: Select all
sub minround()
VAR Kirka = '0x0E85' ; Тип Кирки
VAR MaxVes = 815 ; Максимальный вес, подымаемый чаром минус 10- 15 стоунов
VAR TileNum = '1339' ; Тайл пола пещеры (наиболее распространенный тип)
VAR x, y, t, k
VAR MaxTime = 100 ; измеряется в 1/10 сек.
VAR ms1 = "There is"
VAR ms2 = "You can't use"
VAR ms3 = "You put the"
VAR ms4 = "fail to find any useable ore";<- ошибка была тут. Сообщение начинается как You loosen, а не как You fail
VAR ms5 = "You are too far away"
VAR ms6 = "Try mining"
VAR ms7 = "You can't"
for y=-2 to 2
for x=-2 to 2
k = 0
repeat
UO.DeleteJournal()
t = UO.Timer()
k = k + 1
UO.CancelTarget()
wait(900)
UO.WaitTargetTile( TileNum, STR( UO.GetX() + x ), STR( UO.GetY() + y ), 0)
UO.UseType( Kirka )
repeat
wait(300)
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 UO.InJournal('You put') OR ((t + MaxTime) < UO.Timer())
If UO.Weight > MaxVes Then
; Вес превышен!
UO.Print(" Overweight!" )
return
Endif
until ( NOT UO.InJournal(ms4) AND NOT UO.InJournal(ms3) OR (k > 10) )
next
next
uo.print('Скрипт закончен')
endsub
Ты неправ. Там можно же только часть мессаги указывать, именно так и было сделано. У него же выскакивает "You loosen some rocks but fail to find any useable ore". Скрипт древний, но он работал стабильно (это на самом деле функция большого скрипта, я ее в свое время просто вырубил для кого-то). Тут что-то другое...