Grouping Beastlord

Got a cool macro idea? Wanna request a macro? Here is the place for you!

Moderator: MacroQuest Developers

Sephin

Grouping Beastlord

Post by Sephin » Sun Nov 23, 2003 7:06 pm

I just need a macro that will target a character in my group ever 10 seconds then sics pet, but also keeps up buffs based on a timer. Stands every 20 minutes to casts buffs on pet and group spiritual spell then sit, but also has option to not sit if mounted. Oh and also keep up mount if outdoors.

So pretty much sic pet rebuff and keep up mount if outdoors. Been messing with it myself. Tried running 5 macros all with different timers to do different things and found I can only run one. Problem is I cant get them all to work on one script =( THANK YOU!

Drunkensloth
a lesser mummy
a lesser mummy
Posts: 67
Joined: Sat Oct 18, 2003 2:54 am

Post by Drunkensloth » Sun Nov 23, 2003 7:52 pm

which member of your group are you assistng? every member of your group?
what buffs?
and who besides pet are you rebuffing
i can try scrounging something up while my guild is raiding PoEb (sooo boring)

i will leave it commented so youc an customize it
And here I was clicking like a sucker!

Drunkensloth
a lesser mummy
a lesser mummy
Posts: 67
Joined: Sat Oct 18, 2003 2:54 am

Post by Drunkensloth » Sun Nov 23, 2003 10:06 pm

here ya go... heavily notated...
pretty customizable...
REQUIRES: spellcast.ini written by plazmic ( i will include my version )
to change which spells you cast:
look for

Code: Select all

/call Cast "______"
and put in the name as it appears from your spell gem there

param0 is the name of who you are assisting every 10 seconds

change the timers to how long you want to wait between doing the actions


default:
assist: param0
rebuff: 20 minutes
assist: 10 seconds
spells:
Spiritual Dominion
Arag's Celerity
Dexterity
Stamina
Spirit Of Rellic


this macro CHECKS if you are mounted at start
and if so, will keep you mounted
AND WILL END IF YOU DIE


THIS CAN ONLY CAST SPELLS YOU HAVE MEMMED

without further waiting, the macro:
Beastgroup.mac

Code: Select all

|beastgroup.mac
|usage /mac beastgroup "param0"
|where param0 is the name of the person you are assisting
|
|written for Sephin
|by Drunkensloth
|version 0.1
|leaving it very customizable through parameters
|includes Plazmics spellcast.ini
|YOU MUST HAVE HORSE CAST BEFORE YOU START THIS MACRO OR IT WONT RECAST
|change the names of the spell according to your level
|THIS WILL NOT ATTACK PLAYERS
|
|

#event slain "slain by"
#include spellcast.ini
Sub Main
|this makes sure you dont break mez or anything silly like that
	/assist off
|here are you timers for pet/rebuff
	/declare sictimer Timer
	/declare rebuff Timer
|change timers here 10s=10seconds 20m=twenty minutes
	/varset sictimer 10s
	/varset rebuff 20m
	/if $char(mounted)==TRUE {
		/varset horsy 1
		/declare horsecast global
|hotkey your horse/drogmar and set this to which hotkey
		/varset horsecast 1
	}
|this if statement checks to see if your mounted, and if so
|sets which key to press to remount, as well as changing sit status
:timingloop
|this is the loop that determines when to do everything
	/doevents
	/if n @horsy!=1 /if $char(state)!="SIT" /sit
|checks to see if you using a horse, if no horse, and your not sitting, you will sit
	/if n @sictimer<=0 /call Pet
	/delay 5
	/if n @rebuff<=0 /call Rebuff
	/delay 5
	/if n @horsy==1 /if n $char(buff,"Summon:")==0 /call horsy
	/delay 5
	/goto :timingloop
/return


Sub Pet
|this is the pet attack sub
	/varset sictimer 10s
:retarget
	/assist "@param0"
	/delay 1s
|assists whom you specified and waits for a target
	/if $target(type)!="NPC" {
		/echo Target is not an NPC! Retargetting
		/goto :retarget
	}
|reloops assist sub because it didnt get a valid target
	/pet attack
|tells pet to attack your target
/return

Sub rebuff
	/if $char(state)!="STAND" /stand
|this is the rebuffing sub
	/echo rebuffing!
	/varset rebuff 20m
|clears target
	/press esc
	/press esc
|targets your pet
	/press f1
	/press f1
|buffs your pet
	/echo rebuffing pet with Arags, Rellic, Dex and Sta
	/call Cast "Arag's Celerity"
	/delay 5
	/call Cast "Spirit of Rellic"
	/delay 5
	/call Cast "Dexterity"
	/delay 5
	/call Cast "Stamina"
	/delay 5
|clearing target to make sure group gets spiritual spell
	/press esc
	/press esc
	/call Cast "Spiritual Dominion"
	/delay 5
	/return

Sub horsy
	/if $char(state)!="STAND" /stand
|this is the horse recast sub
	/echo mounting!
	/press 1
:Waitmount 
	/if "$char(casting)"=="TRUE" { 
		/delay 1 
		/goto :Waitmount
	} 
/delay 1s
/echo remounted!
/return

Sub Event_slain
	/delay 2m
	/echo you died!
	|waits for you to finish zoning after you die
	/if $char(state)!="SIT" /sit
	/delay 5
	/camp
	/end
/return

Plazmics spellcast.ini

Code: Select all

|Plazmic + 1 line change by Imperfect 


|Oct 9, 2003 - Updated to work with new vars and $char(casting) - gf 
|Oct 11, 2003 - switched some logic, removed defines - gf 


#event Fizzle "Your spell fizzles!" 
#event Interrupt "Your casting has been interrupted!" 
#event Interrupt "Your spell is interrupted." 
#event Recover "You haven't recovered yet..." 
#event Recover "Spell recovery time not yet met." 
#event Resisted "You target resisted the " 
#event OutOfMana "Insufficient Mana to cast this spell!" 
#event OutOfRange "Your target is out of range, get closer!" 
#event NoLOS "You cannot see your target." 
#event Stunned "You cannot cast while stunned" 
#event Standing "You must be standing to cast a spell" 
#event Collapse "Your gate is too unstable, and collapses." 

Sub Cast(SpellName) 
  /if n $char(gem,"@SpellName")==0 /return CAST_UNKNOWNSPELL 
  :StartCast 
  /call ClearReturnValue 
  /if n $char(gem,"@SpellName")<0 { 
     /delay 0 
     /goto :StartCast 
  } 
  /cast "@SpellName" 

  :WaitCast 
     /if "$char(casting)"=="TRUE" { 
       /delay 1 
       /goto :WaitCast 
     } 
     /doevents Fizzle 
     /doevents Interrupt 
     /doevents Recover 
     /doevents Standing 
     /doevents OutOfRange 
     /doevents OutOfMana 
     /doevents NoLOS 
     /doevents Resisted 
     /if "$return"=="CAST_RESTART" /goto :StartCast 
     /if "$return"!="CAST_SUCCESS" /return "$return" 
/return CAST_SUCCESS 

Sub ClearReturnValue 
/return CAST_SUCCESS 

Sub Event_Fizzle 
/return CAST_RESTART 

Sub Event_Interrupt 
/return CAST_RESTART 

Sub Event_Recover 
   /delay 5 
/return CAST_RESTART 

Sub Event_Standing 
   /stand 
/return CAST_RESTART 

Sub Event_Collapse 
/return CAST_RESTART 

Sub Event_OutOfMana 
/return CAST_OUTOFMANA 

Sub Event_OutOfRange 
/return CAST_OUTOFRANGE 

Sub Event_NoLOS 
/return CAST_CANNOTSEE 

Sub Event_Stunned 
/return CAST_STUNNED 

Sub Event_Resisted 
/return CAST_RESISTED 

have fun enjoy
And here I was clicking like a sucker!