OK I got bored Last night and put this together. Use at your own risk. It works for me. I don't like letting my group play overnight while I am sleeping, So I just set the time for 120(2 Hours). The timer is converted to the number of minutes you want the group to play for.
This Mod uses MQ2EQBC plugin to /end the macro on all toons and tell them to /camp desktop
Make the following changes:
Around line 320 Find these lines.
Rich (BB code):
| ************************* Tasks ****************************************|
| Do Not Edit These *****************************************************|
Above these lines Add this code:
Rich (BB code):
| ************************* Custom ************************************|
/call LoadIni Custom ExecuteCustomMods int 0
/call LoadIni Custom PlayTimer int 0
/if (${ExecuteCustomMods} && ${PlayTimer}) {
/declare PlayTimeCountDown timer outer ${PlayTimer}m
}
OK Next Find the Main Loop and replace it with this:
Rich (BB code):
| -------------------------------------------------------------------------------------
| Main Loop
| -------------------------------------------------------------------------------------
:MainLoop
/doevents
/if (${ChainPull}!=2) {
/call CampfireBack
/call AFKTools
/call CheckForCombat 1 MainLoop
/call AECheck
/call DoMezStuff
/call WriteDebuffs
/call CheckHealth
/call CheckCures
/call DoWeMove
/call RezCheck
/call Campfire
/call DoMiscStuff
/call CanIDoStuff
/call MercsDoWhat
/call CastMount
/call CastMana
/call DoPetStuff
/call CheckPetBuffs
/call WriteBuffs
/call WriteBuffsMerc
/call CheckBuffs
/call DoBardStuff
/call DoWeMed
/call GroupWatch
}
/if (!${Defined[PlayTimeCountDown]} || (${Defined[PlayTimeCountDown]} && ${PlayTimeCountDown})) /call FindMobToPull 1
/call DoTaskStuff
/call CheckForCombat 0 MainLoop
/call LootStuff
/if (${DebugHeal}) /delay 5
/if (!${ExecuteCustomMods}) /goto :MainLoop
/if (${Defined[PlayTimeCountDown]} && !${PlayTimeCountDown}) /call TimeToCamp
/goto :MainLoop
/return
Now go to the bottom of the macro and add this Sub Routine.
Rich (BB code):
| ----------------------------------------------------------------------------
| SUB: Parental Control At Its Best, Yea Right, well It is a stab at it.
| Custom Code: Ctaylor22
| ----------------------------------------------------------------------------
Sub TimeToCamp
/varset PlayTimeCountDown 2m
Lets wait for looter to Loot. 2 Minutes should be long enough.
/while (${PlayTimeCountDown}) {
/if (${Me.XTarget[${XTSlot}].ID}) /Return
}
/call MobRadar ${CampRadius} TimeToCamp
|/if (${MobCount}) /return
/call BroadCast ${IRCOn} ${EQBCOn} y "Play Time is Over! Ending Macro."
/bca //end
/delay 50
/bca //camp desktop
/delay 350
/bca //quit
:TryAgain
/camp desktop
/delay 20 ${Me.Sitting}
/if (!${Me.Sitting}) /goto :TryAgain
/end
/return
Run the macro and let it run long enough to create the new entries in the ini file. /end the macro and go edit the ini file on your character that is responsible for pulling. Find the [Custom] section and change the PlayTimer=???. ??? is converted to the number of minutes you want the macro to run before camping out the group. ONLY ONE TOON IN THE GROUP SHOULD HAVE THIS SETTING TURNED ON. Will work best on puller.
The TimeToCamp routine has a 2 minute delay to allow for the looter to loot before issuing the /camp command. If that is to long for you then change the
Rich (BB code):
/varset PlayTimeCountDown 2m
To what you want. 1m(one Minute), 30s(30 Seconds).
If at any time during the delay in the TimeToCamp routine a mob aggros the routine will return back to the main loop and continue till there are no mobs in the XTarget window.
Happy MQing