Druidbot, Chanterbot, Clericbot KISS (keep it simple ...)

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

Scriptless
orc pawn
orc pawn
Posts: 16
Joined: Fri Apr 23, 2004 4:20 pm

Druidbot, Chanterbot, Clericbot KISS (keep it simple ...)

Post by Scriptless » Sun May 02, 2004 5:36 am

Easy peasy stuff, thanks for the help guys.

Best if grouped so you can tow them around.

Put in a "magic" word so even that one guy in your guild ( everyone has one) can get what they need.

Do not leave these on when your not around, please.

These require a spellcast. I suggest the one on ML's Advbot(tm)
I flip between these and his script

Code: Select all

| Druidbot KISS (keep it simple ...)
| Thank you for the help guys

#chat tell 
#Include Spellcast



Sub Main 

/echo DRUIDBOT 

    /cleanup 
    /delay 1s 
    /g ok ready 

  :Mainloop 

/if (!${Me.Buff[Mask of the Stalker].ID}) {
    /tar myself
    /call cast "Mask of the Stalker"
}
 
/if (!${Me.Buff[Bladecoat].ID}) {
    /tar myself
    /call cast "Bladecoat"
} 
    /doevents chat 
    /goto :Mainloop 

Sub Event_Chat(ChatType,Sender,ChatText) 

| **CHANGE THE MAGIC WORD**

/if (${String[@ChatText].Equal[magic]}) { 
        /target ${Sender}
        /delay 1s
        /ttell SEASONS, DS, LEV, SOW, P9, B9, HEAL, ** mind your stupid pet**
    }

| **assist stuff**


    /if (${ChatText.Equal[snare]}) { 
        /target ${Sender}
        /delay 1s 
        /assist 
        /delay 1s 
        /pet attack
        /call Cast "ensnare" 
    } 

    /if (${ChatText.Equal[flame]}) { 
        /target ${Sender}
        /delay 1s 
        /assist 
        /delay 1s
        /pet attack 
        /call Cast "summer's flame" 
    } 

    /if (${ChatText.Equal[frost]}) { 
        /target ${Sender}
        /delay 1s 
        /assist 
        /delay 1s
        /pet attack 
        /call Cast "winter's frost" 
    } 

| ** buff stuff **

    /if (${ChatText.Equal[heal]}) { 
        /target ${Sender}
        /delay 1s 
        /call Cast "karana's renewal" 
    } 

    /if (${ChatText.Equal[seasons]}) { 
        /target ${Sender}
        /delay 1s 
        /call Cast "circle of seasons" 
    } 

    /if (${ChatText.Equal[DS]}) { 
        /target ${Sender}
        /delay 1s 
        /call Cast "shield of bracken" 
    } 

    /if (${ChatText.Equal[lev]}) { 
        /target ${Sender}
        /delay 1s 
        /call Cast "flight of eagles" 
    } 

    /if (${ChatText.Equal[sow]}) { 
        /target ${Sender}
        /delay 1s
        /call Cast "pack spirit" 
    } 

    /if (${ChatText.Equal[B9]}) { 
        /target ${Sender}
        /delay 1s 
        /call Cast "blessing of the nine" 
    } 

    /if (${ChatText.Equal[p9]}) { 
        /target ${Sender}
        /delay 1s 
        /call Cast "protection of the nine" 
    } 

| ** other stuff **

    /if (${ChatText.Equal[invis]}) { 
        /call Cast "foliage shield" 
    } 

    /if (${ChatText.Equal[evac]}) { 
        /call Cast "succor" 
    } 

    /if (${ChatText.Equal[gate]}) { 
        /call Cast "gate" 
    } 

    /if (${ChatText.Equal[pet]}) { 
        /call Cast "nature walkers behest" 
    } 

    /if (${ChatText.Equal[follow]}) { 
        /target ${Sender}
        /stand
        /delay 1s 
        /face fast
        /follow         
    } 

    /if (${ChatText.Equal[stop]}) { 
        /keypress down hold
        /delay 1
        /keypress down
    } 

    /return

Code: Select all

| chanterbot KISS ( keep it simple ...)
| thank you guys for the help


#chat tell 
#Include Spellcast



Sub Main 

