• 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 --->
  • Unfortunately, yes, there is a suspension wave happening around the new tlp launch. :'( Please keep regular discussion to Suspension MegaThread and please consider submitting a Suspension report to RG.

looking for a merc mana tracker (1 Viewer)

Joined
Jan 1, 2009
RedCents
655¢
Im lookin for macro that keeps track of the cleric mercs mana while afk exp grinding so it stops pulling when the cleric is to low to heal can anyone point me in the right direction looked up cleric mana check and im only seeing cleric scripts.
 
Im lookin for macro that keeps track of the cleric mercs mana while afk exp grinding so it stops pulling when the cleric is to low to heal can anyone point me in the right direction looked up cleric mana check and im only seeing cleric scripts.

Today is your lucky day. I wrote exactly that code for my puller macro and this will watch the mana of any merc or player whose name you put in as long as you are grouped with them.

Put this in you with your /declares
Rich (BB code):
|------------------------------------------------------------
| Group Healer Name, Mana check to stop and resume pulling
|------------------------------------------------------------
   /declare Do_Healer_Check    int outer    1
   /declare Healer_Name         string outer healer_name_here
   /declare Healer_Mana_Pause   int outer    20
   /declare Healer_Mana_Resume  int outer    90
   /declare waiting_spam     int outer   1


Put the subroutine call in your main loop
Rich (BB code):
      /if (${Do_Healer_Check})  /call Check_Healer_Mana


Cut and paste the actual subroutine in the bottom of your macro
Rich (BB code):
|--------------------------------------------------------------------------------
| SUB: Check_Healer_Mana
|--------------------------------------------------------------------------------
Sub Check_Healer_Mana
	/if (${Group.Member[${Group.Member[${Healer_Name}]}].PctMana}>${Healer_Mana_Pause}) /return
	:wait_for_healer
	/if (${waiting_spam}) {
		/echo Waiting for healer to med up. ${Healer_Name} has ${Group.Member[${Group.Member[${Healer_Name}]}].PctMana}% mana
		/varset waiting_spam 0
		/timed 600 /varset waiting_spam 1
	}
	/if (${Group.Member[${Group.Member[${Healer_Name}]}].PctMana}<${Healer_Mana_Resume}) /goto :wait_for_healer
	/return
 
ok im not a programmer i have this cobbled together i have two macros that run piggy back off one another and pull worgs to group it works pretty decent but every so often i find my character fighting mob hes suposed to be pulling back to group. I tried adding the healer mana check to it and I messed up good lol it stops the macro trying to figure out where my screw up is.


This is whats in the macro now it locks up at line 34
Starts here.......

Group Healer Name, Mana check to stop and resume pulling
Rich (BB code):
|------------------------------------------------------------
   /declare Do_Healer_Check    int outer    1
   /declare Healer_Name         string outer merc name
   /declare Healer_Mana_Pause   int outer    35
   /declare Healer_Mana_Resume  int outer    90
   /declare waiting_spam     int outer   1

This where my actual code starts

Sub Main
:AquireTarget
        
        /echo camp one loaded
        /makecamp return
        /target npc worg los radius 300
        /face fast
        /alt activate 199
        /killthis
        /stick
         
        /delay 90
        /if (${Me.CombatState.Equal[combat]}) /goto :AquireTarget
        }
        /if (${Me.CombatState.Equal[Standing]}) /macro bardpull
        /if (${Do_Healer_Check})  /call Check_Healer_Mana 
        (broken at this point of the macro)



 



 
Sub Check_Healer_Mana
	/if (${Group.Member[${Group.Member[${Healer_Name}]}].PctMana}>${Healer_Mana_Pause}) /return
	:wait_for_healer
	/if (${waiting_spam}) {
		/makecamp return
                /twist off
                /target clear
                /alt activate 212
                /echo Waiting for healer to med up. ${Healer_Name} has ${Group.Member[${Group.Member[${Healer_Name}]}].PctMana}% mana
		/varset waiting_spam 0
		/timed 600 /varset waiting_spam 1
	}
	/if (${Group.Member[${Group.Member[${Healer_Name}]}].PctMana}<${Healer_Mana_Resume}) /goto :AquireTarget



The second macro is the pull script

Sub Main
   
