PracticeSkills.mac

Macro depository for macros written before the user variable changes that broke all of them.

Moderator: MacroQuest Developers

Valerian
a grimling bloodguard
a grimling bloodguard
Posts: 709
Joined: Sun Jul 28, 2002 3:29 am

PracticeSkills.mac

Post by Valerian » Sun May 04, 2003 9:43 am

*shrug* not fully tested... used to work, but then I added a whole lot of stuff to it that *should* stop practicing something if you've reached the absolute skill cap (as seen on EQ Caster's Realm)

doesn't yet take the "level attained" into account, but other than that, it should be fairly clean... I have it set to forage every time regardless, if it's available, and the click left auto section is commented out.

Code: Select all

| - PracticeSkills.mac -

| Used to practice Forage, Sense Heading, Tracking, Hide, Sneak, Beg, Feign Death,
| Intimidation, Pick Pockets, Mend and Find Traps.

| *NOTE* To practice some of these abilities, you must be near an NPC (Soulbinder
| works well) or near a trap.

| This macro uses the skill caps as found on EQ Caster's Realm, as of 5/4/2003.





#define forageready v1
#define senseready v2
#define trackready v3
#define hideready v4
#define sneakready v5
#define begready v6
#define fdready v7
#define intimidationready v8
#define ppready v9
#define hidedone v10
#define sneakdone v11
#define mendready v12
#define trapsready v13
#define charclass v14
#define charlevel v15

#define cwar v16
#define cpal v17
#define cshd v18
#define crng v19
#define cbst v20
#define cmnk v21
#define crog v22
#define cbrd v23
#define cshm v24
#define cdru v25
#define cclr v26
#define cwiz v27
#define cenc v28
#define cmag v29
#define cnec v30

#define skillcapforage 1
#define skillcapsense 2
#define skillcaptrack 3
#define skillcaphide 4
#define skillcapsneak 5
#define skillcapbeg 6
#define skillcapfd 7
#define skillcapindimidation 8
#define skillcappp 9
#define skillcapmend 10
#define skillcaptraps 11

sub Main 
    /call setcaps
/echo Started...
  :loop 
    /doevents 
    /call Domyabilities
    /delay 15
    /if n $forageready>0 /doability "Forage"
    /if n $senseready>0 /if n $char(skill,"Sense Heading")<$calc($char(level)*5+5) /if n $char(skill,"Sense Heading")<$a($charclass,skillcapsense) /doability "Sense Heading"
    /if n $trackready>0 /if n $char(skill,"Tracking")<$calc($char(level)*5+5) /if n $char(skill,"Tracking")<$a($charclass,skillcaptrack) /doability "Tracking"
    /if n $trapsready>0 /if n $char(skill,"Sense Traps")<$calc($char(level)*5+5) /if n $char(skill,"Sense Traps")<$a($charclass,skillcaptraps) /doability "Sense Traps"
    /if n $hideready>0 /if n $char(skill,"Hide")<$calc($char(level)*5+5) /if n $char(skill,"Hide")<$a($charclass,skillcaphide) {
       /varset v10 $char(ability,"Hide")
       /doability "Hide"
    }
   /if n $sneakready>0 /if n $char(skill,"Sneak")<$calc($char(level)*5+5) /if n $char(skill,"Sneak")<$a($charclass,skillcapsneak) {
       /varset v11 $char(ability,"Sneak")
       /doability "Sneak"
    }    
    /if n $fdready>0 /if n $char(skill,"Feign Death")<$calc($char(level)*5+5) /if n $char(skill,"Feign Death")<$a($charclass,skillcapfd) /doability "Feign Death"
    /if n $mendready>4 /if n $char(skill,"Mend")<$calc($char(level)*5+5) /if n $char(skill,"Mend")<$a($charclass,skillcapmend) /doability "Mend"
    /if n $ppready>0 /if n $begready>0 /if n $intimidationready>0 {
       /if n $char(skill,"Pick Pockets")<$calc($char(level)*5+5) /if n $char(skill,"Pick Pockets")<$a($charclass,skillcappp) /goto :targetting
       /if n $char(skill,"Begging")<$calc($char(level)*5+5) /if n $char(skill,"Begging")<$a($charclass,skillcapbeg) /goto :targetting
       /if n $char(skill,"Intimidation")<$calc($char(level)*5+5) /if n $char(skill,"Intimidation")<$a($charclass,skillcapIntimidation) /goto :targetting
       /goto :Notargetting
      :targetting
       /call GetGoodTarget
      :Notargetting
    }
    /if n $ppready>0 /if n $char(skill,"Pick Pockets")>=$calc($char(level)*5+5) /if n $char(skill,"Pick Pockets")<$a($charclass,skillcappp) /if n $target(distance)<12 /doability "Pick Pockets"
    /if n $begready>0 /if n $char(skill,"Begging")<$calc($char(level)*5+5) /if n $char(skill,"Begging")<$a($charclass,skillcapbeg) /if n $target(distance)<12 /doability "Begging"
    /if n $intimidationready>0 /if n $char(skill,"Intimidation")<$calc($char(level)*5+5) /if n $char(skill,"Imtimidation")<$a($charclass,skillcapIntimidation) /doability "Intimidation"
    /varset forageready 0
    /varset senseready 0
    /varset trackready 0
    /varset hideready 0
    /varset sneakready 0
    /varset fdready 0
    /if n $mendready>4 /varset mendready 0
    /varset ppready 0
    /varset begready 0
    /varset intimidationready 0
