• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Request for Clickies Macro (1 Viewer)

there are clicky plugins. mq2twist has clickie capabilities(i cant figure out how to work it tho) and there is also a pure clicky plugin that includes a window(which whenever i try to use drops me to default ui)
 
Here is a an attempt i can't test since i don't have some of the items.
Rich (BB code):
# By Pugs
#clacker.mac
#this is untested and will not keep them in order
Sub main

#include spell_routines.inc
#event 	aonoff	 		#*#Your illusion fades#*#
#event 	ringoff 		#*#The Taelosian guard fades#*#
#event 	Ear				#*#The rage subsides#*#
/call Cast "Amulet of Necropotence" item
/call cast "Stormeye Band" item
/call cast "Ring of Organic Darkness" item
/call cast "Fabled Shrunken Goblin Skull Earring" item
:loop
/delay 30s
/doevents 
/goto :loop

#sub event_aonoff
/call Cast "Amulet of Necropotence" item
/return
#sub event_ringoff 
/call cast "Stormeye Band" item
/call cast "Ring of Organic Darkness" item
/return
#sub event_Ear
/call cast "Fabled Shrunken Goblin Skull Earring" item
/return
 
zippy42167 said:
I'll go one further, and ask if anyone has a macro to keep up their clickies, in a specific order? hehe
As I do not have access to EQ atm I will test this in the AM but you all are welcome to try it out in the meantime and give feedback.

This will only activate your clicky item if the next buff slot available is the slot for that clicky item. If it determines you do not have the buff already and you already have a buff in the slot, it will attempt to remove it by clicking off the buff every 30 seconds then reattempt to activate the clicky.

Sample:
Clicky1 will only be cast if you have Buff Slot 1 open.

Declare your click items in the section provided... add new lines as needed and increase the maxclickies variable to the value of your number of clickies.
Rich (BB code):
#include spell_routines.inc
sub Main
/declare clicky1 	string 	local Amulet of Necropotence
/declare clicky2 	string 	local Ancient Werewolf Skull
/declare clicky3 	string 	local Skull of Vishimtar
/declare clicky4 	string 	local Black Fur Boots
/declare maxclickies 	int 	local 4
/declare loopid 	int 	local

:clickyloop
/for loopid 1 to ${maxclickies}
	:topclickloop
	/if (${delaybuff${loopid}}) /next loopid
	/if (!${Me.Buff[${FindItem[${clicky${loopid}}].Spell}].ID}) {
		/call nextbuffcheck
		/if (${Macro.Return}<${loopid}) /goto :bottomloop
		/if (${Macro.Return}==${loopid}) {
			/call Cast "${clicky${loopid}}" item
			/goto :bottomloop
			}
		/if (${Macro.Return}>${loopid}) {
			/call clickoff ${loopid}
			/if (${Me.Buff[${loopid}].Duration}) {
				/if (!${Defined[delaybuff${loopid}]}) /declare delaybuff${loopid} timer outer
				/varset delaybuff${loopid} 30s
				/goto :bottomloop
				}
			/goto :topclickloop
			}
		/goto :bottomloop
	}
	/if (${Me.Buff[${FindItem[${clicky${loopid}}].Spell}].Duration}<5) /call Cast "${clicky${loopid}}" item
:bottomloop
/delay 1
/if (${Me.Casting.ID}) /goto :bottomloop
/next loopid
/goto :clickyloop
/return

Sub nextbuffcheck
	/declare buffloop int local
	/declare temp int local
	/for buffloop 21 downto 1
		/if (!${Me.Buff[${buffloop}].Duration}) /varset temp ${buffloop}
	/next buffloop
/return ${temp}

Sub clickoff(int temp)
	/varcalc temp ${temp}-1
	/nomodkey /notify BuffWindow buff${temp} leftmouseup
	/delay 1s
/return
 
Last edited:
ok 1 more question =p anyway you can put in a code in there so that if im invis it wont cast or if another spell overwrites one of the clickies it wont unclick that spell and click the clicky.. example.. Strength of Hunter and Fabled Shrunken Goblin Skull earring.. =)
 
well, add && !${Me.Invis} to
Rich (BB code):
	/if (!${Me.Buff[${FindItem[${clicky${loopid}}].Spell}].ID}) {

after the first thing it checks and before the ) notice that is not a } :D
 
