• 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 --->
newtoon.mac - setup to get ready to level

Quest / Event newtoon.mac - setup to get ready to level 230415a

Download now:  Join us with Level 2 access or earn your way in with  RedCents.
  1. Added option to enable advloot's autoloot (true by default)
  2. Fixed POK routes to deal with the anniversary tents
  3. Fixed it to pick proper mercs for GOLD and free/silver since EQ changed that stuff
1908a Changes ( Why am I updating this? )
=============
Work it harder
Make it better
Do it faster
Makes us stronger
More than ever
Hour after
Our work is
Never over

------------------------------------------------------------------------------------------------------------------------
Config Options:
------------------------------------------------------------------------------------------------------------------------
1907d fixed typo...
1907c
+ faster
+ less bugs (looking at you delay and invoke)
+ properly gets FREE, SILVER or GOLD merc
+ no longer stands on top of people you interact with
+ added amazing quest! Free 1gp & 2% xp !! (already talk to the person, so why not)
1907b (LamahHerder)
+ Choose Tank or Healer merc
+ Get Glowing Emerald Augment http://everquest.allakhazam.com/db/quest.html?quest=5706
+ Retrieve all from parcel merchant (PoK)
+ Join The Novices Of ${MacroQuest.Server} http://everquest.allakhazam.com/db/quest.html?quest=8451
+ Misc cleanup, improvements
? 406 lines

Probably last version.
I dont see much else worth adding, and I dont feel like cleaning up the logic =)

INI:
|**--------------
newtoon.mac
by LamahHerder
-----------------
Requirements:
    MQ2Nav mesh tutoriala + tutorialb + poknowledge +  bazaar
Usage:
    1. Modify declare variables to your desires
    2. /mac newtoon
-----------------
newtoon.mac
ver 1907b
--------------**|
#define DOMSG /echo
#define DODBG /squelch /echo
#event parcel       "You have received a new parcel delivery!"
Sub Main
    /declare BINDPOK    int outer   1   | Bind in PoK (choose only PoK or Guild)
    /declare BINDGUILD  int outer   0   | Bind in Guild Lobby (choose only PoK or Guild)

    /declare MERCTANK   int outer   1   | (choose only tank OR healer) Get Merc Tank
    /declare MERCHEALER int outer   0   | (choose only tank OR healer) Get Merc Healer

    /declare GETCHARM   int outer   1   | Get Kobold Skull Charm http://everquest.allakhazam.com/db/item.html?item=29524
    /declare GETFELLOW  int outer   1   | Get Fellowship Registration Insignia http://everquest.allakhazam.com/db/item.html?item=64853
    /declare GETWRBAG   int outer   1   | Get Sturdy Traveler's Pack (25% WR) http://everquest.allakhazam.com/db/item.html?item=103902
    /declare GETAUGGE   int outer   1   | Get Glowing Emerald Augment http://everquest.allakhazam.com/db/quest.html?quest=5706
    /declare GETPARCEL  int outer   1   | Retrieve all from parcel merchant (PoK)
    /declare GETGUILD   int outer   0   | Join The Novices Of ${MacroQuest.Server} http://everquest.allakhazam.com/db/quest.html?quest=8451
    /if ( ( ${BINDPOK} && ${BINDGUILD} ) || ( ${MERCTANK} && ${MERCHEALER} ) ) {
        /if ( ${BINDPOK} && ${BINDGUILD} ) /echo You may have either BINDPOK or BINDGUILD, not both!
        /if ( ${MERCTANK} && ${MERCHEALER} ) /echo You may have either MERCTANK or MERCHEALER, not both!
        /end
    }

    /while ( ${BINDPOK} || ${BINDGUILD} || ${MERCTANK} || ${MERCHEALER} || ${GETCHARM} || ${GETFELLOW} || ${GETWRBAG} || ${GETAUGGE} || ${GETPARCEL} || ${GETGUILD} ) {
        DODBG ${Macro.CurSub} - Loop
        /call checkReport
        /delay 5
        /if ( ${Zone.ShortName.Equal[tutoriala]} ) /call doTUTA
        /if ( ${Zone.ShortName.Equal[tutorialb]} ) /call doTUTB
        /if ( ${Zone.ShortName.Equal[poknowledge]} ) /call doPOK
        /if ( ${Zone.ShortName.Equal[bazaar]} ) /call doBazaar
        /if ( ${Zone.ShortName.Equal[guildlobby]} ) /call doGuildLobby
    }
    /call checkReport
    DOMSG [ ${Macro.Name} - ${Me.Name} ] Finished in ${Macro.RunTime}
/return
Sub doTUTA
    DODBG ${Macro.CurSub}
    /if ( ${FindItemCount[Tome]} ) /itemnotify "${FindItem[Tome]}" rightmouseup
    /while ( !${Window[targetwindow]} ) {
        /if ( ${Window[alertwnd]} ) /notify alertwnd ALW_Close_Button leftmouseup
        /if ( ${Window[rewardselectionwnd]} ) /notify rewardselectionwnd RewardSelectionChooseButton leftmouseup
        /if ( ${Window[LargeDialogWindow]} ) /invoke ${Window[largedialogwindow].Child[LDW_OkButton].LeftMouseUp}
        /delay 5
    }
    /if ( ${Bool[${Task[Jail Break!].Index}]}==FALSE ) {
        /if ( ${Spawn[Arias].Distance}>50 ) /call navToYX 11.29 88.40
        /call targetID ${Spawn[npc Arias].ID}
        /keypress HAIL
        /delay 5
        /say escape
        /delay 3s ${Window[TaskSelectWnd].Open}==TRUE
        /invoke ${Window[TaskSelectWnd].Child[TSEL_AcceptButton].LeftMouseUp}
        /delay 3s ${Bool[${Task[Jail].Index}]}==TRUE
    }
    /call navToYX 8.62 66.86
    /call navToYX 51.38 27.85
    /call navToID ${Spawn[npc The Gloomingdeep Jailor].ID}
    /keypress AUTOPRIM
    /while ( ${Bool[${FindItem[=The Gloomingdeep Jailor's Key].ID}]}==FALSE ) {
        /delay 1
        /if ( !${Window[inventorywindow]} ) /keypress INVENTORY
        /if ( ${Window[advancedlootwnd]} ) /notify advancedlootwnd ADLW_PLL_LootAllBtn leftmouseup
    }
    /delay 1s
    /nomodkey /itemnotify "The Gloomingdeep Jailor's Key" leftmouseup
    /call targetID ${Spawn[pet Arias].ID}
    /click left target
    /if ( ${Window[inventorywindow]} ) /keypress INVENTORY
    /delay 5s ${Window[GiveWnd].Open}
    /invoke ${Window[GiveWnd].Child[GVW_Give_Button].LeftMouseUp}
    /keypress HAIL
    /delay 99s ${Zone.ShortName.Equal[tutorialb]}==TRUE
/return
Sub doTUTB
    DODBG ${Macro.CurSub}
    /call checkReport
    /delay 1s
    /call targetID ${Spawn[npc Arias].ID}
    /keypress HAIL
    /call cleanWindows

    /if ( ${GETCHARM} ) {
        | Gloomingdeep arms
        /if ( ${Task[Basic].Objective[4].Status.NotEqual[Done]} ) {
            /call navToID ${Spawn[npc Vahlara].ID}
            /keypress HAIL
            /call cleanWindows
            /while ( !${Cursor.ID} ) {
                /delay 2
                /if ( ${FindItemCount[Gloomingdeep]} ) /break
                }
            /if ( ${Cursor.ID} ) /autoinventory
            /call cleanWindows
            /say others
        }
        | Ghetto Jboots
        /if ( ${Task[Basic].Objective[8].Status.NotEqual[Done]} ) {
            /call navToID ${Spawn[npc Basher Alga].ID}
            /keypress HAIL
            /delay 2s ${Window[TaskSelectWnd].Open}==TRUE
            /call cleanWindows
            /keypress HAIL
            /while ( !${FindItemCount[Worn Totem]} ) {
                /call cleanWindows
                /delay 5
            }
            /if ( ${FindItemCount[Worn Totem]} ) /useitem "Worn Totem"
            /delay 2s
        }
        | Chat with Prathun (needed for final reward)
        /if ( ${Task[Basic].Objective[7].Status.NotEqual[Done]} ) {
            /call navToID ${Spawn[npc Prathun].ID}
            /keypress HAIL
            /call cleanWindows
        }
        | Noob song/spell/tome
        /if ( ${Task[Basic].Objective[6].Status.NotEqual[Done]} ) {
            /call navToID ${Spawn[npc Rytan].ID}
            /say blessed
            /call cleanWindows
            /delay 1s
            /if ( ${FindItemCount[Song]} ) /nomodkey /itemnotify "${FindItem[Song]}" rightmouseup
            /if ( ${FindItemCount[Spell]} ) /nomodkey /itemnotify "${FindItem[Spell]}" rightmouseup
            /if ( ${FindItemCount[Tome]} ) /nomodkey /itemnotify "${FindItem[Tome]}" rightmouseup
            /delay 1s
            /delay 9s ( !${Cursor.ID} )
        }
        | Weapon sharpen (needed for final reward)
        /if ( ${Task[Basic].Objective[3].Status.NotEqual[Done]} ) {
            /call navToID ${Spawn[npc Absor].ID}
            /keypress HAIL
            /nomodkey /itemnotify mainhand leftmouseup
            /delay 1s
            /if (${Cursor.ID}) /click left target
            /delay 2s (${Window[givewnd]})
            /if (${Window[givewnd]}) /notify givewnd GVW_Give_Button leftmouseup
            /call cleanWindows
            /if (${FindItemCount[Sharpened]}) /itemnotify "${FindItem[Sharpened]}" leftmouseup
            /if (${FindItemCount[Polished]}) /itemnotify "${FindItem[Polished]}" leftmouseup
            /call cleanWindows
        }
    }
    | Merc Tank
    /if ( ( !${Mercenary.Index} ) && ( ${MERCHEALER} || ${MERCTANK} ) ) {
        /call navToID ${Spawn[npc Elegist].ID}
        /click right target
        /delay 1s
        /if ( ${Me.Subscription.Equal[FREE]} ) {
            /if ( ${MERCTANK} ) /invoke ${Window[mmtw_merchantwnd].Child[MMTW_SubtypeListBox].Select[3]}
            /if ( ${MERCHEALER} ) /invoke ${Window[mmtw_merchantwnd].Child[MMTW_SubtypeListBox].Select[4]}
        } else {
            /if ( ${MERCTANK} ) /invoke ${Window[mmtw_merchantwnd].Child[MMTW_SubtypeListBox].Select[9]}
            /if ( ${MERCHEALER} ) /invoke ${Window[mmtw_merchantwnd].Child[MMTW_SubtypeListBox].Select[9]}
        }
        /delay 1s
        /invoke ${Window[mmtw_merchantwnd].Child[MMTW_HireButton].LeftMouseUp}
    }
    | Bank Bag (not shared bank)
    /if ( ${FindItemCount[Backpack]}==1 ) {
        /call navToID ${Spawn[npc Lyndroh].ID}
        /click right target
        /delay 1s
        /nomodkey /itemnotify bank1 leftmouseup
        /delay 1s
        /call cleanWindows
    }
    :leaveToPOK
        /call navToYX -137.90 -13.43
        /call targetID ${Spawn[npc Arias].ID}
        /keypress HAIL
        /keypress HAIL
        /delay 1s
        /call cleanWindows
        /delay 1s
        /varset GETCHARM 0
        /say I am ready to leave
        /delay 99s ${Zone.ShortName.Equal[PoKnowledge]}==TRUE
/return
Sub doPOK
    DODBG ${Macro.CurSub}
    /call checkReport
    /if ( ${BINDPOK} ) {
        /call navToYX -189.91 -82.76
        /call targetID ${Spawn[npc Soulbinder Jera].ID}
        /say bind your soul
        /varset BINDPOK 0
    }
    /if ( ${GETWRBAG} || ${GETFELLOW} || ${GETGUILD} ) /call navToYX -102.52 -113.86
    | Start Bazaar quest for ${GETWRBAG}
    /if ( !${Bool[${Task[Bazaar].Index}]}>0 && ${GETWRBAG} ) /call taskStart "Secalna" "/keypress HAIL" "Bazaar"
    | Start Guild quest for ${GETGUILD}
    /if ( !${Bool[${Task[Guild Lobby].Index}]}>0 && ${GETGUILD} ) /call taskStart "Secalna" "/keypress HAIL" "Guild Lobby"
    | Get fellowship token
    /if ( ${GETFELLOW} ) {
        /call navToYX 165.79 -110.27
        /call navToYX 430.86 68.75
        /call targetID ${Spawn[npc Randall].ID}
        /say how
        /call cleanWindows
        /varset GETFELLOW 0
    }
    | Get Parcel
    /if ( ${GETPARCEL} ) {
        /call navToYX 427.35 474.42
        /call targetID ${Spawn[npc Frans Henkal].ID}
        /click right target
        /delay 1s
        /notify MerchantWnd MW_MerchantSubWindows tabselect 3
        /delay 1s
        /notify MerchantWnd MW_Retrieve_All_Button leftmouseup
        /varset GETPARCEL 0
    }
    | GETWRBAG 2
    /if ( ${Bool[${Task[Bazaar].Index}]}>0 && ${GETWRBAG} ) {
        /call navToYX 494.62 840.17
        /call navToID ${Spawn[npc Nebbo Watzet].ID}
        /say bazaar
        /call navToDoorID 6 | Facade
        /delay 99s ${Zone.ShortName.Equal[bazaar]}==TRUE
        /call doBazaar | !TODO Improve logic and move this to doBazaar
        /call navToID ${Spawn[npc Nebbo Watzet].ID}
        /say find
        /delay 2s
        /call cleanWindows
        /varset GETWRBAG 0
    }
    /if ( (${BINDGUILD} || ${GETGUILD} || ${GETAUGGE}) ) {
        /call navToID ${Spawn[npc Aven Spiritmaker].ID}
        /say joining
        /call navToDoorID 17 | to Guild Lobby
        /delay 99s ${Zone.ShortName.Equal[guildlobby]}==TRUE
        /call doGuildLobby
    }
/return
Sub doBazaar
    DODBG ${Macro.CurSub}
    /call checkReport
    /if ( ${Bool[${Task[Bazaar].Index}]}>0 && ${GETWRBAG} ) {
        /call navToID ${Spawn[npc Nermin].ID}
        /say business
   
        /call navToPortalID 57 | BLU 59 BLK 57 BLU
        /call navToID ${Spawn[npc Elan].ID}
        /say items
        /call cleanWindows
   
        /call navToPortalID 59 | BLU 59 BLK 57 BLU
        /call navToPortalID 58 | RED 61 BLK 58 RED
        /call navToID ${Spawn[npc Helena].ID}
        /say trader
        /call cleanWindows
        /call navToPortalID 61 | RED 61 BLK 58 RED
    }
    :leaveBazaar
        /call navToID ${Spawn[npc Sage Vindillar].ID}
        /say test subject
        /delay 99s ${Zone.ShortName.Equal[poknowledge]}==TRUE
/return
Sub doGuildLobby
    DODBG ${Macro.CurSub}
    /call checkReport
    /if ( ${GETGUILD} || ${BINDGUILD} ) {
        /if ( ${GETGUILD} ) {
            /call navToID ${Spawn[npc Kesiri Dawnlark].ID}
            /say corpse summoner
            /call navToID ${Spawn[npc Disciple of Luclin].ID}
            /say help
        }
        /if ( ${BINDGUILD} ) {
            /call navToYX 412.34 -270.09
            /call targetID ${Spawn[npc High Priestess of Luclin].ID}
            /say bind
            /varset BINDGUILD 0
        }
        /if ( ${GETGUILD} ) {
            /call navToID ${Spawn[npc Kesiri Dawnlark].ID}
            /say guildmates
            /call navToDoorID 34
            /call cleanWindows
            /call navToID ${Spawn[npc Kesiri Dawnlark].ID}
            /say willing
            /call cleanWindows
            /varset GETGUILD 0
        }
        /if ( ${GETAUGGE} ) {
            /call navToID ${Spawn[npc Kesiri Dawnlark].ID}
            /say guild halls
            /call navToDoorID 3 | OBJ_GUILD_DOOR > Standard Guild Hall
            /delay 99s ${Zone.ShortName.Equal[guildhall]}==TRUE
            /call doGuildHall
            /call navToID ${Spawn[npc Kesiri Dawnlark].ID}
            /keypress HAIL
            /delay 1s
            /call cleanWindows
            /varset GETAUGGE 0
        }
    }
    :leaveGuildLobby
        /call navToDoorID 2 | OBJ_TRANS_ENTRY > PoK
        /delay 99s ${Zone.ShortName.Equal[poknowledge]}==TRUE
/return
Sub doGuildHall
    DODBG ${Macro.CurSub}
    /call checkReport
    /if ( ${Bool[${Task[Exploring].Index}]}==TRUE ) {
        /call targetID ${Spawn[npc a_guild_treasurer].ID}
        /keypress HAIL
        /call cleanWindows
        /call navToYX 65.31 -112.85 | regen pool area
        /call navToID ${Spawn[npc Zeflmin Werlikanin].ID}
        /keypress HAIL
        /call navToYX 0.40 98.47 | crafting area
        /call navToID ${Spawn[npc Melody].ID}
        /say benefits
    }

    :leaveGuildHall
        /call navToDoorID 1 | OBJ_GUILD_DOOR > guildlobby
        /delay 99s ${Zone.ShortName.Equal[guildlobby]}==TRUE
/return
Sub cleanWindows
    DODBG ${Macro.CurSub}
    :loopLargeDialogWindow
        /if (${Window[LargeDialogWindow]}) /invoke ${Window[largedialogwindow].Child[LDW_OkButton].LeftMouseUp}
        /if (${Window[TaskSelectWnd]}) /nomodkey /notify TaskSelectWnd TSEL_AcceptButton leftmouseup
        /if (${Window[rewardselectionwnd]}) /nomodkey /notify rewardselectionwnd RewardSelectionChooseButton leftmouseup
        /if (${Window[lfguildwnd]}) /keypress TOGGLE_LFGUILDWIN
        /delay 1s ${Window[LargeDialogWindow].Open}==TRUE
        /if (${Cursor.ID}) /autoinventory
        /if (!${Window[LargeDialogWindow]}) /return
    /goto :loopLargeDialogWindow
/return
Sub checkReport
    DODBG ${Macro.CurSub}
    /if ( ${Me.ZoneBound[0].ShortName.Equal[poknowledge]} ) /varset BINDPOK 0
    /if ( ${Me.ZoneBound[0].ShortName.Equal[guildloby]} ) /varset BINDGUILD 0
    /if ( ${Mercenary.Index} ) {
        /varset MERCTANK 0
        /varset MERCHEALER 0
    }
    /if ( ${FindItem[Kobold Skull Charm].ID} ) /varset GETCHARM 0
    /if ( ${FindItem[Fellowship Registration Insignia].ID} ) /varset GETFELLOW 0
    /if ( ${FindItem[Sturdy Traveler's Pack].ID} ) /varset GETWRBAG 0
    /if ( ${FindItem[Sturdy Traveler's Pack].ID} ) /varset GETAUGGE 0
    /if ( ${Bool[${Me.Guild}]}==TRUE) /varset GETGUILD 0
    /if ( ${BINDPOK} ) DOMSG [ ${Macro.Name} - ${Me.Name} ] < BINDPOK
    /if ( ${BINDGUILD} ) DOMSG [ ${Macro.Name} - ${Me.Name} ] < BINDGUILD
    /if ( ${MERCTANK} ) DOMSG [ ${Macro.Name} - ${Me.Name} ] < MERCTANK
    /if ( ${MERCHEALER} ) DOMSG [ ${Macro.Name} - ${Me.Name} ] < MERCHEALER
    /if ( ${GETCHARM} ) DOMSG [ ${Macro.Name} - ${Me.Name} ] < GETCHARM
    /if ( ${GETFELLOW} ) DOMSG [ ${Macro.Name} - ${Me.Name} ] < GETFELLOW
    /if ( ${GETWRBAG} ) DOMSG [ ${Macro.Name} - ${Me.Name} ] < GETWRBAG
    /if ( ${GETAUGGE} ) DOMSG [ ${Macro.Name} - ${Me.Name} ] < GETAUGGE
    /if ( ${GETPARCEL} ) DOMSG [ ${Macro.Name} - ${Me.Name} ] < GETPARCEL
    /if ( ${GETGUILD} ) DOMSG [ ${Macro.Name} - ${Me.Name} ] < GETGUILD
    /if ( ${RETURNTUTB} ) DOMSG [ ${Macro.Name} - ${Me.Name} ] < RETURNTUTB
/return
Sub event_parcel
    DODBG ${Macro.CurSub}
    /varset GETPARCEL 1
/return
|
| from tf.inc
|
Sub navToDoorID(int doorID)
    DODBG ${Macro.CurSub} doorID = ${doorID}
    /nav door id ${doorID} click
    /if (!${Navigation.Active}) /delay 5
    /while (${Navigation.Active}) {
        /delay 5
    }
/return
Sub navToYX(float Yloc, float Xloc)
    DODBG ${Macro.CurSub} Yloc = ${Yloc} Xloc = ${Xloc}
    /nav locyx ${Yloc} ${Xloc}
    /delay 2s !${Navigation.Active}
    :stillMoving
        /delay 5 !${Navigation.Active}
        /if (${Navigation.Active}) /goto :stillMoving
/return
Sub navToID(int newID)
    DODBG ${Macro.CurSub} newID = ${newID}
    /nav id ${newID}
    /if (!${Navigation.Active}) /delay 1s
    /while (${Navigation.Active} || ${Target.ID}!=${newID}) {
        /delay 5
        /if (${Target.ID}!=${newID}) {
            /if (${Spawn[${newID}].LineOfSight}) {
                /call targetID ${newID}
            }
        }
    }
    /delay 2
/return
Sub navToPortalID(int portalID)
    DODBG ${Macro.CurSub} doorID = ${portalID}
    /declare origZone int local ${Zone.ID}
    /doortarget id ${portalID}
    /nav door id ${portalID} click
    /if (!${Navigation.Active}) /delay 5
    /while (${Navigation.Active}) {
        /delay 5
    }
    /while (${Switch.Distance}<60 || ${Me.Moving}) {
        /delay 5
    }
/return
Sub targetID(int newID)
    DODBG ${Macro.CurSub} newID = ${newID}
    /if (${Target.ID}==${newID}) /return
    /target id ${newID}
    /delay 2s ${Target.ID}==${newID}
/return
Sub taskStart(string taskNPC, string taskCommand, string taskName)
    DODBG ${Macro.CurSub} taskNPC = ${taskNPC} taskCommand = ${taskCommand} taskName = ${taskName}
    /call navToID ${Spawn[npc ${taskNPC}].ID}
    /docommand ${taskCommand}
    /delay 15
    /invoke ${Window[TaskSelectWnd].Child[TSEL_TaskList].Select[${Window[TaskSelectWnd].Child[TSEL_TaskList].List[${taskName}]}]}
    /delay 15
    /invoke ${Window[TaskSelectWnd].Child[TSEL_AcceptButton].LeftMouseUp}
/return
Sub event_zoned
    DODBG ${Macro.CurSub}
/return
Sub event_taskupdated
    DODBG ${Macro.CurSub}
/return
I would be interested in your runtime foreground or background, so post if you run it please

1907a (LamahHerder)
+ Rewrote logic
+ MQ2Nav required for movement
? Runtime Foreground=303seconds Background=346seconds
? 345 lines
Back
Top