Post your completed (working) macros here. Only for macros using MQ2Data syntax!
Moderator: MacroQuest Developers
-
A_new_macroer
- decaying skeleton

- Posts: 3
- Joined: Fri Jul 02, 2004 4:46 am
Post
by A_new_macroer » Fri Jul 02, 2004 5:23 am
I wrote this just to train my monk's FD, Sneak, Mend and Intimidate skills up. Was very effective. In 24 hours, my monk went from 48 in FD, Sneak and Intimidate to 197 FD, 113 Sneak and 200 Intimidate. Mend went from 116 to 142.
It checks to see if Mend is ready and only triggers the Mend ability when it is ready and skips it if it is not.
Code: Select all
Sub Main
:Loop
/if (${Me.AbilityReady["Mend"]}) {
| Do MEND
/docommand /doability 1
| Do SNEAK
/docommand /doability 2
| Wait 1 second to give Sneak a chance to...
| succeed or fail. Not that this matters much.
/delay 1s
| Do SNEAK to turn SNEAK off
/docommand /doability 2
| Do INTIMIDATE
/docommand /doability 3
| Wait 10 seconds to let the monk go through
| the motions of Intimidate
| Also, it should be noted that if you choose
| to comment out practicing the Intimidate skill
| that it is important to leave this delay in
| or your character will sit and stand over and
| over VERY quickly
/delay 10s
| Do FEIGN DEATH
/docommand /doability 4
| WAIT for INTIMIDATE to be ready
/delay 1s
| Do SIT to stand up from FEIGN DEATH
/docommand /sit
} else
{
| Do SNEAK
/docommand /doability 2
| Wait 1 second to give Sneak a chance to...
| succeed or fail. Not that this matters much.
/delay 1s
| Do SNEAK to turn SNEAK off
/docommand /doability 2
| Do INTIMIDATE
/docommand /doability 3
| Wait 10 seconds to let the monk go through
| the motions of Intimidate
| Also, it should be noted that if you choose
| to comment out practicing the Intimidate skill
| that it is important to leave this delay in
| or your character will sit and stand over and
| over VERY quickly
/delay 10s
| Do FEIGN DEATH
/docommand /doability 4
| WAIT for INTIMIDATE to be ready
/delay 1s
| Do SIT to stand up from FEIGN DEATH
/docommand /sit
}
/goto :Loop
/return
Enjoy!
Edit: Added code brackets. Sorry I hadn't noticed that last night.
Last edited by
A_new_macroer on Fri Jul 02, 2004 11:42 am, edited 1 time in total.
-
TheUnholy
- a hill giant

- Posts: 269
- Joined: Wed Mar 03, 2004 11:59 pm
Post
by TheUnholy » Fri Jul 02, 2004 6:13 am
use code brackets plzplz
-
TheUnforgiven
- orc pawn

- Posts: 13
- Joined: Mon May 24, 2004 6:37 pm
- Location: Albuquerque, NM
Post
by TheUnforgiven » Fri Jul 02, 2004 4:57 pm
Changed it around a bit, this is my first macro, but i think it works a bit better, and it's a lot less code.
Code: Select all
Sub Main
:Loop
/if (${Me.AbilityReady["Intimidation"]}) {
/doability "Intimidation"
}
/if (${Me.AbilityReady["Mend"]}) {
/doability "Mend"
}
/if (${Me.AbilityReady["Sneak"]}) {
/doability "Sneak"
/delay 1s
/doability "Sneak"
}
/if (${Me.AbilityReady["Feign Death"]}) {
/doability "Feign Death"
/delay 1s
/sit
/delay 1s
}
/goto :Loop
/return
-
Wite
- orc pawn

- Posts: 23
- Joined: Tue Mar 16, 2004 6:49 pm
Post
by Wite » Mon Nov 01, 2004 4:54 am
Using TheUnforgiven's code this works fine as of halloween 2004

-
Grumpy
- a hill giant