/echo CHANTERBOT

    /cleanup 
    /delay 1s 
    /g ok ready 

  :Mainloop 
/if (!${Me.Buff[overwhelming splendor].ID}) {
    /tar myself
    /call cast "overwhelming splendor"
}
 
/if (!${Me.Buff[arcane rune].ID}) {
    /tar myself
    /call cast "arcane rune"
}

    /doevents
    /goto :Mainloop 
    /return 

Sub Event_Chat(ChatType,Sender,ChatText) 

| CHANGE THE MAGIC WORD**

        /if (${ChatText.Equal[magic]}) { 
        /target ${Sender}
        /delay 1s
        /ttell VoQ, VQ, GoD, SOV= your target, mind your stupid pet
    }

| ** Assist Stuff**

    /if (${ChatText.Equal[debuff]}) { 
        /target ${Sender}
        /delay 1s 
        /assist 
        /delay 1s 
        /pet attack
        /call Cast "Howl of tashan" 
        /call Cast "forlorn deeds" 
    } 

    /if (${ChatText.Equal[tash]}) { 
        /target ${Sender}
        /delay 1s 
        /assist 
        /delay 1s
        /pet attack 
        /call Cast "Howl of tashan" 
    } 

    /if (${ChatText.Equal[nuke]}) { 
        /target ${Sender}
        /delay 1s 
        /assist 
        /delay 1s 
        /pet attack
        /call Cast "insanity" 
    } 

    /if (${ChatText.Equal[mez]}) { 
        /target ${Sender}
        /delay 1s 
        /assist 
        /delay 1s 
        /call Cast "bliss" 
    } 

    /if (${ChatText.Equal[pac]}) { 
        /target ${Sender}
        /delay 1s 
        /assist 
        /delay 1s 
        /call Cast "pacification" 
    } 

    /if (${ChatText.Equal[sov]}) { 
        /target ${Sender}
        /delay 1s 
        /assist
        /delay 1s
        /call Cast "speed of vallon" 
    } 

| ** Buff Stuff **

    /if (${ChatText.Equal[voq]}) { 
        /target ${Sender}
        /delay 1s 
        /call Cast "voice of quellious" 
    } 


    /if (${ChatText.Equal[vq]}) { 
        /target ${Sender}
        /delay 1s 
        /call Cast "vallon's quickening"  
    } 

    /if (${ChatText.Equal[god]}) { 
        /target ${Sender}
        /delay 1s
        /call Cast "guard of druzzil"
    } 

    /if (${ChatText.Equal[invis]}) { 
        /target ${Sender}
        /call Cast "invisibility" 
    } 

| ** Other stuff **

    /if (${ChatText.Equal[gate]}) { 
        /call Cast "gate" 
    } 

    /if (${ChatText.Equal[pet]}) { 
        /call Cast "aeldorb's animation" 
    } 

    /if (${ChatText.Equal[shield]}) { 
        /call Cast "shield of maelin" 
    } 

    /if (${ChatText.Equal[follow]}) { 
        /target ${Sender}
        /delay 1s 
        /stand
        /face fast
        /follow         
    } 

    /if (${ChatText.Equal[stop]}) { 
        /keypress down hold
        /delay 1
        /keypress down
    } 

    /return

Code: Select all

BUFFRES

#chat tell
#include spellcast

sub main

/echo BUFFRES

:loop

/doevents chat

/goto :loop

Sub Event_Chat(ChatType,Sender,ChatText)

| ** CHANGE THE MAGIC WORD **

/if (${ChatText.Equal[magic]}) { 
    /target ${Sender}
    /delay 1s
    /ttell SYMBOL, MARK(group symbol), GRC, RES, BOR, VIRTUE, HOV(group), HEAL, WOG, **mind your stupid pet**
}

| ** Assist Stuff **

/if (${ChatText.Equal[nuke]}) { 
   /target ${Sender}
   /delay 1s
   /assist
   /delay 1s
   /call cast "condemnation" 
}

/if (${ChatText.Equal[mark]}) { 
   /target ${Sender}
   /delay 1s
   /assist
   /delay 1s
   /call cast "Kazad`s Mark"
}

/if (${ChatText.Equal[mok]}) { 
   /target ${Sender}
   /delay 1s
   /assist
   /delay 1s
   /call cast "mark of kings" 
}

