Page 1 of 1
не понимаю почему выбивает постоянно
Posted: 01.01.2014 13:08
by m0nya
Code: Select all
Program War;
var
bandages:cardinal;
t:integer;
const
Enemy = $00020CDF; {Shogo}
{$Include 'all.inc'}
procedure healoponent;
begin
SetWarMode(false);
repeat
bandages:=FindType($0E21,ground);
UseObject(bandages);
WaitTargetObject(enemy);
wait(1000);
until GetHP(enemy)=GetMaxHP(enemy)
Hungry(1,ground);
end;
Begin
while True do
begin
if connected then begin
for t:=1 to 100 do begin
WaitConnection(1000);
checksave;
if GetHP(enemy)*150/GetMaxHP(enemy) < 30 then
begin
healoponent;
end;
If HP<30 then
begin
SetWarMode(false);
repeat
wait(350);
until HP=MaxHP
end;
attack(enemy);
end;
end;
end;
End.
раз в неопределенное кол-во времени скрипт выбивет, пробовал на разных версиях стелса

Re: не понимаю почему выбивает постоянно
Posted: 01.01.2014 13:42
by Vizit0r
что значит выбивает? в каком месте?
P.S. Своеобразное форматирование скрипта

Re: не понимаю почему выбивает постоянно
Posted: 02.01.2014 12:54
by m0nya
как мог форматировал =) Я не совсем разобрался как отслеживать именно работу скрипта.
выбивает = скрипт останавливается и нужно его запускать заново ...
Re: не понимаю почему выбивает постоянно
Posted: 02.01.2014 14:06
by Vizit0r
ну, самый простой путь - натыкать почаще выводы вида AddToSystemJournal('XXXX') с разными номерами, и смотреть какое вывелось последним, и постоянно ли именно на этом месте выбивает.
Потом поближе к месту остановки натыкать еще больше выводов, и найти на какой строке вылетает.
Re: не понимаю почему выбивает постоянно
Posted: 04.01.2014 13:57
by m0nya
Видимо скрипт когда оппонента или дисконектило или убил его на проверке if GetHP(enemy)*150/GetMaxHP(enemy) < 30 then спотыкается и отрубается вообще ... как зациклить так чтобы не останавливался ?