|    /if $cursor()==TRUE { 
|      /mouseto auto
|      /delay 5
|      /click left auto 
|    }
 
  /goto :loop 
/return 

sub setcaps
|**
#define skillcapforage 1
#define skillcapsense 2
#define skillcaptrack 3
#define skillcaphide 4
#define skillcapsneak 5
#define skillcapbeg 6
#define skillcapfd 7
#define skillcapindimidation 8
#define skillcappp 9
#define skillcapmend 10
#define skillcaptraps 11
**|
   /for l3 16 to 30
      /varset v$l3 $calc($l3-15)
   /next l3
   /varset charclass $char(class)
   /if $charclass==warrior /varset charclass $cwar
   /if $charclass==paladin /varset charclass $cpal
   /if $charclass==shadowknight /varset charclass $cshd
   /if $charclass==ranger /varset charclass $crng
   /if $charclass==beastlord /varset charclass $cbst
   /if $charclass==monk /varset charclass $cmnk
   /if $charclass==rogue /varset charclass $crog
   /if $charclass==bard /varset charclass $cbrd
   /if $charclass==shaman /varset charclass $cshm
   /if $charclass==druid /varset charclass $cdru
   /if $charclass==cleric /varset charclass $cclr
   /if $charclass==wizard /varset charclass $cwiz
   /if $charclass==enchanter /varset charclass $cenc
   /if $charclass==magician /varset charclass $cmag
   /if $charclass==necromancer /varset charclass $cnec


   /for l1 1 to 15
      /for l2 1 to 11
         /varset a($l1,$l2) 0
      /next l2
   /next l1

   /for l1 1 to 15
      /varset a($l1,skillcapsense) 200
      /varset a($l1,skillcapbeg) 200
   /next l1

   /varset a($crng,skillcapforage) 200
   /varset a($cmnk,skillcapforage) 50
   /varset a($cbrd,skillcapforage) 55
   /varset a($cdru,skillcapforage) 200
   /varset a($crng,skillcaptrack) 200
   /varset a($cbrd,skillcaptrack) 100
   /varset a($cdru,skillcaptrack) 125
   /varset a($cwar,skillcaphide) 1
   /varset a($cshd,skillcaphide) 75
   /varset a($cmnk,skillcaphide) 75
   /varset a($crog,skillcaphide) 200
   /varset a($cbrd,skillcaphide) 40
   /varset a($cwar,skillcapsneak) 1
   /varset a($crng,skillcapsneak) 75
   /varset a($cbst,skillcapsneak) 50
   /varset a($cmnk,skillcapsneak) 113
   /varset a($crog,skillcapsneak) 200
   /varset a($cbrd,skillcapneak) 75
   /varset a($cmnk,skillcapfd) 200
   /varset a($cmnk,skillcapintimidation) 200
   /varset a($crog,skillcapintimidation) 200
   /varset a($crog,skillcappp) 200
   /varset a($cmnk,skillcapmend) 200
   /varset a($crog,skillcaptraps) 200
   /varset a($cbrd,skillcaptraps) 75

   
/return

Sub GetGoodTarget
   /target pc
   /target pet
   /target npc soulbinder
   /delay 4
/return

Sub Domyabilities
   /if n $char(ability,"Forage")>0 /varset forageready 1
   /if n $char(ability,"Sense Heading")>0 /varset senseready 1
   /if n $char(ability,"Tracking")>0 /varset trackready 1
   /if n $char(ability,"Hide")>0 /varset hideready 1
   /if n $char(ability,"Sneak")>0 /varset sneakready 1
   /if n $char(ability,"Begging")>0 /varset begready 1
   /if n $char(ability,"Feign Death")>0 /varset fdready 1
   /if n $char(ability,"Mend")>0 /varadd mendready 1
   /if n $char(ability,"Sense Traps")>0 /varset trapsready 1
   /if n $char(ability,"Intimidation")>0 /varset intimidationready 1
   /if n $char(ability,"Pick Pockets")>0 /varset ppready 1
   /if n $char(ability,"Hide")==-2 /doability $v10
   /if n $char(ability,"Sneak")==-2 /doability $v11
/return

let me know if anything's broken...

and give me some feedback on how well it works, and any ways to improve it!