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.