- Posts: 167
- Joined: Sun Nov 10, 2002 4:22 pm
Post
by Grumpy » Fri Nov 05, 2004 11:38 am
Just a few checks to TheUnforgiven's code.
Code: Select all
Sub Main
:Loop
/if (${Me.AbilityReady["Intimidation"]} && (${Me.Skill["Intimidation"]} < 200) && (${Me.Skill["Intimidation"]} < (${Me.Level + 1) * 5)) {
/doability "Intimidation"
}
/if (${Me.AbilityReady["Mend"]} && (${Me.Skill["Mend"]} < 200) && (${Me.Skill["Mend"]} < (${Me.Level + 1) * 5)) {
/doability "Mend"
}
/if (${Me.AbilityReady["Sneak"]} && (${Me.Skill["Sneak"]} < 113) && (${Me.Skill["Sneak"]} < (${Me.Level + 1) * 5)) {
/doability "Sneak"
/delay 1s
/doability "Sneak"
}
/if (${Me.AbilityReady["Feign Death"]} && (${Me.Skill["Feign Death"]} < 200) && (${Me.Skill["Feign Death"]} < (${Me.Level + 1) * 5)) {
/doability "Feign Death"
/delay 1s
/sit
/delay 1s
}
/goto :Loop
/return
-
nuceman
- decaying skeleton

- Posts: 7
- Joined: Sun Dec 01, 2002 3:56 pm
Post
by nuceman » Sat Nov 06, 2004 5:37 pm
Stole a bit from YAST macro to stop when you recieve tells and when a GM is present.
Used TheUnforgiven's code as Grumpy's gave me some errors.
Code: Select all
#chat tell
#event lang "tells you"
Sub Main
:Loop
/doevents
/call CheckGM
/if (${Me.AbilityReady["Intimidation"]}) {
/doability "Intimidation"
}
/if (${Me.AbilityReady["Mend"]}) {
/doability "Mend"
}
/if (${Me.AbilityReady["Sneak"]}) {
/doability "Sneak"
/delay 1s
/doability "Sneak"
}
/if (${Me.AbilityReady["Feign Death"]}) {
/doability "Feign Death"
/delay 1s
/sit
/delay 1s
}
/goto :Loop
/return
Sub Event_Chat
/echo Tell recieved, stopping for 5 minutes.
/delay 300s
/return
Sub Event_Lang
/echo Tell recieved, stopping for 5 minutes.
/delay 300s
/return
Sub CheckGM
:GMCheck
/if (${Bool[${Spawn[gm].ID}]}) {
/echo Monk Trainer stopping for 10 minutes, GM in zone.
/delay 600s
/goto :GMCheck
}
/return
You can dance if you want to.
-
tigg-um
- decaying skeleton

- Posts: 2
- Joined: Sun Sep 05, 2004 2:45 am
Post
by tigg-um » Mon Nov 22, 2004 9:45 pm
I changed this around a little. I like skillup tracking to the MQ window and when training on a 2nd box, I added popups to make skillups more noticable, all for semi at-a-galnce checks of skills.
I added another option or two for AFK training, that makes you FD when a GM is around and FD and AFK on a tell. I added a parinoia threshold that logs you out if someone keeps giving you tells and I think I'm going to add a check for GM paranoia as well, rather than just have you FD and loop the check.
Here it is, feel free to be brutal if the changes suck. I've modded a bunch of Macros for myself and wanted to see what folks actually thought about at least one of them.
Code: Select all
| Monk Trainer - orginal code by "A_new_macroer"
| various updates by community at http://www.macroquest2.com/phpBB2/viewtopic.php?t=8088
| Recent updates by "Tigg-um"
#chat tell
#event lang "tells you"
Sub Main
/declare OldSkillint int outer
/declare OldSkillmend int outer
/declare OldSkillsneak int outer
/declare OldSkillfd int outer
/declare Gottells int outer
/declare Allowedtells int outer
/varset OldSkillint ${Me.Skill[Intimidation]}
/varset OldSkillmend ${Me.Skill[Mend]}
/varset OldSkillsneak ${Me.Skill[Sneak]}
/varset OldSkillfd ${Me.Skill[Feign Death]}
/varset Gottells 0
| Set this to the number of tells you are comfortable getting while macro is running.
| For everything below the number Allowedtells is set to it just goes AFK. Higher and it camps.
/varset Allowedtells 4
/echo Paranoia level set to ${Allowedtells} tells.
/echo Intimidation currently ${Me.Skill[Intimidation]}
/echo Mend currently ${Me.Skill[Mend]}
/echo Sneak currently ${Me.Skill[Sneak]}
/echo FD currently ${Me.Skill[Feign Death]}
/echo Training begins now Grasshopper!
/popup Training begins NOW Grasshopper!
/echo
:Loop
/doevents
/call CheckGM
|--Mend--|
/if (${Me.AbilityReady["Mend"]}) {
/doability "Mend"
}
/if (${Me.Skill[Mend]}>${OldSkillmend}) {
/echo Skillup! Mend now ${Me.Skill[Mend]}!
/popup Skillup! Mend now ${Me.Skill[Mend]}!
/varset OldSkillmend ${Me.Skill[Mend]}
}
|--Sneak--|
/if (${Me.AbilityReady["Sneak"]}) {
/doability "Sneak"
/delay 1s
/doability "Sneak"
}
/if (${Me.Skill[Sneak]}>${OldSkillsneak}) {
/echo Skillup! Sneak now ${Me.Skill[Sneak]}!
/popup Skillup! Sneak now ${Me.Skill[Sneak]}!
/varset OldSkillsneak ${Me.Skill[Sneak]}
}
|--Feign Death--|
/if (${Me.AbilityReady["Feign Death"]}) {
/doability "Feign Death"
/delay 1s
/sit
/delay 1s
}
/if (${Me.Skill[Feign Death]}>${OldSkillfd}) {
/echo Skillup! FD now ${Me.Skill[Feign Death]}!
/varset OldSkillfd ${Me.Skill[Feign Death]}
}
|--Intimidation--|
/if (${Me.AbilityReady["Intimidation"]}) {
/doability "Intimidation"
}
/if (${Me.Skill[Intimidation]}>${OldSkillint}) {
/echo Skillup! Intimidation now ${Me.Skill[Intimidation]}!
/popup Skillup! Intimidation now ${Me.Skill[Intimidation]}!
/varset OldSkillint ${Me.Skill[Intimidation]}
}
/goto :Loop
/return
Sub Event_Chat
/varcalc Gottells ${Gottells}+1
/if (${Gottells} < ${Allowedtells}) {
/echo Tell recieved, FDing and going AFK for 5 minutes.
/afk I'll be back in like 5-10 mins
:FDLoop
/if (${Me.AbilityReady["Feign Death"]}) {
/doability "Feign Death"
} else {
/goto :FDLoop
}
/delay 300s
/sit
/afk
} else {
/echo Paranoia level reached!!
/popup Paranoia level reached!!
/echo To many tells for my comfort. I think we're being watched. Camping now.
/camp
/beep
/beep
/beep
/endmacro
}
/return
Sub Event_Lang
/varcalc Gottells ${Gottells}+1
/if (${Gottells} < ${Allowedtells}) {
/echo Tell recieved, FDing and going AFK for 5 minutes.
/afk I'll be back in like 5-10 mins
:FDLoop
/if (${Me.AbilityReady["Feign Death"]}) {
/doability "Feign Death"
} else {
/goto :FDLoop
}
/delay 300s
/sit
/afk
} else {
/echo Paranoia level reached!!
/popup Paranoia level reached!!
/echo To many tells for my comfort. I think we're being watched. Camping now.
/camp
/beep
/beep
/beep
/endmacro
}
/return
Sub CheckGM
:GMCheck
/if (${Bool[${Spawn[gm].ID}]}) {
/echo Monk Trainer stopping for 10 minutes, GM in zone.
:FDLoop
/if (${Me.AbilityReady["Feign Death"]}) {
/doability "Feign Death"
} else {
/goto :FDLoop
}
/delay 600s
/goto :GMCheck
}
/return
-
mordster
- orc pawn

- Posts: 13
- Joined: Tue Nov 23, 2004 12:30 pm
Post
by mordster » Tue Nov 23, 2004 12:33 pm
Nice work tigg, confirmation it works - except intimidation isn't working for me. Going to take a closer look when i get home from work. New to boards since my old comp wouldn't load them but I finally got upgraded and been reading around before I decided to post anything.
Hats off to all you guys and gals for the hard work.