:pull
/alt activate 3704
/echo pulling now
/target npc worg
/moveto id (is there a way to set a range feature on move to id i want him to pull from range character is walking up to mobs )
/alt activate 199
/if (${Me.CombatState.Equal[combat]}) /goto :Targetaquired
}
/if (${Me.CombatState.Equal[Standing]}) /goto :pull
}


:TargetAquired
/makecamp loc -1941 1144 (this places you right at the front of the worg camp)
/makecamp return
/delay 20s
/face fast
/macro worgcamp1
Any suggestions?
 
Last edited:
I can' t read your code its kind of garbled.
Is that entire macro? If not please post the whole thing with out comments.
Please edit your post and wrap code tags (Example 1) around your macro so it looks like below (Expample 2).

Example 1
HTML:
[code=rich]  My Macro [/code]
Example 2
Rich (BB code):
  My Macro

I should be able to combine them into one macro for you.
 
Now Maskoi thats not very nice.. I mean reading macro's is a simple thing I totally understand what is being shared. :) maybe pm'ing him with the fixes so he can edit it is better then a public example.
 
Here you go. I combined both macros into one, calling macros from other macros can make things get weird.

Cut and paste it into notepad and call it worg.mac

/mac worg you should be good to go. This is semi-tested and I jammed it out quick at work so be kind lol. Post any issues if its gets buggy and I can help get it working for you.

Rich (BB code):
| - Worg.mac v. 1.0 by macromanic
| - Revised by Maskoi 9/172010
| - Requires your toon is a Bard, MQ2Melee and MQ2MoveUtils
| This macro made for www.Redguides.com/www.NotAddicted.com
| Don't steal it or we'll punch your fase!

