Help with extremely basic assist mac

Pythag

New member
Joined
Jan 2, 2010
Messages
5
Reaction score
0
Points
0
Hi
I have tried the various assist macs but am not too bright and they appear to do much more than I can deal with.
I want a simplish mac that has my Necro fire off 7 dots when I am in combat on another toon - I want to buff and check mana manually as I need.
I have hashed together some bits from others mainly petesampras and villageidiot but need help - any takers? If so thank you..

Code:
|Very Basic Assist Mac

#event follow "follow me egghead"
#event followend "will you stop now please"

#include spell_routines.inc
#turbo 80

Sub Main

	/declare Attack1 string outer Dooming Darkness
	/declare Attack2 string outer Boil Blood
	/declare Attack3 string outer Dark Soul
	/declare Attack4 string outer Chilling Embrace
	/declare Attack5 string outer Asystole
	/declare Attack6 string outer Ignite Bones
	/declare Attack7 string outer Drain Spirit
	/declare Feign string outer Feign Death
	/declare ReAssist timer outer 10s

	/declare NukeAt int outer 90
	/declare Stop int outer 25

/call Initialize

	/echo Beginning a Copied Macro...

:MainLoop
	/call CheckTarget
	/call Nuke
	/doevents
	/goto :MainLoop
/return

Sub Initialize
	/if (!${Target.ID} || ${Target.Type.NotEqual[PC]} || ${Target.ID}==${Me.ID}) {
  	/echo Please target the main tank before running the macro
  	/end
	}
	/declare MainTank int outer ${Target.ID}
	/declare TarID int outer
/return

Sub CheckTarget
 	/if ((!${Target.ID} || ${Target.Type.NotEqual[NPC]} || !${ReAssist}) && ${Spawn[id ${MainTank} radius 200].ID}) {
   	/assist ${Spawn[id ${MainTank}]}
   	/varset ReAssist ${ReAssist.OriginalValue}
 	}
 	/if (${Target.ID} && ${Target.Type.Equal[NPC]} && ${Target.ID}!=${TarID}) {
   	/varset TarID ${Target.ID}
   	/varset CBC 0
   	/varset Snared 0
 	}
/return

Sub Nuke
 	/if (${Target.PctHPs}<=${Stop} && ${Target.ID} && ${Target.Type.Equal[NPC]}) /got :mainloop
 	/if (${Target.PctHPs}<=${NukeAt} && ${Target.ID} && ${Target.Type.Equal[NPC]})
 	/call cast "${Attack1}"
 	/call cast "${Attack1}"
 	/call cast "${Attack2}"
 	/call cast "${Attack3}"
 	/call cast "${Attack4}"
 	/call cast "${Attack5}"
 	/call cast "${Attack6}"
 	/call cast "${Attack7}"
/return

Sub follow
	:followloop
	/doevents
	/face fast
	/if (${Target.Distance}>60) /keypress up hold
	/if (${Target.Distance}<40) /keypress up 
	/if (${Target.Distance}<40) /goto :loop
	/delay 2
	/goto :followloop
/return

Sub followend
 	/goto :Mainloop
/return
 
Ok made some adjustments - this works all but the follow part :confused:
Code:
|Very Basic Assist Mac

#event follow "follow me egghead"
#event followend "will you stop now please"

#include spell_routines.inc
#turbo 80

Sub Main

	/declare Attack1 string outer Dooming Darkness
	/declare Attack2 string outer Boil Blood
	/declare Attack3 string outer Dark Soul
	/declare Attack4 string outer Chilling Embrace
	/declare Attack5 string outer Asystole
	/declare Attack6 string outer Ignite Bones
	/declare Attack7 string outer Drain Spirit
	/declare Feign string outer Feign Death
	/declare ReAssist timer outer 10s

	/declare NukeAt int outer 90
	/declare Stop int outer 25

/call Initialize

	/echo Beginning a Copied Macro...

:MainLoop
	/call CheckTarget
	/call Nuke
	/doevents
	/goto :MainLoop
/return

Sub Initialize
	/if (!${Target.ID} || ${Target.Type.NotEqual[PC]} || ${Target.ID}==${Me.ID}) {
  	/echo Please target the main tank before running the macro
  	/end
	}
	/declare MainTank int outer ${Target.ID}
	/declare TarID int outer
/return

Sub CheckTarget
 	/if ((!${Target.ID} || ${Target.Type.NotEqual[NPC]} || !${ReAssist}) && ${Spawn[id ${MainTank} radius 200].ID}) {
   	/assist ${Spawn[id ${MainTank}]}
   	/varset ReAssist ${ReAssist.OriginalValue}
 	}
 	/if (${Target.ID} && ${Target.Type.Equal[NPC]} && ${Target.ID}!=${TarID}) {
   	/varset TarID ${Target.ID}
 	}
/return

Sub Nuke
 	/if (${Target.PctHPs}<=${Stop} && ${Target.ID} && ${Target.Type.Equal[NPC]}) /goto :Mainloop
 	/if (${Target.PctHPs}<=${NukeAt} && ${Target.ID} && ${Target.Type.Equal[NPC]}) /call Attack
/return

Sub Attack 	
	/call cast "${Attack1}"
 	/call cast "${Attack1}"
 	/call cast "${Attack2}"
 	/call cast "${Attack3}"
 	/call cast "${Attack4}"
 	/call cast "${Attack5}"
 	/call cast "${Attack6}"
 	/call cast "${Attack7}"
	/if (${Target.PctHPs}<=${Stop} && ${Target.ID} && ${Target.Type.Equal[NPC]}) /goto :Mainloop
