Some simple macros for p99

jmac

New member
Joined
Apr 22, 2006
Messages
23
Reaction score
0
Points
0
Hello all, recently bought a subscription haven't been here since Live 2007, however I come with some gifts. Writing macros in old syntax sucks, especially searching the mq2 forums for old macros.

Most of these macros are ghetto and some of these macros are not 100% safe and should not be used AFK, however with some simple editing they can become 100% afk macros.




1to9.mac this will level your character in the noob zone

Code:
Sub Main

:mainloop
/if (${Me.PctHPs}==100) /goto :hunt
/if (${Me.State.Equal[STAND]})  /sit
/goto :mainloop

:hunt
/stand
/if (${Me.Casting.ID}!=700}) /cast 1
/tar npc next
/if (${Target.Level} < ${Me.Level}) /goto :gotomob
/goto :hunt

:gotomob
/stick 5
/if (${Target.Distance} < 15) /goto :attack
/goto :gotomob

:attack
/if (${Me.Casting.ID}!=700}) /cast 1
/delay 1s
/attack
/goto :wait4death

:wait4death
/if (${Target.ID}) /goto :wait4death
/goto :mainloop


/return

group cleric macro that just targets each group member individually to heal

Code:
#event mana "#*#mana#*#"
#event buff "#*#Your sense of center fades#*#"

Sub Main
:start
	/delay 1s
	/goto :amIdying

/goto :start

:amIdying

/if (${Me.PctHPs}<30) /cast 4
/goto :healloop

:healloop
/if ((${Me.State.Equal[STAND]}) & (${Me.PctMana}<98)) /sit
/doevents
/keypress f1
/if (${Me.PctMana}>20) /goto :healloop2
/goto :start
:healloop2
/if ((${Target.PctHPs}<70) && (${Target.ID})) /goto :healtarget
/delay 7
/keypress f2
/if ((${Target.PctHPs}<70) && (${Target.ID})) /goto :healtarget
/delay 7
/keypress f3
/if ((${Target.PctHPs}<70) && (${Target.ID})) /goto :healtarget
/delay 7
/keypress f4
/if ((${Target.PctHPs}<70) && (${Target.ID})) /goto :healtarget
/delay 7
/keypress f5
/if ((${Target.PctHPs}<70) && (${Target.ID})) /goto :healtarget
/delay 7
/keypress f6
/if ((${Target.PctHPs}<70) && (${Target.ID})) /goto :healtarget
/delay 7
/goto :start

:healtarget
/if (${Target.Distance}<110) /keypress 2
/delay 3s
/goto :healloop


Sub Event_mana
/g ${Me.PctMana}
/return

Sub Event_buff
/mac buff ${Me.Name}
/return


this macro hunted PoS dragons on EZ server can be easily edited to another hunter macro, does NOT use /stick for movement

Code:
Sub Main

:start
	/tar dragon npc next
	/delay 10
	/if (${Target.Level}==70) /goto :start
	/keypress 5

:moveto
	/if (${Target.Distance}>30) /keypress up hold
	/if (${Target.Distance}<20) /goto :fighttarget
	/face fast
	/delay 2
   	/if (${Target.ID}) /goto :moveto

:fighttarget
	/keypress up
	/delay 2
	/attack
	/delay 5
	/keypress 6

:waitfordeath
	/delay 2
	/if (${Target.ID}) /goto :waitfordeath
	/goto :start

/return

here is a group necro macro, make sure to change all the /cast's to proper spells
Code:
#event allure "#*#flesh returns#*#"
#event exit "#*#Your group has been#*#"

Sub Main

:mainloop
/doevents
/echo Assisting
/if ((${Me.State.Equal[STAND]}) & (${Me.PctMana}<98)) /sit
/delay 1s
/ass ${Param0}
/delay 1s
/if ((${Target.ID}) && (${Target.PctHPs}<96)) /goto :loop
/goto :mainloop

:loop
/delay 1s
/if ((${Target.PctHPs}<95) && (${Target.Type.Equal["NPC"]})) /pet attack
/delay 1s
/if ((${Target.PctHPs}<85) && (${Me.PctMana}>15)) /goto :cast1
/delay 5
/goto :mainloop

:cast1
/delay 5
/if ((${Target.ID}) && (${Target.Type.Equal["NPC"]})) /goto :cast2
/goto :mainloop

:cast2
/if (${Me.PctMana}<20) /goto :mainloop
/delay 5
/pet attack
/cast 1
/delay 3
/cast 1
/delay 3
/cast 1
/delay 5.5s
/doevents
/if (${Target.ID}) /goto :cast2
/goto :mainloop

Sub Event_allure
/delay 1
/cast 6
/delay 5s
/return

Sub Event_exit
/delay 5
/q
/end


heres a bonechip hunting macro, kinda sloppy and needs tweaking for your specific character however the way to use /loot and loot corpses is of important information.
Code:
#event kill "#*#You have slain#*#"

Sub Main
/declare loot int outer 0


:Begin
/if (${Me.PctMana}<30) /goto :StartMed
/keypress esc
/varset loot 0
/memspell 7 "Lifedraw"
/delay 2s
/stand
:noskells
/delay 1s
/tar skel npc
/if (!${Target.ID}) /goto :noskells
/face
/if (${Target.ID}) /goto :Move1
/goto :Begin

:StartMed
/cast 8
/delay 1
/cast 8
/delay 1
/cast 8
/delay 8s
/cast 6
/delay 4s
/sit
:Med
/if (${Me.PctMana}<90) /goto :Med
/goto :Begin

:Move1
/if (${Target.Distance}>15) /goto :Move2
/goto :Attack

:Move2
/face
/keypress forward hold
/goto :Move1

