monk trainer

idoit2

New member
Joined
Oct 4, 2006
Messages
53
Reaction score
0
Points
0
hey i pulled this off the forums. thanks darg for making it but i was wondering if someone could add a check for if anyone entered zone to pause till zone is empty again. if not its okay thanks anyway =)

Code:
| Monk Skills Trainer by Darg
|
|Usage /mac mt
|

#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 6

/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]}


:Loop
/doevents
/call CheckGM

|--Mend--|
/if (${Me.AbilityReady["Mend"]}) {
     /doability "Mend"
}
      /if (${Me.Skill[Mend]}>${OldSkillmend}) {
       /echo 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]}!
        /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]}!
        /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!!
  /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!!
  /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
 
highlight your macro and click the # tab to make it go into code form. Its 3rd tab from the end of your buttons just above the Tex Box.
 
NP and thanks for the edit. Just makes it easier to read/copy.
 
hey i pulled this off the forums. thanks darg for making it but i was wondering if someone could add a check for if anyone entered zone to pause till zone is empty again.
Done... Added parts highlighted in red
Code:
| Monk Skills Trainer by Darg
|
|Usage /mac mt
|

#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 6

    /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]}


    :Loop
        /doevents
        /call CheckGM
        [COLOR=Red]/call CheckPC[/COLOR]

        |--Mend--|
        /if (${Me.AbilityReady["Mend"]}) {
            /doability "Mend"
        }
        /if (${Me.Skill[Mend]}>${OldSkillmend}) {
            /echo 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]}!
            /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]}!
            /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!!
        /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!!
        /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 (${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

[COLOR=Red] Sub CheckPC
    :Loop
    /if (${SpawnCount[pc notid ${Me.ID}]}) {
        /echo Monk Trainer stopping for 30 Seconds, another player in zone.
        :FDLoop
        /if (${Me.AbilityReady["Feign Death"]}) {
            /doability "Feign Death"
        } else {
            /goto :FDLoop
        }
        /delay 600s
        /goto :Loop
    }
/return[/COLOR]
 
No offense to Darg, but that's lots of code that really doesn't need to be there. Especially adding FD loop stuff to the extra Subs, and having both an #event and #chat to catch tells.

Personally, I just have a mac with a /for loop, that cycles through my 6 action buttons. If it's got an ability in it, and it's ready, and I'm not maxxed in it yet, click it.
 
No need to say no offense to Darg, because he didn't make that. Look Here. Well if that's Darg under another name let me know, because I could be wrong. But from what it looks like, that's not Darg's macro.
 
Last edited: