Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Очередная проблема.

тут можно задать вопрос по скриптингу
Post Reply
Antarius
Neophyte
Neophyte
Posts: 45
Joined: 24.06.2005 20:03

Очередная проблема.

Post by Antarius »

Вот скрипт на Tinkering (он ставит трапы), всё нормально идет, но всегда через 5-20 минут, просто глохнит. Чар стоит нечего не делает, скрипт при этом запущен, но он нечего не делает. Если скрипт перезапустить, то всё равно будет "дуплить". А если в логаут и перезапустить скрипт, тогда начнет делать и опять зависнит, через 5-20мин. И так по кругу. Помогите, пожауйста, в чем беда ?

Code: Select all

Program Traps;
var t,i : Integer;

{$Include 'all.inc'} 

procedure Make;
var b : TDateTime;
Begin
UseObject(FindType($1EB9,backpack));
WaitTargetGround($1BF2);
WaitGump('4402')
   repeat   
   b:=Now;
   wait (500);
   until WaitJournalLine(b, 'select the container you wish to place a trap on|That chest is already trapped.',5000);
WaitTargetObject($4FAF85C2);
wait(3000);

end;




Begin
SetARStatus(true);
Hungry(1,ground);
while not Dead do
begin
waitconnection(3000);
    for t := 0 to 100 do
    begin
CheckSave;
CheckTargetError(5, 2);
grab_in_backpack($1BFB);
  Make;
  end;
   CheckSave;
    Hungry(1,ground);
end;
End.
Miralex
Developer
Developer
Posts: 656
Joined: 11.03.2005 19:12
Contact:

Post by Miralex »

Code: Select all

   repeat    
   b:=Now; 
   wait (500); 
   until WaitJournalLine(b, 'select the container you wish to place a trap on|That chest is already trapped.',5000); 
В случае, если в течении 5 секунд ф-ция WaitJournalLine не увидит нужную фразу - она вернет False.

А конструкция:

Code: Select all

repeat
....
until False;
Будет зациклена навечно.

Т.е получается, что этот код зациклится, если в течении 5 секунд ты не получишь нужную фразу.


Поставь в таймаут не 5 а 30 сек и используй без repeat .... until
Напиши просто:
WaitJournalLine(b, 'select the container you wish to place a trap on|That chest is already trapped.',30000);
Antarius
Neophyte
Neophyte
Posts: 45
Joined: 24.06.2005 20:03

Post by Antarius »

Спасибо огромное! :P И ещё вопрос: "Собьётся ли этот скрипт, если в журнале будет посторонние надписи, ведь как написано в скрипте она будет ждать такой то ('select the container you wish to place a trap on|That chest is already trapped.') строки ?" Вот например:
System: Select your material.
System: The carefully place the trap on the container
System: Select your material.
System: select the container you wish to place a trap on
System: That chest is already trapped.
a dread spider: Corp Por
System: Select your material.
System: select the container you wish to place a trap on
System: The carefully place the trap on the container
System: Select your material.
a dread spider: Vas Ort Flam
System: select the container you wish to place a trap on
System: That chest is already trapped.
Miralex
Developer
Developer
Posts: 656
Joined: 11.03.2005 19:12
Contact:

Post by Miralex »

Ф-ция WaitJournalLine ждет именно появления указанных тобою строк. На остальные "ненужные" строки в журнале она не обращает внимание.
Post Reply