Sosafina said:
ok 1 more question =p anyway you can put in a code in there so that if im invis it wont cast or if another spell overwrites one of the clickies it wont unclick that spell and click the clicky.. example.. Strength of Hunter and Fabled Shrunken Goblin Skull earring.. =)

Here ya go, untested. Changes in red. Add the first line and change the second line.
Rich (BB code):
#include spell_routines.inc
sub Main
/declare clicky1 	string 	local Amulet of Necropotence
/declare clicky2 	string 	local Ancient Werewolf Skull
/declare clicky3 	string 	local Skull of Vishimtar
/declare clicky4 	string 	local Black Fur Boots
/declare maxclickies 	int 	local 4
/declare loopid 	int 	local

:clickyloop
/if (${Me.Moving} || ${Me.Invis} || ${Me.Stunned} || ${Me.Sitting} || ${Me.Ducking}) /goto :clickyloop
/for loopid 1 to ${maxclickies}
	:topclickloop
	/if (${delaybuff${loopid}}) /next loopid
	/if (!${Me.Buff[${FindItem[${clicky${loopid}}].Spell}].ID} && ${FindItem[${clicky${loopid}}].Spell.Stacks}) {
		/call nextbuffcheck
		/if (${Macro.Return}<${loopid}) /goto :bottomloop
		/if (${Macro.Return}==${loopid}) {
			/call Cast "${clicky${loopid}}" item
			/goto :bottomloop
			}
		/if (${Macro.Return}>${loopid}) {
			/call clickoff ${loopid}
			/if (${Me.Buff[${loopid}].Duration}) {
				/if (!${Defined[delaybuff${loopid}]}) /declare delaybuff${loopid} timer outer
				/varset delaybuff${loopid} 30s
				/goto :bottomloop
				}
			/goto :topclickloop
			}
		/goto :bottomloop
	}
	/if (${Me.Buff[${FindItem[${clicky${loopid}}].Spell}].Duration}<5) /call Cast "${clicky${loopid}}" item
:bottomloop
/delay 1
/if (${Me.Casting.ID}) /goto :bottomloop
/next loopid
/goto :clickyloop
/return

Sub nextbuffcheck
	/declare buffloop int local
	/declare temp int local
	/for buffloop 21 downto 1
		/if (!${Me.Buff[${buffloop}].Duration}) /varset temp ${buffloop}
	/next buffloop
/return ${temp}

Sub clickoff(int temp)
	/varcalc temp ${temp}-1
	/nomodkey /notify BuffWindow buff${temp} leftmouseup
	/delay 1s
/return
 
ok 1 more request and im done =p lol i dont need it to keep them in order, well it doesnt matter but the problem i have is if say... i have conviction in slot 1,2,3, or 4, it clicks it off to cast one of those... can i have it just cast the buff in the next available buff slot and not click off buffs?
 
This version here was mainly to follow up with zippy42167's requrest for clickys in specific slots. But if your not specific as to the slot you want the buffs in it gets quite a bit small code wise.

This code will not click off buffs and will not maintain them in the set order.

Rich (BB code):
#include spell_routines.inc
sub Main
/declare clicky1 	string 	local Amulet of Necropotence
/declare clicky2 	string 	local Ancient Werewolf Skull
/declare clicky3 	string 	local Skull of Vishimtar
/declare clicky4 	string 	local Black Fur Boots
/declare maxclickies 	int 	local 4
/declare loopid 	int 	local

:clickyloop
/if (${Me.Moving} || ${Me.Invis} || ${Me.Stunned} || ${Me.Sitting} || ${Me.Ducking}) /goto :clickyloop
/for loopid 1 to ${maxclickies}
	:topclickloop
	/if (!${Me.Buff[${FindItem[${clicky${loopid}}].Spell}].ID} && ${FindItem[${clicky${loopid}}].Spell.Stacks}) {
		/call Cast "${clicky${loopid}}" item
		/goto :bottomloop
	}
	/if (${Me.Buff[${FindItem[${clicky${loopid}}].Spell}].ID} && ${Me.Buff[${FindItem[${clicky${loopid}}].Spell}].Duration}<5) {
		/call Cast "${clicky${loopid}}" item
		/goto :bottomloop
	}
	:bottomloop
	/delay 1
	/if (${Me.Casting.ID}) /goto :bottomloop
/next loopid
/goto :clickyloop
/return
 
Request for Clickies Macro

Users who are viewing this thread

Back
Top