:Attack
/keypress forward
/delay 5
/cast 7
/delay 4s
/goto :Waitfordeath

:Waitfordeath
/doevents
/delay 1
/if (!${loot}==1) /goto :Attack
/goto :Begin

Sub Event_kill

:Loot
/tar corpse
/delay 1
/loot
/delay 1s
/itemnotify loot1 leftmouseup
/delay 5
/if (!${Cursor.Name.Find[Bone Chips]}) /destroy
/delay 5
/autoinv
/itemnotify loot2 leftmouseup
/delay 5
/if (!${Cursor.Name.Find[Bone Chips]}) /destroy
/delay 5
/autoinv
/itemnotify loot3 leftmouseup
/delay 5
/if (!${Cursor.Name.Find[Bone Chips]}) /destroy
/delay 5
/autoinv
/itemnotify loot4 leftmouseup
/delay 5
/if (!${Cursor.Name.Find[Bone Chips]}) /destroy
/delay 5
/autoinv
/delay 1
/keypress esc
/delay 1
/keypress esc
/delay 1
/keypress esc
/varset loot 1
/return

this will twist a gem #, just feed it the gem number for the parameter
Code:
Sub Main

:loop
/delay .5s
/cast ${Param0}
/goto :wait
:wait
/if (${Me.Casting.ID}==NULL) /goto :loop
/goto :wait
/return

Heres a willowhisp hunting macro i used on EZ server to farm Superior Lightstones on a bard. Uses warp like mad however uses it with /warp distance and /face so no "Large warp detected." Some simple editing will get this working for your class. Don't know if Hunter took out NK (most willo's) instances so if NK/WC is only public i would not do this.

Code:
Sub Main
/declare timer1 int global

:start
	/varcalc timer1 0
	/keypress esc
	/delay 2
	/keypress esc
	/delay 2
	/melody
	/delay 2
	/cast 5
	/delay 4s
	/tar willo npc
	/delay 10
	/if (!${Target.ID}) /goto :start

:moveto
	/face
	/if (${Target.Distance}<75) /goto :moveto2
	/warp dir 75
	/delay 5
	/goto :moveto
:moveto2
	/warp t	
	/delay 2
	/keypress esc
	/delay 2
	/tar willo npc

:fighttarget
	/melody
	/delay 2
	/cast 1
	/keypress up
	/attack


:waitfordeath
	/varcalc timer1 ${timer1}+1
	/delay 1s
	/if (${Target.Distance}>20) /keypress up hold
	/if (${Target.Distance}<5) /keypress up
	/face fast
	/if (${timer1}==10) /goto :restart
	/if (${Target.ID}) /goto :waitfordeath
	/goto :loot

:restart
	/keypress up
	/keypress esc
	/warp succor
	/goto :start

:loot
	/delay 1s
	/tar corpse
	/delay 1
	/warp t
	/delay 1s
	/loot
	/delay 1s
	/itemnotify loot1 leftmouseup
	/delay 1s
	/if (!${Cursor.Name.Find[Greater Lightstone]}) /destroy
	/delay 5
	/autoinv
	/itemnotify loot2 leftmouseup
	/delay 5
	/if (!${Cursor.Name.Find[Greater Lightstone]}) /destroy
	/delay 5
	/autoinv
	/goto :start

/return

There you go all, enjoy hopefully these amateur macros can get you started on your own!
 
Last edited:
Thanks a lot Jmac I've been editing a few trying to get them to work on the PEQ server but i'm not familiar with the old syntax's would you happen to have a reference for them?
 
i went and butchered your macro trying to fix it for a wizard in an XP group I know the snare part I added won't work well vs non-xp mobs take a look at it and see if you see any problems, I really have no idea what I'm doing its been so long.

Code:
/echo SimpleNuke Started
#event exit "#*#Your group has been#*#"

Sub Main

:mainloop
/doevents
/echo Assisting
/if ((${Me.State.Equal[STAND]}) & (${Me.PctMana}<98)) /sit
/delay 1s
/ass ${Param0}
/delay 1s
/if ((${Target.ID}) && (${Target.PctHPs}<96)) /goto :loop
/goto :mainloop

:loop
/delay 1s
/if ((${Target.PctHPs}<95) && (${Target.Type.Equal["NPC"]})) /goto :cast1
/delay 1s
/if ((${Target.PctHPs}<30) && (${Me.PctMana}>1)) /goto :cast3
/delay 5
/goto :mainloop

:cast1
/delay 5
/if ((${Target.ID}) && (${Target.Type.Equal["NPC"]})) /goto :cast2
/goto :mainloop

:cast2
/if (${Me.PctMana}<20) /goto :mainloop
/delay 5
/cast 1
/delay 6s
/cast 1
/delay 6s
/doevents
/if (${Target.ID}) /goto :cast2
/goto :mainloop

:cast3
/delay 5
/cast 2
/delay 6s
/cast 1
/delay 6s
/cast 1
/if (${Target.ID}) /goto :cast2
/goto :mainloop

Sub Event_exit
/delay 5
/end

How do you define the assist using this macro format is it just /mac simplenuke mainassistname ?
 
Last edited:
Awesome, thanks for this.

Also if you do have more, please do share! lol cheers.
 
How do you define the assist using this macro format is it just /mac simplenuke mainassistname ?

yes if you named the file simplenuke.mac

btw this line in your wiz macro needs something
/if ((${Target.PctHPs}<95) && (${Target.Type.Equal["NPC"]})) :cast1

need to add /goto before :cast1
 
Corrected, i'll keep updating it as I lvl my wizard and hopefully have a nice end result.

Have any working melee macros? I remember there used to be stick macro that worked fairly well, was just /mac sticker maintank assist% to start it I think wonder if anyone has an old copy of that lying around.