• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->
  • There was an optional eq update. Guest, DO NOT PATCH EQ or you'll have to wait for the next MQ update (no ETA). You can play without the patch by using patchme or autologin (preferred). If you've already patched EQ you're out of luck, unless you find someone to share the older eqgame.exe (don't ask here).
Resource icon

Utility lazyrez.mac

|-------------------------------------------------------------------
| LazyRez.mac
| Adapted from LazyLobbyRez.mac by TreeHuginDruid
|
|-------------------------------------------------------------------

#turbo

|--------------------------------------------------------------------------------
|SUB: MAIN
|--------------------------------------------------------------------------------
Sub Main

/declare SoulStoneMerchant string outer "A Disciple of Luclin"
/declare CorpseSummoner string outer "A Priest of Luclin"
/declare RangeDist int outer 8
/declare SoulStoneName string outer
/declare bag string outer
/declare slot string outer
/declare ItemToGet string outer
/declare MercClass string outer
/declare i int outer

/squelch /target clear
/delay 10

/call PluginCheck
/call CheckSoulstone
/call BuySoulstone
/call GiveSoulstone
/call PcRez
/return
|--------------------------------------------------------------------------------

|--------------------------------------------------------------------------------
|SUB: CheckSoulstone
|--------------------------------------------------------------------------------
Sub CheckSoulstone
/if (${Me.Level}<=110) /varset SoulStoneName Draconic Soulstone
/if (${Me.Level}<=105) /varset SoulStoneName Torrential Soulstone
/if (${Me.Level}<=100) /varset SoulStoneName Coalescent Soulstone
/if (${Me.Level}<=95) /varset SoulStoneName Luminous Soulstone
/if (${Me.Level}<=90) /varset SoulStoneName Phantasmal Soulstone
/if (${Me.Level}<=85) /varset SoulStoneName Iridescent Soulstone
/if (${Me.Level}<=80) /varset SoulStoneName Prismatic Soulstone
/if (${Me.Level}<=75) /varset SoulStoneName Glowing Soulstone
/if (${Me.Level}<=70) /varset SoulStoneName Pristine Soulstone
/if (${Me.Level}<=55) /varset SoulStoneName Faceted Soulstone
/if (${Me.Level}<=50) /varset SoulStoneName Greater Soulstone
/if (${Me.Level}<=40) /varset SoulStoneName Soulstone
/if (${Me.Level}<=30) /varset SoulStoneName Lesser Soulstone
/if (${Me.Level}<=20) /varset SoulStoneName Minor Soulstone

/delay 10

/echo Soulstone for my level (${Me.Level}) is (${SoulStoneName}).

/return
|--------------------------------------------------------------------------------

|--------------------------------------------------------------------------------
|SUB: BuySoulstone
|--------------------------------------------------------------------------------
Sub BuySoulstone

/if (${FindItem[${SoulStoneName}].ID}) {
/echo I already have a (${SoulStoneName}).
} else {
/echo I have to buy a (${SoulStoneName}).

/target ${SoulStoneMerchant}
/delay 10

|--------------------------------------
/if (${Target.ID} && ${Target.CleanName.Equal[${SoulStoneMerchant}]}) {
/echo Moving to (${SoulStoneMerchant}).
/moveto id ${Target.ID} mdist ${RangeDist}
/delay 2s ${Me.Moving}

:NoMovement1
/if (${Me.Moving}) {
/delay 2
/if (${Me.Moving}) /goto :NoMovement1
}

:OpenGiveWindowA
/nomodkey /click right target
/delay 5s ${Window[MerchantWnd].Open}
/if (!${Window[MerchantWnd].Open}) /goto :OpenGiveWindowA

/if (${Window[MerchantWnd].Open}) {
/delay 5s
/varset ItemToGet ${Window[MerchantWnd].Child[ItemList].List[=${SoulStoneName},2]}
/delay 1s
}

/if (!${ItemToGet}) {
/echo I couldn't find (${SoulStoneName}) to purchase!
/end
} else {
/echo Found (${SoulStoneName}) to purchase!
/notify MerchantWnd ItemList listselect ${ItemToGet}
/delay 10
/notify MerchantWnd ItemList LeftMouseUp ${ItemToGet}
/delay 10
/nomodkey /notify MerchantWnd MW_Buy_Button LeftMouseUp
/delay 10
}

:CloseMerchantWnd1
/if (${Window[MerchantWnd].Open}) {
/nomodkey /notify MerchantWnd MW_Done_Button LeftMouseUp
/delay 10
/if (${Window[MerchantWnd].Open}) /goto :CloseMerchantWnd1
}
}
|--------------------------------------
}