/if (${ChatText.Equal[mor]}) { 
   /target ${Sender}
   /delay 1s
   /assist
   /delay 1s
   /call cast "mark of the righteous" 
}

| ** buff stuff **

/if (${ChatText.Equal[symbol]}) { 
   /target ${Sender}
   /delay 1s
   /call cast  "symbol of kazad"
}

/if (${ChatText.Equal[bor]}) { 
   /target ${Sender}
   /delay 1s
   /call cast "breastplate of vengeful fury" item
}

/if (${ChatText.Equal[virtue]}) { 
   /target ${Sender}
   /delay 1s
   /call cast "virtue" 
}

/if (${ChatText.Equal[hov]}) { 
   /target ${Sender}
   /delay 1s
   /call cast "hand of virtue" 
}

/if (${ChatText.Equal[heal]}) { 
   /target ${Sender}
   /delay 1s
/call cast "supernal remedy" 
}

/if (${ChatText.Equal[wog]}) { 
   /target ${Sender}
   /delay 1s
   /call cast "ward of gallantry" 
}

/if (${ChatText.Equal[grc]}) { 
   /target ${Sender}
   /delay 1s
   /call cast "blackflame sphere" item
}

| ** Other Stuff **

/if (${ChatText.Equal[res]}) { 
   /target ${Sender}
   /delay 1s
   /rs Resing %T
   /call cast "water sprinkler of nem ankh" item
}

/if (${ChatText.Equal[follow]}) { 
   /target ${Sender}
   /delay 1s
   /stand
   /face fast
   /follow 
}

/if (${ChatText.Equal[stop]}) { 
   /target ${Sender}
   /delay 1s
   /keypress back hold
   /delay 1
   /keypress back
}

/return

Comments and suggestions are welcome.

theoneandonly
orc pawn
orc pawn
Posts: 26
Joined: Sun Apr 11, 2004 6:39 pm

Post by theoneandonly » Fri May 07, 2004 8:06 pm

~bump, very very nice

Scriptless
orc pawn
orc pawn
Posts: 16
Joined: Fri Apr 23, 2004 4:20 pm

Post by Scriptless » Mon May 17, 2004 1:25 pm

Here is a simple CH rot thingy I whipped up. It works off a tell from the previous healer, assists them and CHs.

If on of the resident gurus would like to drop me a hint how to make a varset to have the cleric say the person's name that would be sweet.

Thanks in advance

Code: Select all

/Macro Rot
----------------------------------------------------------

Code: Select all

#chat tell 

Sub Main 
/echo starting rotation 

/cleanup 

/join healchannel:password

/delay 1s 

/1 ok ready 

:Mainloop
 
   /doevents chat
   /goto :Mainloop 

/return 


Sub Event_Chat(ChatType,Sender,ChatText) 

/if (${ChatText.Equal[heal]}) { 

   /target ${Sender}

/delay 5

   /assist

/delay 5

/1 **HEALING %T **

/Cast "complete healing"

/delay 1s

/cast complete healing

/delay 1s

/1 ### GO NEXT PERSON ###

/cast complete healing
} 

/return 

Zero0003
a lesser mummy
a lesser mummy
Posts: 76
Joined: Sun May 02, 2004 1:42 pm

Post by Zero0003 » Tue May 25, 2004 4:55 am

*bump*

User avatar
Elric
Cheese Whore
Cheese Whore
Posts: 466
Joined: Sun Nov 23, 2003 12:31 am
Location: Tampa, Fl
Contact:

Post by Elric » Tue May 25, 2004 9:51 pm

Erm. Why are you bumping this? Not like you had a pertinent coding question or anything..
-Elric

Spanky_Monkey
a ghoul
a ghoul
Posts: 103
Joined: Wed Feb 19, 2003 3:10 pm

CH rot

Post by Spanky_Monkey » Wed May 26, 2004 1:40 am

personally, I would use a hotkey that I normally do just have the macro activate it for me when my name comes up. Why? I would do it that way simply to retain /pause control. Sometimes we do ch rots on /pause 2 and I would prefer for the eq client to handle my pauses and have them be as uniform with the other clerics as possible. Just a thought from someone who has done his share of long and fast CH chains.

Spanky