Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

[EUO] Magic resist
#1

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:
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! Big Grin
#2

can you set the water variable to a pitch of water?
#3

You can set it to anything that you can clean bandages on. It just needs to be accessible from the tile where you first time start the macro at.
#4

What do you do, copy both of those macros into 2 seperate EUO screens and run them both at the same time?
#5

Copy and past the first on the first tab.
open a new tab by clicking on "new" ( the white paper).
Copy and past the second on the second tab you just opened.

Click play on first tab
Go on second tab and click play too.
#6

Yea, what Ryuuku said. Big Grin


Forum Jump:


Users browsing this thread: 1 Guest(s)