/return

Sub follow
	/echo following Target
	:followloop
	/doevents
	/face fast
	/if (${Target.Distance}>60) /keypress up hold
	/if (${Target.Distance}<40) /keypress up 
	/if (${Target.Distance}<40) /goto :loop
	/delay 2
	/goto :followloop
/return

Sub followend
 	/goto :mainloop
/return
 
Code:
/if (${Target.Distance}<40) /goto :loop


Im not expert, but I would assume that is causing issues
 
correction

Thanks yes your right - took that line out and that fixed the follow start
Also made some other minor tweeks - now the event follow end does not work
It says "could not find label MainLoop"
Code:
|Very Basic Assist Mac

#event follow "#*#follow me egghead#*#"
#event followend "#*#will you stop now please#*#"

#include spell_routines.inc
#turbo 80

Sub Main

	/declare Attack1 string outer Dooming Darkness
	/declare Attack2 string outer Boil Blood
	/declare Attack3 string outer Dark Soul
	/declare Attack4 string outer Chilling Embrace
	/declare Attack5 string outer Asystole
	/declare Attack6 string outer Ignite Bones
	/declare Attack7 string outer Drain Spirit
	/declare Feign string outer Feign Death
	/declare ReAssist timer outer 10s

	/declare NukeAt int outer 90
	/declare Stop int outer 25

/call Initialize

	/echo Beginning a Copied Macro...

:MainLoop
	/call CheckTarget
	/call Nuke
	/doevents
	/goto :MainLoop
/return

Sub Initialize
	/if (!${Target.ID} || ${Target.Type.NotEqual[PC]} || ${Target.ID}==${Me.ID}) {
  	/echo Please target the main tank before running the macro
  	/end
	}
	/declare MainTank int outer ${Target.ID}
	/declare TarID int outer
/return

Sub CheckTarget
 	/if ((!${Target.ID} || ${Target.Type.NotEqual[NPC]} || !${ReAssist}) && ${Spawn[id ${MainTank} radius 200].ID}) {
   	/assist ${Spawn[id ${MainTank}]}
   	/varset ReAssist ${ReAssist.OriginalValue}
 	}
 	/if (${Target.ID} && ${Target.Type.Equal[NPC]} && ${Target.ID}!=${TarID}) {
   	/varset TarID ${Target.ID}
 	}
/return

Sub Nuke
 	/if (${Target.PctHPs}<=${Stop} && ${Target.ID} && ${Target.Type.Equal[NPC]}) /goto :MainLoop
 	/if (${Target.PctHPs}<=${NukeAt} && ${Target.ID} && ${Target.Type.Equal[NPC]}) /call Attack
/return

Sub Attack 
	/pet attack	
	/call cast "${Attack1}"
 	/call cast "${Attack1}"
 	/call cast "${Attack2}"
 	/call cast "${Attack3}"
 	/call cast "${Attack4}"
 	/call cast "${Attack5}"
 	/call cast "${Attack6}"
 	/call cast "${Attack7}"
	/if (${Target.PctHPs}<=${Stop} && ${Target.ID} && ${Target.Type.Equal[NPC]}) /goto :MainLoop
/return

Sub Event_follow
	/echo following Target
	:followloop
	/doevents
	/face fast
	/if (${Target.Distance}>60) /keypress up hold
	/if (${Target.Distance}<40) /keypress up
	/delay 2
	/goto :followloop
/return

Sub Event_followend
	/echo stop following
 	/goto :MainLoop
/return
 
Slowing fixing it

Ok kinda fixed it with /stick, works until the maintank picks up a target by mistake.
Any fix for that would be great.
Also would like to /tell Maintank something - cant figure that code either

Code:
Sub Event_follow
	/tell MYTOON following you
	/target MYTOON
	/stick 5
/return

Sub Event_followend
	/tell MYTOON I am no longer following
	/stick off
/return
 
As I mentioned before, im no expert. I just noticed the :goto was labelled wrong.


Are you using EQBCS/EQBC? MQ2Events?

Maybe consider using MQ2Bot plugin?

You can setup some events in the Events plugin to make your following toon follow who sent the a tell/pause the bot then another event to stop following and enable the bot? Doing away with macros is nice if you can, plugins much faster $$

I have only written some more basic macros for specific situations personally, how ever I do like to tinker and pull about other macros I have. Some posts I read over of Petes are good if you haven't seen them

Getting Started - Macro Creation - MMOBugs Wiki

http://www.mmobugs.com/forums/everq...s-uis/26985-macro-writing-quick-tutorial.html
 
Thanks Rooster, I am not using those mentioned, actually didnt realise mq2bot was a plugin which had me lost, I will use what I have for now to play with and work on something using the info provided for the future - very helpful thank you again :)
 
Thanks Rooster, I am not using those mentioned, actually didnt realise mq2bot was a plugin which had me lost, I will use what I have for now to play with and work on something using the info provided for the future - very helpful thank you again :)

I would highly recommend the Bot plugin, especially for a Necromancer, My enchanter and wizard have never been more efficient in any macro I've ever used, custom or not.
 
I agree. Pete MQ2Bot utilizes everything the class offers for the most part and gives you good dps compared to customized macros