/return
|--------------------------------------------------------------------------------

|--------------------------------------------------------------------------------
|SUB: GiveSoulstone
|--------------------------------------------------------------------------------
Sub GiveSoulstone

/target ${CorpseSummoner}
/delay 10

/if (${Target.ID} && ${Target.CleanName.Equal[${CorpseSummoner}]}) {
/echo Moving to (${CorpseSummoner}).
/moveto id ${Target.ID} mdist ${RangeDist}
/delay 2s ${Me.Moving}

:NoMovement2
/if (${Me.Moving}) {
/delay 2
/if (${Me.Moving}) /goto :NoMovement2
}

|---
/if (${Target.Distance}<=${RangeDist}) /call GrabSoulstone
|---

|---------------------------------------------------
/if (${Cursor.ID} && ${Cursor.Name.Equal[${SoulStoneName}]}) {
|--------------
/echo I have (${SoulStoneName}) on my cursor.
/echo Giving (${Cursor.Name}) to (${Target.CleanName}).

:OpenGiveWindowB
/nomodkey /click left target
/delay 5s ${Window[GiveWnd].Open}
/if (!${Window[GiveWnd].Open}) /goto :OpenGiveWindowB

:GiveSoulStone
/if (${Window[GiveWnd].Open}) {
/notify GiveWnd GVW_Give_Button leftmouseup
/delay 3s
/if (${Window[GiveWnd].Open}) /goto :GiveSoulStone
}

:CloseInvWnd
/if (${Window[InventoryWindow].Open}) {
/nomodkey /notify InventoryWindow IW_DoneButton LeftMouseUp
/delay 5
/if (${Window[InventoryWindow].Open}) /goto :CloseInvWnd
}
|--------------
} else {
/echo I couldn't find (${SoulStoneName}) on my cursor!
/end
}
|---------------------------------------------------

/if (${Window[InventoryWindow].Open}) /nomodkey /notify InventoryWindow IW_DoneButton LeftMouseUp
/delay 5

/squelch /target clear
/delay 10
}

/return
|--------------------------------------------------------------------------------

|--------------------------------------------------------------------------------
|SUB: GrabSoulstone
|--------------------------------------------------------------------------------
Sub GrabSoulstone

/echo Attempting to grab (${SoulStoneName}).

/if (!${Window[InventoryWindow].Open}) /keypress Inventory
/delay 5

/itemnotify "${SoulStoneName}" leftmouseup
/delay 5

/return
|--------------------------------------------------------------------------------

|--------------------------------------------------------------------------------
|SUB: Revive Merc
|--------------------------------------------------------------------------------
Sub ReviveMerc

:MercReviveLoop
/if (!${Mercenary.State.Equal[ACTIVE]}) {
/echo Attempting to revive my mercenary.
/nomodkey /notify MMGW_ManageWnd MMGW_SuspendButton LeftMouseUp
/delay 3s
}
/if (!${Mercenary.State.Equal[ACTIVE]}) {
/echo Waiting until mercenary can be revivied.
/goto :MercReviveLoop
} else {
/varset MercClass ${Mercenary.Class}
/echo My mercenary's calss is (${MercClass}).
}

|-----------------------------------------------------
|---------------- Check to make sure merc is a healer!
|-----------------------------------------------------
/if (${MercClass.NotEqual[Cleric]}) {
/for i 1 to 8
/echo Looking at merc slot (${i}), (${Window[MMGW_ManageWnd].Child[MMGW_OwnedListBox].List[${i},2]}).
|/notify MMGW_ManageWnd MMGW_OwnedListBox listselect ${i}
/if (${Window[MMGW_ManageWnd].Child[MMGW_OwnedListBox].List[${i},2].Find[Healer]}) {
/echo FOUND A HEALER! - (${Window[MMGW_ManageWnd].Child[MMGW_OwnedListBox].List[${i},2]})
/echo Switching mercenary to:(${Window[MMGW_ManageWnd].Child[MMGW_OwnedListBox].List[${i},2]}).
/notify MMGW_ManageWnd MMGW_OwnedListBox listselect ${i}
/notify MMGW_ManageWnd MMGW_SwitchButton leftmouseup
/delay 10
/return
}
/delay 10
/next i
}
|-----------------------------------------------------

|---------------- Check to make sure merc stance is not passive!
/if (${Mercenary.Stance.Equal[Passive]}) /stance Balanced

/return
|--------------------------------------------------------------------------------

|--------------------------------------------------------------------------------
|SUB: TakeRez
|--------------------------------------------------------------------------------
Sub TakeRez

|---------------- Check to make sure merc stance is not passive!
/if (${Mercenary.Stance.Equal[Passive]}) /stance Balanced

