Yoko

All sides of Injection
It is currently 2026-01-16 19:59:51

All times are UTC+02:00




Post new topic  Reply to topic  [ 3 posts ] 
Author Message
PostPosted: 2004-08-11 09:10:18 
Offline

Joined: 2004-08-11 08:32:39
Posts: 9
в общем есть такой скрипт:

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) скрипт продолжает копать дальше хотя руда есть там ещё....
что можна сделать?


Top
   
 Post subject:
PostPosted: 2004-08-11 16:35:01 
Offline
Expert!

Joined: 2004-04-25 11:11:07
Posts: 359
юзай тэг code для поста скриптов более чем 5-и строк в длинну. Потому что лично я даже не могу читать длинную неформатированную программу, не то что ошибки там искать...
Code:
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

_________________
Без труда не выловишь и рыбку из пруда,
А без пруда не выловишь её и с трудом...


Top
   
 Post subject:
PostPosted: 2004-08-11 18:03:35 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Lord Ruslan Nightmare wrote:
юзай тэг code для поста скриптов более чем 5-и строк в длинну. Потому что лично я даже не могу читать длинную неформатированную программу, не то что ошибки там искать...
Code:
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". Скрипт древний, но он работал стабильно (это на самом деле функция большого скрипта, я ее в свое время просто вырубил для кого-то). Тут что-то другое...


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 3 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited