• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Question - Initiate Buff Cycle in KA? possible?

kaen01

I am not a complete idiot!..some parts are missing
Creator
Joined
Jun 12, 2015
RedCents
58,244¢
i was wondering if it would be possible some how, maybe poking at some variable somewhere, to make KA start a full buff cycle, wether you got the buffs on or not.

i like using groupbuffs but set em to |me becuase soemetimes people have buffs that wont stack with mine, and then ka gets into this crazy cycle to try and cast it on them all the time.

so i was wondering if i could do something that would start the buff cycle, and just rebuff all buffs in the buff section regardless of anyone needs or not.
 
The problem is the way kiss handles buffing. It scans your groups buffs and if you don't have a buff that's defined in your ini file it casts it. The problem comes in in that kiss has no idea about buff stacking rules (not that this is kisses fault). It also will rebuff based on the buff wearing off message.

All this is fine, until someone else casts a better version of the buff. Kiss sees that you don't have the buff so casts it, but because the better buff stops it applying it just keeps trying.

The only solution I've found is to either manually remove the better buff and let kiss buff the version in your ini file, or comment out that particular buff by placing | at the start of the buffs line, like this:
|Buffs3=Splendrous Guardian

You then save the ini file and restart the macro. When the better buff wears off simply remove the | save it and restart the macro.

It's for reasons like this I leave Notepad++ open with all my characters ini files opened, also allows for easy editing should the need arise.

You can also this command to turn off buffing totally, running it again turns it back on : /buffson
However unless you leave them off until the better buff wears off, turning it back on will just start the buff cycle mentioned above again.

The problem isn't kiss rather it's the spell stacking rules in the game. I could be wrong but this is what I've observed many times.
 
oh i know, i have notepad open all the time, constantly making small adustments

but mq2, does have stacking knowledge of what spells to cast, i used it in holyshits and downshits before, probably not perfect though.


but istill feel it be nice to have the option to do /rebuffallbuffs

andit just stats from buff1 and continues till its gonet hroughg all buffs.
 
I would deffinitely go for having a command like this added. Not sure how much coding it would take, but have found myself in situations where this could have been really useful. I'm out of thanks for now otherwise I would thank you for the idea!

~TheFiddler~
 
The trick would be to blank out your buffs entry from the kissassist_buffs.ini file and then reset the buffs timers and rebuff timer. If you did that it would be like restarting kiss.
 
so if i reset bufftimers, and rebuff timers, then it will rebuff?

not surehow to goabout blanking out the inistuff. hmmm
 
I still have problems with group buffs being recast multiple times even when toons have it, casting on each group member individually etc.

All running kiss etc.
 
I still have problems with group buffs being recast multiple times even when toons have it, casting on each group member individually etc.

All running kiss etc.

Well that's a timing issue between when the Buffer casts the spell and the Buffee writes his buffs to the ini file... That is not a bug, but a timing issue. We have a timer that we set to control how often buffs get written to the ini file. We currently have it set at 30 seconds... So there is a 30 second window where a buffer could cast a group buff multiple times before the Buffee actually updates the buffs.ini file...
 
so if i reset bufftimers, and rebuff timers, then it will rebuff?

not surehow to goabout blanking out the inistuff. hmmm

Yea you will need to /varset ReadBuffsTimer 0 and also IniNextTimer.

The timers for the buffs them self would be need to be reset. Buffs1GM0, Buffs2GM0, Buffs3GM0, Buffs4GM0,..... there is one for each buff in your bufflist. The GM0 is your timer and that is all that is checked for rebuffing group buffs.

/ini "KissAssist_Buffs.ini" "${Me.ID}" Buffs ""

That should blank out your buffs entry..
 
so made a little sub

it gets called, but nothing happens as such, ka odont start rebuffing me.

Rich (BB code):
| ----------------------------------------------------------------------------
| SUB: Bind_RebuffAll
| ----------------------------------------------------------------------------
    Sub Bind_RebuffAll
		/declare i int local
        /declare j int local
		/varset ReadBuffsTimer 0
		/varset	IniNextTimer 0
		/ini "KissAssist_Buffs.ini" "${Me.ID}" Buffs ""
		/for i 1 to ${Buffs.Size}
			/for j 0 to ${Group}
				/varset Buff${i}GM${j} 0
			/next j
		/next i
	/return

looking through the code for buffing it seems i also need to not have the buffs as such present on me, or am i reading that wrong.

i wonder if i can make a fake call to checkbuffs where i tell it we dont go not buffs. hmmm brain is working a littlebit.
 
Last edited:
Keep in mind that checkbuffs gets called from the MainLoop. Now also keep in mind that checkbuffs will not buff under certain situations.

What I would do to test to make sure everything is working. Add 2 lines of code.

Add an /echo Resetting Buff Timers at the top and add /call ChechBuffs at the bottom..

That way you know the bind is working.
 
Keep in mind that checkbuffs gets called from the MainLoop. Now also keep in mind that checkbuffs will not buff under certain situations.

What I would do to test to make sure everything is working. Add 2 lines of code.

Add an /echo Resetting Buff Timers at the top and add /call ChechBuffs at the bottom..

That way you know the bind is working.


so i attempted what you mentioned. and still no rebuffing..

but then i went ahead and got clevers

First i added this at the top in the main sub
Rich (BB code):
	/declare Rebuff					int			outer		0

then in the checkbuffs section i found the check for if you alrleady have the buff on you, and altered it slighty
Rich (BB code):
            /if ((${Rebuff}) || (!${Int[${Me.Buff[${BuffSub}].ID}]} && !${Int[${Me.Song[${BuffSub}].ID}]}) && ${Spell[${Buffs[${i}]}].Stacks[0]}) {

and then where its done running through all buffs and checks related to buffs

Rich (BB code):
/varset Rebuff 0

and then finallly in my little sub, i added the echo you mentioned, and sets my rebuff variable to trueand then calls checkbuffs.

Rich (BB code):
| ----------------------------------------------------------------------------
| SUB: Bind_RebuffAll
| ----------------------------------------------------------------------------
    Sub Bind_RebuffAll
		/echo Resetting bufftimers.. Attempting Rebuff.
		/declare i int local
        /declare j int local
		/varset ReadBuffsTimer 0
		/varset	IniNextTimer 0
		/ini "KissAssist_Buffs.ini" "${Me.ID}" Buffs ""
		/for i 1 to ${Buffs.Size}
			/for j 0 to ${Group}
				/varset Buff${i}GM${j} 0
			/next j
		/next i
		/varset Rebuff 1
		/call checkbuffs
	/return

this works on my little wizard casting his selfbuffs etc.
 
Cool! That's good, I was thinking you just might of had your bind set wrong, but it looks like it was in the buffs routine itself where you needed to force it to buff you regardless of you having the buff or not..
 
Looks like a solid addition to KA, I also had found myself wanting a certain member to rebuff their set. Thanks
 
my newest thought is to maybe one could give it a call that had rebuffall rebuffself rebuffgroup rebuffsingle, but will have to see how the checkbuffs handle s it and see if its possible to trick it.

but i work slow, lol my brain is ogre. and it dont know everything.
 
Maybe something like this:

/bca //docommand $\{If[$\{Defined[Rebuff]},$\{If[$\{Rebuff}==0,/multiline ; /varset Rebuff 1 ,/echo Rebuff in Process]},/echo Rebuff Not Defined]}

Just put that on a hotkey and let it fly... This will make anyone in group other than the one sending the message set the Rebuff variable for rebuffing.
 
was thinking more along the lines of commands the would do single target rebuffs, rebuff all the buffs, groupbuffs etc.
 
was thinking more along the lines of commands the would do single target rebuffs, rebuff all the buffs, groupbuffs etc.

That would be easy enough as far as setting the Rebuff flag. 1=single, 2=group, 3=All. The problem will be using this flag in the CheckIniBuffs routine. The Kissassist_Buffs.ini file is maintained by each individual character. You would have to add the logic to ignore what is in the Buffs.ini file and force the caster to buff.
 
Question - Initiate Buff Cycle in KA? possible?

Users who are viewing this thread

Back
Top
Cart