Alatyami
NotAddicted.com Engineer (Retired)
- Joined
- Dec 21, 2004
- RedCents
- 804¢
Ever camp Zordak Ragefire in SolB and feel that it will never end? Well your waiting is over! Introducing a simple macro that I made because I got pissed off waiting for Zordak's ass to show up. Besides, I had to go to work and I wasn't going to let some other cleric take my place.
CampRagefire.mac
CampRagefire.mac
Rich (BB code):
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Author: Alatyami, RedGuides.com
| Released: October 11, 2006
| Additional Credits:
| Hunter.mac - robdawg, May 13, 2004
| Title: CampRagefire.mac
| Description: This macro waits for Zordak Ragefire to spawn, gives him
| the Shimmering Pearl, and finally gates you to your bind spot.
| Requirements:
| [OPTIONAL] MQ2SpawnMaster - To timestamp when Zordak spawns.
| [OPTIONAL] MQ2PiggyZone - for /gate
| Setup:
| Sit your cleric along the edge next to the spawn spot for Ragefire,
| make sure that you have a straight line of site to him or you might
| fall into the lava and die. It is best to sit west of the hanging
| to ensure that you do not aggro any of the giants while you wait.
| The macro will do the rest.
| Usage:
| /mac CampRagefire
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Sub Main
:WaitForSpawn
/echo [${Time}] Checking Ragefire Spawn ...
/stand
/if (${Spawn["Ragefire"].ID}) {
/target "Ragefire"
/delay 2s
/itemnotify ${FindItem[=Shimmering Pearl].InvSlot} leftmouseup
/call MoveToLoc ${Target.Y} ${Target.X}
/click left target
/delay 5
/notify GiveWnd GVW_MyItemSlot1 leftmouseup
/delay 4
/notify GiveWnd GVW_Give_Button leftmouseup
/delay 3s
/cast "Divine Barrier"
/autoinv
/delay 2s
/gate
} else {
/echo He's not here ... delay 1 minute ...
/sit
/delay 60s
/goto :WaitForSpawn
}
/return
| Rip from hunter.mac
Sub MoveToLoc(MoveToY, MoveToX)
/declare running int local
/declare distanceNow float local
/declare distanceBefore float local
/declare distanceModifier int local
/declare distanceTimer timer 15
/varset running 0
/varset distanceBefore ${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}
/varset distanceModifier 1
/echo Moving to Location: ${MoveToY}, ${MoveToX}.
/echo Distance: ${distanceBefore}
:moveToLocation
/doevents
/face fast nolook loc ${MoveToY},${MoveToX}
/if (${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}<10) {
/keypress forward
/return
}
/if (${distanceTimer}==0) {
/if (${Me.Sneaking}) {
/varset distanceModifier 2
} else {
/varset distanceModifier 1
}
/varset distanceNow ${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}
/if (${Math.Calc[${distanceBefore}-${distanceNow}]}<${Math.Calc[10/${distanceModifier}]}) {
/call HitObstacle
}
/varset distanceBefore ${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}
/varset distanceTimer 15
}
/if (${running}==0) {
/keypress forward
/if (${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}>10) {
/varset running 1
/keypress forward hold
}
} else {
/if (${Math.Distance[${Me.Y},${Me.X}:${MoveToY},${MoveToX}]}<11) {
/varset running 0
/keypress forward
}
}
/goto :moveToLocation
/return
Last edited:


?