Sub Main

   /declare Do_Healer_Check    int outer    1
   /declare Healer_Name         string outer healer_name_here
   /declare Healer_Mana_Pause   int outer    35
   /declare Healer_Mana_Resume  int outer    90
   /declare waiting_spam     int outer   1
   
	| - this places you right at the front of the worg camp
	/makecamp loc -1941 1144
	
	:mainloop
	|- Zone Check end macro if any where else than loping plains or not a bard
	/if (${Zone.ID}!=443 || ${Me.Class.Name.NotEqual[Bard]})  /end

	/if (${MakeCamp.CampDist}>=10) /makecamp return
	
	| - check healers mana so I have heals on pulls
	/if (${Do_Healer_Check})  /call Check_Healer_Mana 
	 
	:AquireTarget
		/target clear
		/if (!${Target.ID}) {
			/echo Aquiring Target
			/target npc worg los radius 300
		}
		/delay 10
		/if (!${Target.ID}) /goto :AquireTarget
	 
	:Pull
		/if (${Target.ID} && ${Target.Type.Equal[NPC]}) {
			/if (${Me.Class.Name.Equal[Bard]} && !${Me.Buff[Selo's Sonata].ID}) /alt activate 3704 
			/face fast
			/if (${Target.ID}) /echo Pulling ${Target.CleanName} now
			:movetotarget
				/moveto id 
			/delay 10
			/if (${Target.Distance}>=51) /goto :movetotarget
			/if (${Target.Distance}<=50) /moveto off
			/if (${Target.Distance}<=50 && ${Target.LineOfSight} && ${Me.Class.Name.Equal[Bard]} && ${Me.AltAbilityReady[Boastful Bellow]}) /alt activate 199
			/if (${Target.ID} && ${Me.CombatState.Equal[COMBAT]}) /goto :TargetAquired	
			/if (!${Target.ID}) /goto :AquireTarget
		}

	:TargetAquired
		/if (${MakeCamp.CampDist}>=10) {
		:returntocamp
			/makecamp return
			/delay 10
			/if (${MakeCamp.CampDist}>=10) /goto :returntocamp
		}
		
		:WaitforMob
		/face fast
		/if (${Target.Distance}>=20) /goto :WaitforMob
			:killtarget
				/face fast 
				/killthis
				/stick
				/delay 90
			/if (${Target.ID}) /goto :killtarget
			/echo Target dead
			/target clear
		
	/goto :mainloop
 /return
 
Sub Check_Healer_Mana
	/if (${Group.Member[${Group.Member[${Healer_Name}]}].PctMana}>${Healer_Mana_Pause}) /return
	/if (${MakeCamp.CampDist}>=10) /makecamp return
	/twist off
	/target clear
	/alt activate 212
	:wait_for_healer
		/if (${waiting_spam}) {
			/echo Waiting for healer to med up. ${Healer_Name} has ${Group.Member[${Group.Member[${Healer_Name}]}].PctMana}% mana
			/varset waiting_spam 0
			/timed 600 /varset waiting_spam 1
		}
	/if (${Group.Member[${Group.Member[${Healer_Name}]}].PctMana}<${Healer_Mana_Resume}) /goto :wait_for_healer
/return
 
Last edited:
Your rock man this worked awesome.

Thanks so much theres some slight gooberishness when it gets back to camp and it does this wierd jig there for a bit and it doent seem to pick up right away if theres a 2nd mob in camp but the code you wrote is awesome and im gonna tweek it a little or try to.

I cant thank you enough I learned a lot reading and going over your code compared to my hatchet job.

All this needs is a 20 count kill tracker and a go get task script ... not that im asking one to be made im gonna try and put one together ... wish me luck
 
Your rock man this worked awesome.

Thanks so much theres some slight gooberishness when it gets back to camp and it does this wierd jig there for a bit and it doent seem to pick up right away if theres a 2nd mob in camp but the code you wrote is awesome and im gonna tweek it a little or try to.

I cant thank you enough I learned a lot reading and going over your code compared to my hatchet job.

All this needs is a 20 count kill tracker and a go get task script ... not that im asking one to be made im gonna try and put one together ... wish me luck

Glad you are enjoying it. I didn't spend a lot of time on it. I just tried to glue together what you had and put a few /if statements in hehe. Keep playing it and see what works for you. Its a good way to start on how to write macros.
 
I super fined tuned this sub routine to watch any stat on any person. To make it easy though here is the way I typically use it to watch the the tank and healer that way you are not pulling with 0 endurance or 0 mana on healer

Put this in your variables
Rich (BB code):
|-------------------------------------------------------------------------------------
| Group Main Assist & Healer  Mana/Endurance check to stop and resume pulling
|-------------------------------------------------------------------------------------
	/declare MainAssist 			string 		Tank_Name
	/declare DoMACheck    			int 		1
	/declare DoHealerCheck    		int 		1
	/declare HealerName		    string 		Healer_Name
        /declare Debug    		int 		0
This calls the subroutine put it near the top of your main loop
Rich (BB code):
/call DoWePause
Cut and paste these with the rest of your subroutines
Rich (BB code):
|-------------------------------------------------------------------------------------
| SUB: DoWePause
|-------------------------------------------------------------------------------------
	Sub DoWePause
		/if (${Debug}) /echo DoWePause
		/call CheckStats ${DoMACheck} "${MainAssist}" "${MAClass}" Endurance 20 90
		/call CheckStats ${DoHealerCheck} "${HealerName}" "${HealerClass}" Mana 20 90
		/if (${Debug}) /echo leave DoWePause
	/return

Rich (BB code):
|-------------------------------------------------------------------------------------
| SUB: CheckStats
|-------------------------------------------------------------------------------------
	Sub CheckStats(int statcheck, charname, ckclass, stat, int pause,int resume)
	/if (${Debug}) /echo statcheck ${statcheck} charname ${charname} ckclass ${ckclass} stat ${stat} pause ${pause} resume ${resume}
		/if (!${statcheck} || !${Spawn[${ckclass} ${charname}].ID} || ${Group.Member[${Group.Member[${Spawn[Group ${ckclass} ${charname}]}]}].Current${stat}}>${pause}) /return
		/echo Waiting for ${charname} to med up to ${resume}% ${stat}.
		:wait_for_resume
		/if (${Group.Member[${Group.Member[${Spawn[Group ${ckclass} ${charname}]}]}].Current${stat}}<${resume}) /goto :wait_for_resume
		/echo ${charname} is now above ${resume}% ${stat} resuming activity.
		/if (${Debug}) /echo leaving CheckStats
	/return
 
K i put the above Snip into my warrpull mac but it doesn't seem to stop and med once my merc goes Omm. I updated the warrpull mac on site to so was hoping you could check it out maybe you can spot where I'm messing up. Oh ya and i did have the name of my toon and merc in the declares.
 
looking for a merc mana tracker

Users who are viewing this thread

Back
Top