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

Bowcraft на стрелах из цветных логов

Only working scripts
Post Reply
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Bowcraft на стрелах из цветных логов

Post by Edred »

Если у вас ругается на отсутствие какой-то функции - смотрите прилепленную тему Includes.

Code: Select all

Program Bowcraft3UP; 
// v.1.01b (c) Edred 

// Из цветных шафтов и перьев делаем стрелы. Шафты берем с пола по 10, перья по 10
// и берем 10 ингов металла (тратится 1 инг на 10 стрел)
// Стрелы скидываем на пол. Даггер может быть в руках. Крафт идет через
// дабл клик по шафтам.
// Первый крафт через меню, последующие через .makelast (отменяется удалением
// строки FirstTime := false; Если вы эту строку удалите или закомментируете - 
// все крафты будут через меню).

{$Include 'all.inc'} 

var 
ctime : TDateTime;
k : integer; 
FirstTime : boolean;
OldSkill : Double;

const
TypFeathers = $1BD1;					// Тип перьев
TypShafts = $1BD4;
TypIngots = $1BEF;
HowGetShafts = 100;
TypArrows = $0F3F;
HowDropArrows = 100;
ToolsType = $0F51;					// даггер

Begin 
	FindDistance := 0; 
	CancelMenu; 
	FirstTime := true;
	// Первый раз через меню
	OldSkill := GetSkillValue('Bowcraft');
	repeat
		GetResFromGround(TypIngots,10,'ингов дарк айрона');
		GetResFromGround(TypShafts,10,'шафтов');
		GetResFromGround(TypFeathers,10,'перьев');
		waitconnection(3000);
		ctime := Now;
		k := 0;
		CancelMenu;
		if FirstTime then
		begin
			WaitMenu('Select arrow type', 'Arrow')
			if TargetPresent then CancelTarget;
			UseType(TypShafts, $FFFF);
			FirstTime := false;
		end
		else UOSay('.makelast');
		repeat 
			wait(100); 
			k := k + 1; 
			checksave; 
		until (InJournalBetweenTimes('You put|You fail to complete|You fail to create', ctime, Now)<>-1) or (k > 200);
		if InJournalBetweenTimes('You fail to complete', ctime, Now)<>-1 then wait(7000);
		wait(2000)
		DropCrafts(TypArrows,HowDropArrows,'стрел');
		if GetSkillValue('Bowcraft') > OldSkill then
		begin
			AddToSystemJournal('Скилл Bowcraft вырос. Теперь он равен ' + FloatToStr(GetSkillValue('Bowcraft')));
			OldSkill := GetSkillValue('Bowcraft');
		end;
	until GetSkillValue('Bowcraft') >= 100.0;
End.
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Обновил функцию GetResFromGround в инклюдах. Для нормальной работы скрипта вам надо ее заново взять.
Post Reply