rendered paste bodySet *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