//*************************************************** //@Name : Wild Tinkerer //*************************************************** Program Tinkerquest; //Variables const Npc=$0000BF27; var a: TStringList; var CrafterSatchel:Cardinal; var QuestStatus:Integer; var Runic:Cardinal; begin while Connected do begin while (GetDistance(Npc)>2) do begin MoveXY(GetX(Npc),GetY(Npc),true,1,true); end; UseObject(Npc); wait(400); a := TStringList.Create(); GetGumpFullLines(GetGumpsCount-1,a) //*************************************************** //x:=a.Count; //for i:=0 to x do //begin //AddToJournal(a[i]); //end; //*************************************************** if(QuestStatus=3)then begin while(FindType($0E75,backpack)>0)do begin CrafterSatchel:=FindItem; while LastContainer <> CrafterSatchel do begin UseObject(CrafterSatchel); end; while FindType($1EB8,CrafterSatchel) > 0 do begin; Runic:=FindItem; FindType($0E79,backpack) MoveItem(Runic,0,FindItem,0,0,0); AddToJournal('Runic Dropped'); end; FindType($0E76,backpack) MoveItem(CrafterSatchel,0,FindItem,0,0,0); end; QuestStatus:=0; end; if(QuestStatus=2)then begin while (GetDistance(Npc)>2) do begin MoveXY(GetX(Npc),GetY(Npc),true,1,true); end; UseObject(Npc); wait(500); waitgump('8'); wait(500) waitgump('5'); wait(500) while(FindType($0E76,backpack)<1)do begin while (GetDistance(Npc)>2) do begin MoveXY(GetX(Npc),GetY(Npc),true,1,true); end; UseObject(Npc); wait(500); waitgump('8'); wait(500) waitgump('5'); wait(500) end; QuestStatus:=3; end; if(QuestStatus=1)then begin while Count($1EB8) < 10 do begin UseType($0E80, $FFFF); waitgump('106'); wait(300) end; CloseSimpleGump (GetGumpsCount - 1); wait 400 CloseSimpleGump (GetGumpsCount - 1); RequestContextMenu(self); SetContextMenuHook(self,7); wait(300) while findtypeex($1EB8,$0000,Backpack,false) > 0 do begin WaitTargetObject(FindItem); wait(300) end; if (TargetPresent = true) then begin CancelTarget; end; QuestStatus:=2; end; if(QuestStatus=0)then begin if a.IndexOf('Quest Offer')>-1 then begin a.Clear a.Free; waitgump('7'); wait(300) a := TStringList.Create(); GetGumpShortLines(GetGumpsCount-1,a); if(a.IndexOf('10 tinker' + chr(39) +'s tools')>-1)then begin waitgump('4'); QuestStatus:=1; end; end; end; a.Clear a.Free end; end.