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

не понимаю почему выбивает постоянно

тут можно задать вопрос по скриптингу
Post Reply
m0nya
Neophyte
Neophyte
Posts: 37
Joined: 08.02.2008 11:15
Contact:

не понимаю почему выбивает постоянно

Post 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.
раз в неопределенное кол-во времени скрипт выбивет, пробовал на разных версиях стелса :(
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: не понимаю почему выбивает постоянно

Post by Vizit0r »

что значит выбивает? в каком месте?

P.S. Своеобразное форматирование скрипта :)
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
m0nya
Neophyte
Neophyte
Posts: 37
Joined: 08.02.2008 11:15
Contact:

Re: не понимаю почему выбивает постоянно

Post by m0nya »

как мог форматировал =) Я не совсем разобрался как отслеживать именно работу скрипта.
выбивает = скрипт останавливается и нужно его запускать заново ...
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: не понимаю почему выбивает постоянно

Post by Vizit0r »

ну, самый простой путь - натыкать почаще выводы вида AddToSystemJournal('XXXX') с разными номерами, и смотреть какое вывелось последним, и постоянно ли именно на этом месте выбивает.
Потом поближе к месту остановки натыкать еще больше выводов, и найти на какой строке вылетает.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
m0nya
Neophyte
Neophyte
Posts: 37
Joined: 08.02.2008 11:15
Contact:

Re: не понимаю почему выбивает постоянно

Post by m0nya »

Видимо скрипт когда оппонента или дисконектило или убил его на проверке if GetHP(enemy)*150/GetMaxHP(enemy) < 30 then спотыкается и отрубается вообще ... как зациклить так чтобы не останавливался ?
Post Reply