Shambot 4.22

Yes it works.

You don't edit the macro at all if you run the newest version.

Run the shambot.mac file once and it will create an .ini, then /end the macro

You edit the shambot<yourtoonsname>.ini file

Now when you run it it will use the .ini that you edited

I just downloaded the latest version and set up a new .ini the other day as I was running a really old version. So far I've had no serious issues.
 
Sometimes I box with the shaman outside the group. The problem I have found is that this macro targets the shaman to cast some of the group spells like lynx for example. What changes are needed for him to target the main tank/assist while casting these spells?
 
total noobage<<<<

ok first how would i run it to make the ini.file?

second ive tried to run it ingame and i couldnt get it to work.

last but not least, im clueless on what to do. if someone can PM me that be great :O)
 
It is whatever you save the .mac file as....

/mac shambot is the default I think, mine is /mac shambot4.

First time it runs it will create the .ini that needs to be changed to match the spells you are wanting to cast.
 
Yes it works.

You don't edit the macro at all if you run the newest version.
.

You do need to if running 86+ spells, or at least the ini file. I prefer to have them both match.
 
Last edited:
Yes it works.

You don't edit the macro at all if you run the newest version.

Run the shambot.mac file once and it will create an .ini, then /end the macro

You edit the shambot<yourtoonsname>.ini file

Now when you run it it will use the .ini that you edited

I just downloaded the latest version and set up a new .ini the other day as I was running a really old version. So far I've had no serious issues.

Latest Version in VIP is different then posted here i believe. Alot don't have access to the latest version yet.
 
Updates.

I have made many many many changes to Shambot v4.43.

I want to post the updated macro and ini here... but want to make sure it is ok with Maskoi.

If I get an OK from him to post it... i will detail the new variables and how they work/should be defined.


UPDATE:
I have not heard anything from Maskoi, so I am going to post my changed file and let the community here do what they want with it. All my updates are made upon the base of Maskoi's v4.43.


Detailed changes:

1) Labeled every Sub routine with beginning and ending markers for easier seperation/location in code.

2) Moved all event subs to the end of the macro.

3) Added sub for self clarity check (Sub SelfClarityCheck)

4) Added sub for clicky maint (Sub DoClickies).

5) Added sub for distance check (Sub CheckMovDist) / tie in to movement and new leash function.

6) Added functions to main loop for:
Pulling mobs in radius
Doing melee to assist in combat
Leashing
Clicky Maintenance
SelfClarityCheck

7) Corrected mount sub to not attempt to cast mount while in combat (CombatState)!
Old Line:
Code:
/if (!${Me.Mount.ID} && ${OutDoors} && ${DoMount} && !${DoPactAA}) /call Mount

New Line:
Code:
/if (!${Me.CombatState.Equal[COMBAT]} && !${Me.Mount.ID} && ${OutDoors} && ${DoMount} && !${DoPactAA}) /call Mount

8) Altered chat channel joining function to not leave all channels, and to
only join chant channels and do initial channel tells if DoChatChannel setting is active.

Old Code:
Code:
	/if (${Defined[Param1]}) /varset ChatChannel ${Param1} 
	/leaveall 
	/if (${ChatChannel.Find[bc]}) {
		/varset ChatHere bc
	} else {
		/varset ChatHere 1
		/join ${ChatChannel}
	}
	
	/if (${DoChatChannel}) /${ChatHere} I am here!
    	/echo Joined channel ${ChatChannel}
	/if (${Defined[Param2]}) /varset ChatController ${Param2} 
	/vtell ${ChatController} 005 
	/tell ${ChatController} I am here! 
	/echo My master is ${ChatController}

New Code:
Code:
	/if (${DoChatChannel}) {
	    /if (${Defined[Param1]}) /varset ChatChannel ${Param1} 
	    |/leaveall 
	    /if (${ChatChannel.Find[bc]}) {
	    	/varset ChatHere bc
	    } else {
		/varset ChatHere 1
		/join ${ChatChannel}
		/echo Joined channel ${ChatChannel}
	    }
	    /if (${DoChatChannel}) /${ChatHere} I am here!
	    /if (${Defined[Param2]}) /varset ChatController ${Param2} 
	    /vtell ${ChatController} 005 
	    /tell ${ChatController} I am here! 
	    /echo My master is ${ChatController}
	}


9) Updated Sub LoadIni to call newly defined variables for the new subs/functions added.

/call LoadIni General DoClickMaint int 0
/call LoadIni General DoMelee int 0
/call LoadIni General DoLeash int 0
/call LoadIni General DoWarp int 0
/call LoadIni General DoCrackCheck int 0
/call LoadIni General DoPullTarget int 0
/call LoadIni General PullRadius int 70
/call LoadIni General PullZRadius int 15

Note:
DoClickMaint requires MQ2ClickMaint plugin

DoMelee is simply to start melee combat and assist main tank after all shaman spells are cast. (Work on melee skills)

DoLeash and its sub (CheckMovDist) requires inclusion of Move.inc

DoWarp check requires MMObugsWarp and is only called is DoLeash is active, and is used with DoWarp active as the method to return to leashpoint if you do not want to walk.