/echo Accepting rez if available.
/delay 6s

:RezWait
/if (${Window[ConfirmationDialogBox].Open} && (${Spawn[${Me.ID}].Type.Equal[Corpse]})) {
/echo I have a rez box, accepting now.
/nomodkey /notify ConfirmationDialogBox Yes_Button leftmouseup
/delay 2s
/multiline ; /echo Respawning ; /notify RespawnWnd RW_OptionsList listselect 2 ; /notify RespawnWnd RW_SelectButton leftmouseup
/delay 10
/return
} else {
/echo Waiting 6 seconds for a rez.
/delay 6s
}

/if (${Spawn[${Me.ID}].Type.Equal[Corpse]}) /goto :RezWait

/return
|--------------------------------------------------------------------------------

|--------------------------------------------------------------------------------
|SUB: Suspend Merc
|--------------------------------------------------------------------------------
Sub SuspendMerc

:MercSuspendLoop
/if (${Mercenary.State.Equal[ACTIVE]}) {
/echo Suspending Mercenary.
/nomodkey /notify MMGW_ManageWnd MMGW_SuspendButton LeftMouseUp
/delay 3s
}
/if (${Mercenary.State.Equal[ACTIVE]}) /goto :MercSuspendLoop

/return
|--------------------------------------------------------------------------------

|--------------------------------------------------------------------------------
|SUB: PluginCheck
|--------------------------------------------------------------------------------
Sub PluginCheck

/echo Checking for required plugins . . .

/if (!${Plugin[MQ2MoveUtils].Name.Equal[MQ2MoveUtils]}) {
/echo Loading MQ2MoveUtils plugin, because this macro requires it !
/squelch /plugin MQ2MoveUtils load
/delay 1s
/if (!${Plugin[MQ2MoveUtils].Name.Equal[MQ2MoveUtils]}) {
/beep
/echo Unable to load MQ2MoveUtils plugin, quiting.
/end
}
} else {
/echo MQ2MoveUtils plugin is loaded.
}

/echo Plugin check complete . . .

/return
|--------------------------------------------------------------------------------

|--------------------------------------------------------------------------------
|SUB: LogMeOut
|--------------------------------------------------------------------------------
Sub LogMeOut

/echo Time to camp out!
/keypress forward
/beep
/if (!${Me.Sitting} && !${Me.Mount.ID}) /sit
/delay 45s
/camp desktop
/endmacro

/return
|--------------------------------------------------------------------------------
|--------------------------------------------------------------------------------
|SUB: PcRez
|--------------------------------------------------------------------------------
Sub PcRez

/echo Checking if I'm a healer
/if (${Me.Class.Name.Equal[Cleric]} || ${Me.Class.Name.Equal[Shaman]} || ${Me.Class.Name.Equal[Druid]}) {
/echo I, ${Me.Name}, am a ${Me.Class.Name} so waiting a few extra seconds ...
/if (!${Me.Sitting} && !${Me.Mount.ID}) /sit
/delay 5s
/declare gn int local 0
/for gn 1 to 5
/target ${Spawn[corpse ${Group.Member[${gn}].Name}]}

/echo ${Group.Member[${gn}].Name} ${Target} Type: ${Target.Type} ${Target.Type.Equal[corpse]}
/if (${Target.Type.Equal[corpse]} ) {
/echo detected corpse
/call DoRez
} else {
/echo no corpse detected for ${Group.Member[${gn}].Name}
/delay 1s
}

/keypress ESC
/next gn

/target ${Spawn[corpse ${Me.Name}]}
/call DoRez
/echo done
} else {
/echo Not a healer so just gonna chill and wait for rez
}


/if (!${Me.Sitting} && !${Me.Mount.ID}) /sit
/return
|--------------------------------------------------------------------------------

|--------------------------------------------------------------------------------
|SUB: DoRez
|--------------------------------------------------------------------------------
Sub DoRez
/echo DoRez on ${Target.Name}
/if (${Me.Class.Name.Equal[Cleric]}) {
/while (!${Me.AltAbilityReady[Blessing of Resurrection]}) {
/if (!${Me.Sitting} && !${Me.Mount.ID}) /sit
/delay 1s
}
/aa act Blessing of Resurrection
} else {
/while (!${Me.AltAbilityReady[Rejuvenation of Spirit]}) {
/if (!${Me.Sitting} && !${Me.Mount.ID}) /sit
/delay 1s
}
/aa act Rejuvenation of Spirit
}
/delay 3s
/return
|--------------------------------------------------------------------------------
| [+++ Formatted by MQ2fusing tabs for indents +++]
Back
Top