Page 1 of 1

Help me)

Posted: 30.10.2009 16:38
by pr0Zak
Собственно хотел узнать чего не происходит завершение процедуры?)

Code: Select all

const 
Msg1 = 'Annoy someone else!'; 


var 
tmptime : TDateTime;

Procedure Bolt;
Begin
  repeat
if (Life < MaxLife) then UOSay('GUARDS'); 
if WarMode then SetWarMode(false);
if targetpresent then CancelTarget;
  FindDistance := 1;
  tmptime := Now;
  if FindType($0190, ground) > 0 then 
  begin 
    UseSkill('Begging'); 
    wait(500); 
    WaitTargetObject(FindType($0190, ground));
  end; 
  if FindType($0191, ground) > 0 then 
  begin 
    UseSkill('Begging'); 
    wait(500); 
    WaitTargetObject(FindType($0191, ground));
  end;
  until InJournalBetweenTimes(Msg1, tmptime, Now)<>-1;
End;
Фраза неоднократно вылетает, а процедура все ровно остается в цикле!!

Posted: 31.10.2009 0:30
by WladL
1)Может фраза неверно записана. Сократи как можно короче - "Annoy"
2) сделай задержку поболе, а то получается каждые 0.5сек скилл юзаешь

или вообще вот так

Code: Select all

const 
Msg1 = 'Annoy'; 


var 
tmptime : TDateTime; 

Procedure Bolt; 
Begin 
  repeat 
if (Life < MaxLife) then UOSay('GUARDS'); 
if WarMode then SetWarMode(false); 
if targetpresent then CancelTarget; 
  FindDistance := 1; 
  tmptime := Now; 
  if FindType($0190, ground) > 0 then 
  begin 
    UseSkill('Begging'); 
    wait(500); 
    WaitTargetObject(FindType($0190, ground)); 
  end; 
  if FindType($0191, ground) > 0 then 
  begin 
    UseSkill('Begging'); 
    wait(500); 
    WaitTargetObject(FindType($0191, ground)); 
  end; 
  repeat
    wait(500);
  until (InJournalBetweenTimes(Msg1, tmptime, Now)<>-1) OR dead; 
until dead;
End;

Posted: 31.10.2009 8:45
by pr0Zak
Спс действительно на да было просто фразу сократить))