DoCrackCheck used to control sub (SelfClarityCheck), only uses best crack potion if no chanter buff is present.

DoPullTarget is used to pull targets with single target slow spell. (Used for lower level shaman+merc tank afk scenarios)

PullRadius and PullZRadius are the radius and Zradius for pulling.

10) Updated Variable structure to create new variable entries if first time ini creation.

11) Changed ini calls to create/use Shambot_YOURTOON.ini format instead of ShambotYOURTOON.ini

12) Prior disabled code for EPic 1.5/2.0 and other item usage has been re-enabled since functionality was restored with updated Spell_Routines.ini / Mq2Exchange /mq2bagwindow

Note: Additional variables for new functions/subs require updating/replacing your current ini
to accomodate new variables.
 

Attachments

  • Spell_Routines.inc
    22.1 KB · Views: 62
  • Ninjadvloot.inc
    5.9 KB · Views: 55
  • Move.inc
    14.1 KB · Views: 64
  • ShamBot.mac
    129 KB · Views: 76
Last edited:
Live.

Bump .. updated prior response with detailed information and posting of updated shambot.mac.

Question and comments welcome.
 
line 3013 is causing mac to error out
Code:
/return|--------------------------------------------------------------------------------
should be
Code:
/return 
|--------------------------------------------------------------------------------
 
what can you do so it recognizes some of the new healer mercs...it doesnt seem to realize clocwork or banshee soother
 
line 3013 is causing mac to error out
Code:
/return|--------------------------------------------------------------------------------
should be
Code:
/return 
|--------------------------------------------------------------------------------

Fixed and re-uploaded.

Thanks for spotting that issue... was simply an oversight on my part.
 
Last edited:
what can you do so it recognizes some of the new healer mercs...it doesnt seem to realize clocwork or banshee soother

I can recognize any group member as a mercenary .. and deterime what class merc they are.. that is easy....

The current code does have the ability already set to determine if you have a merc healer in group... in the (Sub CheckRoles), however you MUST have the setting "MercHealerMode" turned on in your config.... else the CheckRoles sub will not assign the correct values for MercCleric/DoHot/HealTank.

Code:
/if ([COLOR="Lime"]${MercHealerMode}[/COLOR] && !${MercCleric} && ${Group.Member[${i}].ID} && [COLOR="lime"]${Group.Member[${i}].Type.Equal[Mercenary]}[/COLOR] && [COLOR="lime"]${Select[${Group.Member[${i}].Class.ShortName},CLR]}[/COLOR] && ${Int[${TargetArray[2]}]}<${MercHealerMobLev}) {
	/varset DoHoT 0 
	/varset HealTank 0 
	/varset MercCleric 1
	/varset MercClericID ${Spawn[${Group.Member[${i}]}].ID}
	/if (${MercCleric} && !${MHMobDead}) /echo  +++ Detected mercenary cleric switching to Merc Healer Mode. +++
	/if (${MercCleric} && ${MHMobDead}) {
		/echo  +++ Level ${MercHealerMobLev} mob dead switching to Merc Healer Mode. +++
		/varset MHMobDead 0
	}
	/echo  +++ I will no longer heal Main Assist or cast HoT spells. +++
}


There is nothing in the code for determining merc type in the CheckRoles sub that would bomb out on what the merc's name is.

What I need to know is... what is NOT working for you .... or what are you trying to do different?

If you have a merc healer.... you NEED to have the MercHealerMode value set correctly in the ini.

Let me know if this is the issue... or if you are trying to do something different... what you are needing.
 
Last edited:
everything ran fine , then i got one of the HoT mercs a banshee soother.. now when i run shambot it keeps spamming uh oh lost merc healer switchinbg to backup healer mode and spends all the time healing tank,, with original merc there wasnt a problem and didnt change any settings.
 
everything ran fine , then i got one of the HoT mercs a banshee soother.. now when i run shambot it keeps spamming uh oh lost merc healer switchinbg to backup healer mode and spends all the time healing tank,, with original merc there wasnt a problem and didnt change any settings.

Questions:

1) Does it constantly loop the message: *** Uh Oh! Our merc healer is gone. *** or does it just say it once and switches to your shaman healing.

2) Does it ever say: *** Detected mob higher level than ####. ***

3) What level is your shaman,
does the merc cleric belong to your shaman,
or does the emrc cleric belong to someone else in group,
if other.... what is THEIR level.
What level mobs are you attacking.

The first 2 questions will let me know if it is caught in a loop due to a specific condition... the questions contained in #3 are so i can detect if its the MercHealerMobLev valie in your config.

Please answer those questions.... and in the mean time... test something for me... if your MercHealerMobLev value in the config is 86... and you are facing yellow/red cons.... detect the level of the mobs you are facing.. and change the MercHealerMobLev in your config to match that level.

Tell me what happens.
 
1) it loops it constantly

2) has never said this

3)shaman is 88
Merc belongs to mage in group he is 88
mobs are 86-87
 
Silly question why not just add an issue on the google page?
 
Any update version to work with lvl 90 spell lines

You set the spells you use in the first 100 lines of the nacro. Updatable by you, and pretty easy. Just replace old spell names with new ones.
 
new version on mq2 vip section works with the new unity.