Set *iron 0 Set *stone 0 Set *ironcol 0 Set *stonecol 2103 Set %starttime #scnt Event Macro 9 7 Set #NEXTCPOSX 1000 Set #NEXTCPOSY 800 Event Macro 8 7 Event Macro 9 2 Set #NEXTCPOSX 800 Set #NEXTCPOSY 800 Event Macro 8 2 Set #RESULT Set %RecallCount 1 Set %Mined Set %Tiletypes 1339_1340_1341_1342_1343 Set %MineNumber 3 If #CHARGHOST = yes GoSub Ghost GoSub DropOff Start: If #CHARGHOST = yes GoSub Ghost Set %RecallCount %RecallCount + 1 If %RecallCount = 8 GoSub DropOff If %MineNumber = 11 Set %MineNumber 3 Set %MineNumber %MineNumber + 1 GoSub TeleportMine GoSub Mine Goto Start Halt Sub Mine Set #RESULT Set %Mined MineLoop: If #RESULT = #FALSE Return If #WEIGHT >= 380 { FindItem DWJ C_ , #BACKPACKID If #FINDKIND = -1 GoSub DropOff FindItem JBG G_ If #FINDKIND = -1 Return Set %LASTX #CHARPOSX Set %LASTY #CHARPOSY Move #FINDX #FINDY 1 Smelt: FindItem DWJ C_ , #BACKPACKID If #FINDKIND <> -1 { Set #LOBJECTID #FINDID Event Macro 17 Wait 5 Goto Smelt } Move %LASTX %LASTY 0 } If H notin #CHARSTATUS GoSub Stealth If #CHARGHOST = Yes { GoSub Ghost Return } GoSub Tile FindItem NPF C_ , #BACKPACKID If #FINDKIND = -1 Halt Set #LOBJECTID #FINDID Event Macro 17 Wait 5 Event Macro 22 Set %MineTimeout #SCNT + 10 MineJournal: If %MineTimeout >= #SCNT { DeleteJournal ScanJournal 1 If you_loosen_some in #JOURNAL || you_put in #JOURNAL || nothing_here in #JOURNAL || try_mining in #JOURNAL || that_is_too in #JOURNAL Goto MineLoop Goto MineJournal } Goto MineLoop Return Sub Stealth Stealth: If #CHARGHOST = Yes Return Event Macro 13 47 Set %CheckStealth #SCNT + 10 CheckStealth: If %CheckStealth <= #SCNT Goto Stealth DeleteJournal ScanJournal If You_have_hidden notin #JOURNAL Goto CheckStealth Return Sub DropOff DropOff: Msg ,recall 0x40009B36 3 $ Set %TeleportTimer #SCNT + 10 TeleportDropOff: If %TeleportTimer <= #SCNT Goto DropOff DeleteJournal ScanJournal If You_have_arrived_at_your_destination notin #Journal Goto TeleportDropOff If This_book_needs_time in #JOURNAL { Wait 1s Goto DropOff } FindItem JIF G_1 If #FINDKIND = -1 Halt Set %DropOffContainer #FINDID Set #LOBJECTID #FINDID Event Macro 17 FindIngots: FindItem ENK C_ , #BACKPACKID If #FINDKIND <> -1 { If #findcol = *ironcol && #findtype = ENK Set *iron *iron + #findstack If #findcol = *stonecol && #findtype = ENK Set *stone *stone + #findstack ExEvent Drag #FINDID #FINDSTACK ExEvent DropC %DropOffContainer Wait 5 Event Macro 9 7 Set #NEXTCPOSX 1000 Set #NEXTCPOSY 800 Event Macro 8 7 Wait 5 Goto FindIngots } gosub updatestats #charname %starttime Mine Iron Stone ScrollStart: FindItem JIF G_1 If #FINDKIND = -1 Halt Set %DropOffContainer #FINDID Set #LOBJECTID #FINDID Event Macro 17 Wait 1s FindItem WTL C_ , %DropOffContainer If #FINDID = -1 Halt Set %FindID #FINDID FindItem MPF C_ , #BACKPACKID If #FINDKIND = -1 Halt ExEvent Drag %FindID 10 ExEvent Dropc #FINDID Set %ScrollTimer #SCNT + 10 ScrollsJournal: If %ScrollTimer <= #SCNT Goto ScrollStart DeleteJournal ScanJournal If The_scrolls_have_been notin #JOURNAL && That_runebook_already_has notin #JOURNAL && You_put_the_Recall_in_your_pack notin #JOURNAL Goto ScrollsJournal PutScrollsBack: Wait 10 FindItem WTL C_ , #BACKPACKID If #FINDKIND <> -1 { ExEvent Drag #FINDID #FINDSTACK ExEvent DropC %DropOffContainer Goto PutScrollsBack } Set %RecallCount 0 Return Sub Tile Tile Init For %Tilex -2 2 ; will find tiles upto a distance of 2 tiles away { For %Tiley -2 2 ; will find tiles upto a distance of 2 tiles away { Set %Tilexa %Tilex + #Charposx Set %Tileya %Tiley + #Charposy For %Cnt 1 3 { Tile Get %Tilexa %Tileya %Cnt If ( #Tiletype In %Tiletypes ) && ( %Tilexa , _ , %Tileya Notin %mined ) && ( #tilename <> grass ) && ( %Tilexa , _ , %Tileya notin %chopped2 ) { Set %Mined %Mined , #Spc , %Tilexa , _ , %Tileya Set #Ltargetx %Tilexa Set #Ltargety %Tileya Set #Ltargetz #Tilez Set #Ltargettile #Tiletype Set #ltargetkind 3 Return #true } } } } Return #false Sub TeleportMine If %RecallCount = 8 GoSub DropOff Teleport: Msg ,recall 0x40009B36 %MineNumber $ Set %TeleportTimer #SCNT + 10 TeleportJournal: If %TeleportTimer <= #SCNT Goto Teleport DeleteJournal ScanJournal If You_have_arrived_at_your_destination notin #JOURNAL Goto TeleportJournal If This_book_needs_time in #JOURNAL { Wait 1s Goto Teleport } Return Sub Ghost GhostStart: While #CHARPOSX <> 5182 && #CHARPOSY <> 1259 { msg Home Home Home$ Wait 3s } Move 5182 1241 0 10s Move 5185 1241 0 10s If #CHARPOSX <> 5185 && #CHARPOSY <> 1241 Goto GhostStart FindItem HTG G_1 If #FINDKIND = -1 Halt Set #LOBJECTID #FINDID While #CONTNAME <> generic_gump { Event Macro 17 Wait 3s } Click 70 100 Wait 3s If #CHARGHOST = yes Goto GhostStart Event Macro 31 0 Event Macro 8 1 Event Macro 8 2 Event Macro 8 7 Move 5207 1241 0 10s Move 5207 1232 0 10s If #CHARPOSX <> 5207 && #CHARPOSY <> 1232 Halt Msg Banker Bank$ Wait 1s If #CONTTYPE <> IKF Halt FindItem POF C_ , #CONTID If #FINDKIND = -1 Halt ExEvent Drag #FINDKIND 72 ExEvent Dropc #BACKPACKID Wait 1s Msg ,buy pickaxes blacksmith$ FindItem NPF C_ , #BACKPACKID If #FINDKIND = -1 Halt Return ; Sub Update Stats ;Useage: ; %1 charname ; %2 Starttime ; %3 static var to use ; %4 Resource 1 ; %5 resource 2 etc etc Sub UpdateStatS set %starttime %2 Set %Hours ( #SCNT - %StartTime ) / 3600 Set %Minutes ( #SCNT - %StartTime ) / 60 If %Minutes >= 60 Set %Minutes %Minutes - %Hours * 60 If %Minutes <= 9 Set %Time %Hours , : , 0 , %Minutes Else Set %Time %Hours , : , %Minutes set %partone Charname: , %1 , #spc , Time: , %time , #spc , %4 , : , * . %4 , #spc , %5 , : , * . %5 gosub permin iron 4 gosub permin stone 5 set %parttwo %4 , #spc , Permin: , %permin . 4 , #spc , %4 , #spc , Perhour: , %perhour . 4 , #spc , %5 , #spc , Permin: , %permin . 5 , #spc , %5 , #spc , Perhour: , %perhour . 5 set * . %3 %partone , %parttwo Return Sub Permin ; %1 item name EG iron ; %2 number set %permin . %2 * . %1 / %minutes set %perhour . %2 * . %1 / %Hours return