07-31-2009, 08:30 PM
Thought I'd share this one also. This one consists of two macros that work side by side. One heals you with bandages and other one takes care of casting fire fields and running in them.
Update: Seems that it might get you killed sometimes so I made it not go so low on hp before pausing the running.
Firefields:
Healing:
Now go play with fire!
Update: Seems that it might get you killed sometimes so I made it not go so low on hp before pausing the running.
Firefields:
Code:
; OzResist
; --------
; Trains magic resist with firefields
;
; Instructions
; ------------
; 1) Set the %Water variable to the ID of water trough nearby starting position
; 2) If you are in a tight space and can't fit whole firefield change the %Size
; variable to be smaller. It means how many tiles you will run north and south
; from starting location.
; 3) GM healing is recommended before use. If aiming for PvP skills GM magery
; using magic arrow scrolls first so it raises your healing and finish it up
; using the XUO scroll method.
; Variables
set %Water NMNUKND
set %Size 3
; Do not change anything below this line
set %StartX #CHARPOSX
set %StartY #CHARPOSY
while #TRUE
{
if ( %StartX = #CHARPOSX && %StartY = #CHARPOSY && #HITS >= 99 )
{
gosub CleanBandages
gosub CastFF
}
if ( #HITS < 50 )
wait 3s
else
gosub KeepMoving
}
halt
sub KeepMoving
if ( #HITS = 100 )
{
set %TargetX %StartX
set %TargetY %StartY
gosub MoveTo %TargetX %TargetY #CHARPOSZ
return
}
set %TargetX %StartX
set %TargetY %StartY - %Size
gosub MoveTo %TargetX %TargetY #CHARPOSZ
set %TargetX %StartX
set %TargetY %StartY + %Size
gosub MoveTo %TargetX %TargetY #CHARPOSZ
return
sub CleanBandages
finditem AMF C
if #FINDCNT > 0
{
set #lObjectId #findId
event macro 17 0
set #LTARGETID %Water
target 60s
event Macro 22 0
}
return
sub CastFF
event macro 15 27
target 60s
event macro 23
wait 85
return
sub MoveTo
set %oldX #charposX
set %oldY #charposY
GetThere:
if ( #charposX = %1 && #charposY = %2 )
return
event pathFind %1 %2 %3
wait 5
set %MoveStartTime #SYSTIME
while ! ( #charposX = %1 && #charposY = %2 )
{
if ( #SYSTIME > %MoveStartTime + 3000 )
return
}
return
Healing:
Code:
; OzBandages
;
; Heals you by using bandages if you are hurt
if ( #HITS < #MAXHITS )
{
finditem ZLF C
if #FINDCNT > 0
{
set #lObjectId #findId
event macro 17 0
target 1s
event Macro 23 0
wait 53
}
}
Now go play with fire!