• IS THIS SITE UGLY? Click "RG3" at the very bottom-left of this page to change it. To dismiss this notice, click the X --->
And Now - a macro to start your AFNuke2, AutoCleric and Kissassist

Utility And Now - a macro to start your AFNuke2, AutoCleric and Kissassist 1.0

Download now: Join us with Level 2 access
or earn your way in with RedCents.
Software Requirements
EQBCS
This macro goes through your group and depending on group member class launches AFNuke2, AutoCleric, or Kissassist for each one.

The main reason I wanted this is because I will be going to custom KA INI's for all my toons depending on level (5 lvl increments). I wanted this framework to work off of. I plan on extrapolating via group member level and class, which KA INI to use. That is not implemented yet.

Upcoming releases/future features:
  • Launch AFNuke85, AFNuke100 and AFNuke2 depending on level.
  • Launch KissAssist for any wizzy under lvl 85.
  • Launch KissAssist for any cleric under AutoCleric's level range.
  • Custom KA INI's mentioned above.
  • AdvPath PathNames (puller/pullertank) to be handed to KA at startup.

Features I am considering:
  • If no MA is detected in group, use whatever target each toon has for Assist assignment (i.e. /bcg //tar ID ${Me.ID}).
  • OR - If no MA is detected, MT will assume MA role and others will assist it.

Usage:
  • Have EQBCS running
  • Create Group
  • Assign MainTank, MainAssist, and Puller in group window. Puller is optional if you wanted to run a toon manually (not tested). You would have to turn on/off the various KA [Sections] to accommodate.
  • You can assign Master Looter too since KA9 Release will not over-ride your ML as long as group leader is started last, which it will be. You see that Hoosier?
  • Run this mac from Group Leader.

Settings:
  • Set Debug TRUE if you want/need bread-crumb to go to MQ2Win
  • Set Broadcast TRUE/FALSE to turn on/off basic messages
  • Set ACName to whatever version of AutoCleric you are using (name of mac) defaults to AutoCleric
  • Set KAName to whatever version of KissAssist you are using (name of mac) defaults to KissAssist
  • Set AFNWiz to FALSE if you want your Wiz to be given over to KissAssist (for whatever reason)
  • Set ACClr to FALSE if you want your Clr to be given over to KissAssist (for whatever reason)
  • Set AllowWizClr to TRUE if you want your Wiz or Clr to be allowed to be MA or MT (for whatever reason - could be farming tradeskill items from grey cons, or needing to be group controller for task /ground spawns etc). I am undecided at this time whether or not I want to keep that functionality.

If you find this useful, hit the :rc THANKS.

-------------------------------------------------------------------------------------------------

*** Incog's MQ2StartMacs - Beta 1 - 2016 ***

Rich (BB code):
| MQ2StartMacs.mac - Incognito
| This mac will check everyone in your group to see if they are in the same zone, not Offline, a PC (excluding mercs), and start a macro depending on class.
| Clerics get AutoCleric, Wiz's get AFNuke2 (regretfully configurable). All others get Kissassist.
| It is assumed you have created your group, and assigned MA, MT, & Puller.
| We assign our own macro seperately and lastly due to this mac will abort once launching our own macro.
| It is also assumed you have EQBC up and running and you are connected.

| ** Upcoming functionality - TODO **
| Handle custom INI's
| Handle AdvPath PathNames for pulling
| If no MA is detected then macro startups will attempt to use whoever that toon has targeted. So you could do a /bcg //tar ID ${Me.ID}.
| If MA does not detect Tank then it will assume Tank Role. If MT does not detect MA then it will assume MA and others will Assist it.
| Assignement of AFNuke2, AFNuke100 or AFNuke85 depending on toons level.

| ------------------------------------------------------------------------------------------------
| ** Usage **
| ------------------------------------------------------------------------------------------------
| * Have EQBCS running
| * Create Group
| * Assign MainTank, MainAssist, and Puller in group window
| * You can assign Master Looter too since KA9 Release will not over-ride your ML as long as
|        group leader is started last, which it will be.
| * Run this mac from group leader
| ------------------------------
| * SETTINGS *
| ------------------------------
| *   * Set Debug TRUE if you want/need bread-crumb to go to MQ2Win
| *   * Set Broadcast TRUE/FALSE to turn on/off basic messages
| *   * Set ACName to whatever version of AutoCleric you are using (name of mac)
| *   * Set KAName to whatever version of KissAssist you are using (name of mac)
| *   * Set AFNWiz to FALSE if you want your Wiz to be given over to KissAssist (for whatever reason)
| *   * Set ACClr to FALSE if you want your Clr to be given over to KissAssist (for whatever reason)
| *   * Set AllowWizClr to TRUE if you want your Wiz or Clr to be allowed to be MA or MT (whatever)
|           I am undecided at this time whether or not I want to keep that functionality.
| ------------------------------------------------------------------------------------------------

| ------------------------------------------------------------------------------------------------
Sub Main

    /echo *** Incog's MQ2StartMacs - Beta 1 - 2016 ***
    /declare ACName         string     outer AutoCleric
    /declare KAName         string     outer kissassist
    /declare Debug            bool    outer FALSE
    /declare Broadcast         bool    outer TRUE
    /declare AFNWiz            bool    outer TRUE
    /declare ACClr            bool    outer TRUE
    /declare AllowWizClr    bool    outer TRUE
   
    | --------------------------------------------
    | ** Do NOT change these - internal use vars
    | --------------------------------------------
    /declare MyInd             int     outer
    /declare x                 int     local 0
    /declare MA             string     outer
    /declare MT             string     outer
    /declare GetOut         bool     outer FALSE
    /declare CSN            string     outer
    | --------------------------------------------

    /varset MA ${Group.MainAssist}
    /varset MT ${Group.MainTank}
   
    /if (!${Group.Members}) {
        /echo YOU have not created a group yet. Aborting.
        /return
    }
    /if (${MA.Find[null]}) {
        /echo Please assign MainAssist in Group Window. Aborting.
    }
    /if (${MT.Find[null]}) {
        /echo Please assign MainTank in Group Window. Aborting.
    }
    /if (${MT.Find[null]} || ${MA.Find[null]}) /return
    /if (${Broadcast} || ${Debug}) /echo Detected MA: ${Group.MainAssist} - ${Group.MainAssist.Class} - MT: ${Group.MainTank} - ${Group.MainTank.Class}
   
    | ** Undecided yet if I want to allow a WIZ/CLR to be able to be MA/MT **
    /if (${Select[${Group.MainAssist.Class},WIZ,CLR]} && !${AllowWizClr}) {
        /echo WIZ or CLR detected as MA. Aborting.
        /return
    }
    /if (${Select[${Group.MainTank.Class},WIZ,CSN]} && !${AllowWizClr}) {
        /echo WIZ or CLR detected as MT. Aborting.
        /return
    }
    | start at 1 instead of 0 to exclude yourself, we are doing ourself last after the loop
    /for x 1 to ${Group}
        /if (${Debug}) /echo INSIDE Loop - X: ${x} - OtherZone: ${Group.Member[${x}].OtherZone} - Type PC: ${Group.Member[${x}].Type.Equal[PC]} - OffLine: ${Group.Member[${x}].Offline}
        /if (${Broadcast}) /echo Processing GroupMember ${x} - ${Group.Member[${x}].Name} a ${Group.Member[${x}].Class.ShortName}
        /If (!${Group.Member[${x}].OtherZone} && ${Group.Member[${x}].Type.Equal[PC]} && !${Group.Member[${x}].Offline}) {
            /varset CSN ${Group.Member[${x}].Class.ShortName}
            /call CheckForAFNuke ${x} ${CSN}
            /if (!${Macro.Return}) /call CheckForAC ${x} ${CSN}
            /if (!${Macro.Return}) /call CheckForAssist ${x} ${CSN}
            /if (!${Macro.Return}) /call CheckForPullerTank ${x} ${CSN}
            /if (!${Macro.Return}) /call CheckForPuller ${x} ${CSN}
            /if (!${Macro.Return}) /call CheckForTank ${x} ${CSN}
            /doevents
        }
        /varset GetOut FALSE
    /next x
   
    /if (${Debug}) /echo After LOOP - MacReturn: !${Macro.Return} - GetOut: ${GetOut}
    /varset MyInd ${Group.Member[${Me}].Index} | should be zero
    /varset CSN ${Group.Member[${MyInd}].Class.ShortName}
    | /varset GetOut FALSE
    /if (${Debug}) /echo Last Member (Me) MyInd: ${MyInd} - MyClass: ${CSN} - MacReturn: ${Macro.Return} - GetOut: ${GetOut}
    /if (${Broadcast}) /echo I am ${Group.Member[${MyInd}].Name} a ${CSN}
    /call CheckForAFNuke ${MyInd} ${CSN}
    /if (!${Macro.Return}) /call CheckForAC ${MyInd} ${CSN}
    /if (!${Macro.Return}) /call CheckForAssist ${MyInd} ${CSN}
    /if (!${Macro.Return}) /call CheckForPullerTank ${MyInd} ${CSN}
    /if (!${Macro.Return}) /call CheckForPuller ${MyInd} ${CSN}
    /if (!${Macro.Return}) /call CheckForTank ${MyInd} ${CSN}
/return

Sub CheckForAC(int GrpMemNum, string CName)
    /if (${Debug}) /echo Inside CheckForAC GrpMemNum: ${GrpMemNum} - CName: ${CName} - ACFlag: ${ACClr}
    /if (${Select[${CName},CLR]} && ${ACClr}) {
        /call DoAutoCleric ${GrpMemNum}
        /varset GetOut TRUE
    }
/return ${GetOut}

Sub CheckForAFNuke(int GrpMemNum, string CName)
    /if (${Debug}) /echo Inside CheckForAFNuke GrpMemNum: ${GrpMemNum} - CName: ${CName} - WizFlag: ${AFNWiz}
    /if (${Select[${CName},WIZ]} && ${AFNWiz}) {
        /call DoAFNuke2 ${GrpMemNum}
        /varset GetOut TRUE
    }
/return ${GetOut}

Sub CheckForPullerTank(int GrpMemNum, string CName)
    /if (${Debug}) /echo Inside CheckForPullerTank GrpMemNum: ${GrpMemNum} - CName: ${CName}
    /if (!${Select[${CName},CLR,WIZ]} && ${Group.Member[${GrpMemNum}].MainTank} && ${Group.Member[${GrpMemNum}].Puller}) {
        /call DoKAPullerTank ${GrpMemNum}
        /varset GetOut TRUE
    }
/return ${GetOut}

Sub CheckForTank(int GrpMemNum, string CName)
    /if (${Debug}) /echo Inside CheckForTank GrpMemNum: ${GrpMemNum} - CName: ${CName}
    /if (!${Select[${CName},CLR,WIZ]} && ${Group.Member[${GrpMemNum}].MainTank} && !${Group.Member[${GrpMemNum}].Puller}) {
        /call DoKATank ${GrpMemNum}
        /varset GetOut TRUE
    }
/return ${GetOut}

Sub CheckForPuller(int GrpMemNum, string CName)
    /if (${Debug}) /echo Inside CheckForPuller GrpMemNum: ${GrpMemNum} - CName: ${CName}
    /if (!${Select[${CName},CLR,WIZ]} && !${Group.Member[${GrpMemNum}].MainTank} && ${Group.Member[${GrpMemNum}].Puller}) {
        /call DoKAPuller ${GrpMemNum}
        /varset GetOut TRUE
    }
/return ${GetOut}

Sub CheckForAssist(int GrpMemNum, string CName)
    /if (${Debug}) /echo Inside CheckForAssist GrpMemNum: ${GrpMemNum} - CName: ${CName}
    /if (!${Group.Member[${GrpMemNum}].MainAssist} !${Group.Member[${GrpMemNum}].MainTank}) {
        /call DoKAAssist ${GrpMemNum}
        /varset GetOut TRUE
    }
/return ${GetOut}

Sub DoAutoCleric(int GrpMemNum)
    /if (${Broadcast} || ${Debug}) /echo Assigning ${Group.Member[${GrpMemNum}]} to ${ACName} assisting ${MA}
    /bct ${Group.Member[${GrpMemNum}]} //tar ${MA}
    /bct ${Group.Member[${GrpMemNum}]} //mac ${ACName}
/return

Sub DoAFNuke2(int GrpMemNum)
    | TODO AFNuke85/100
    /if (${Broadcast} || ${Debug}) /echo Assigning ${Group.Member[${GrpMemNum}]} to AFNuke2 assisting ${MA}
    /bct ${Group.Member[${GrpMemNum}]} //tar ${MA}
    /bct ${Group.Member[${GrpMemNum}]} //mac afnuke2
/return

Sub DoKAAssist(int GrpMemNum)
    /if (${Broadcast} || ${Debug}) /echo Assigning ${Group.Member[${GrpMemNum}]} to ${KAName} assisting ${MA}
    /bct ${Group.Member[${GrpMemNum}]} //tar ${MA}
    /bct ${Group.Member[${GrpMemNum}]} //mac ${KAName}
/return

Sub DoKAPullerTank(int GrpMemNum)
    /if (${Broadcast} || ${Debug}) /echo Assigning ${Group.Member[${GrpMemNum}]} to ${KAName} PullerTank assisting ${MA}
    /bct ${Group.Member[${GrpMemNum}]} //tar ${MA}
    /bct ${Group.Member[${GrpMemNum}]} //mac ${KAName} pullertank
/return

Sub DoKATank(int GrpMemNum)
    /if (${Broadcast} || ${Debug}) /echo Assigning ${Group.Member[${GrpMemNum}]} to ${KAName} Tank assisting ${MA}
    /bct ${Group.Member[${GrpMemNum}]} //tar ${MA}
    /bct ${Group.Member[${GrpMemNum}]} //mac ${KAName} tank
/return

Sub DoKAPuller(int GrpMemNum)
    /if (${Broadcast} || ${Debug}) /echo Assigning ${Group.Member[${GrpMemNum}]} to ${KAName} Puller assisting ${MA}
    /bct ${Group.Member[${GrpMemNum}]} //tar ${MA}
    /bct ${Group.Member[${GrpMemNum}]} //mac ${KAName} puller
/return
Server Type
Live, Emu, TLP, Test Server
Author
Incognito
Downloads
4
First release
Last update
Rating
0.00 star(s) 0 ratings
Top