Какую нужно использовать команду, если известен тип животного, а нужно получить ID животного.
Хочу сделать скрипт на таминг - животное появляется, чар его тамит, потом убивает и ждет пока животное реснится.
			
			
									
									
						Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7 
	Подскажите пожалуйста как получить ID животного через стелс?
Code: Select all
rogram taming; 
var 
animal : cardinal; 
ctime : TDateTime; 
{$Include 'all.inc'} 
Const
animalType = $0027; 
Begin 
   While not Dead do 
	begin 
FindDistance := 2;
	if (findtype(animalType, Ground) = 0) then animal := finditem;
	if (inJournalBetweenTimes('You see: a mongbat', ctime, Now)<>-1) then
		begin
		SetWarMode(false);
		if TargetPresent then CancelTarget; 
		CheckTargetError(5,2);
	        CheckSave; 
		UseSkill('Animal Taming'); 
		WaitTargetGround(animalType);
		wait(5000);
		if (inJournalBetweenTimes('успешно', ctime, Now)<>-1) then 
		begin
		SetWarMode(true);
		attack(animal);
		end;
		end;
	end;
end.
19:04:39 []: Attack error: Object not finded.
Если ничего не нашёл то анималу присвоить неизвестно что?un.k wrote:вот скрипт, пишетCode: Select all
if (findtype(animalType, Ground) = 0) then animal := finditem;
19:04:39 []: Attack error: Object not finded.
Code: Select all
      WaitTargetGround(animalType); 
					Last edited by Savage on 28.10.2010 15:27, edited 1 time in total.
									
			
									
						1) if (findtype(animalType, Ground) = 0) then animal := finditem;
если ничего не нашли - то пусть animal как раз и будет это самое ничего.
надо ставить одну большую проверку на всё -
if findtype(animalType, Ground) > 0 then
if (inJournalBetweenTimes('You see: a mongbat', ctime, Now)<>-1) then
begin
....
потому что если животное не найдено, то и таймить нечего.
			
			
									
									если ничего не нашли - то пусть animal как раз и будет это самое ничего.
надо ставить одну большую проверку на всё -
if findtype(animalType, Ground) > 0 then
if (inJournalBetweenTimes('You see: a mongbat', ctime, Now)<>-1) then
begin
....
потому что если животное не найдено, то и таймить нечего.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
						теперь другая проблема, недождавжись пока затамит, начинает атачить.
Т.е. 1 раз пробует тамить, потом атачит, потом опять пробует тамить.
Что я сделал неправильно?
			
			
									
									
						Т.е. 1 раз пробует тамить, потом атачит, потом опять пробует тамить.
Что я сделал неправильно?
Code: Select all
program taming; 
var 
animal : cardinal; 
ctime : TDateTime; 
{$Include 'all.inc'} 
Const
animalType = $0027; 
Begin 
if (findtype(animalType, Ground) > 0 ) then animal := finditem;
if (inJournalBetweenTimes('You see: a mongbat', ctime, Now)<>-1) then 
   While not Dead do 
	begin
FindDistance := 2;
	begin
		
		SetWarMode(false);
		if TargetPresent then CancelTarget; 
		CheckTargetError(5,2);
	        CheckSave; 
	        repeat
		UseSkill('Animal Taming'); 
		WaitTargetGround(animalType);
		wait(10000);
		until (inJournalBetweenTimes('Âû óñïåøíî ïðèðó÷èëè mongbat', ctime, Now)<>-1)
	
		if (inJournalBetweenTimes('pretty', ctime, Now)<>-1) then 
		
		attack(animal);
		wait(10000);
	        
		end;
	end;
end.
until (inJournalBetweenTimes('Âû óñïåøíî ïðèðó÷èëè mongbat', ctime, Now)<>-1)
это отлично, ты проверяешь на наличие строки с момента ctime до настоящего момента.
но...где же установка ctime?
а должна
ctime := Now;
стоять прямо перед строкой
UseSkill('Animal Taming');
и ненадо ловить полную строку. 1-2 уникальных для данной фразы слов будет вполне достаточно.
это то, что в глаза бросилось.
			
			
									
									это отлично, ты проверяешь на наличие строки с момента ctime до настоящего момента.
но...где же установка ctime?
а должна
ctime := Now;
стоять прямо перед строкой
UseSkill('Animal Taming');
и ненадо ловить полную строку. 1-2 уникальных для данной фразы слов будет вполне достаточно.
это то, что в глаза бросилось.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
						

