• 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 - Bard Restarts Melody After Kill

Goober24

Member
Joined
Feb 27, 2024
RedCents
50¢
Wrong forum
Using Kissassist, my bard restarts the melody after every kill. Normally not a huge issue, but when things are rapidly dying during a raid, I can never get the full melody going. Any suggestions?
 
Each resource on RG has an Overview / Discussion Thread and either a link to their wiki or tabs with FAQ, Commands, Etc.
Please make sure to post in the respective discussion thread, and check the FAQ/Commands/Wiki for information before posting.

kiss has a "kiss support" section, kiss support questions you want to post there. which does require level 2 --- i hit you with 30 days of lvl 2 access

you will also want to post your kiss ini so folks can help you.
 
Apologies. .ini below.

INI:
[General]
KissAssistVer=12.002
Role=Assist
CampRadius=60
CampRadiusExceed=400
ReturnToCamp=0
ChaseAssist=1
ChaseDistance=25
MedOn=0
MedStart=100
MedStop=100
MedCombat=0
LootOn=0
RezAcceptOn=1|90
AcceptInvitesOn=1
GroupWatchOn=0
GroupWatchCheck=FALSE
CorpseRecoveryOn=0
EQBCOn=0
DanNetOn=0
DanNetDelay=20
IRCOn=0
CampfireOn=0
CharInfo=Bard|65|GOLD
DPSMeter=0
ScatterOn=0
LOSBeforeCombat=0
TwistOn=1
TwistWhat=5 6 7 8 3
XTSlot=1st
DefaultxUI=TRUE
TwistMed=5 6 7 8 3
Slot=Disabled
DefaultUI=TRUE
[Melee]
AssistAt=98
MeleeOn=1
FaceMobOn=1
MeleeDistance=85
StickHow=loose
AutoFireOn=0
UseMQ2Melee=0
TargetSwitchingOn=1
MeleeTwistOn=0
MeleeTwistWhat=5 6 7 8 3
PetTauntOverride=0
[DPS]
DPSOn=1
DPSSize=2
DPSSkip=0
DPSInterval=2
DPS1=Boastful Bellow|98
DPS2=NULL
DebuffAllOn=0
DPS2=NULL
[KConditions]
ConOn=1
CondSize=2
Cond1=NULL
DebuffAllOn=0
Cond2=TRUE
[Aggro]
AggroOn=0
AggroSize=5
Aggro1=NULL
Aggro2=NULL
Aggro3=NULL
Aggro4=NULL
Aggro5=NULL
[Mez]
MezOn=0
MezRadius=50
MezMinLevel=1
MezMaxLevel=68
MezStopHPs=80
MezSpell=Lullaby of Morell
MezAESpell=Your AE Mez Spell|0
MezDebuffOnResist=0
MezDebuffSpell=Your Debuff Spell
[Burn]
UseTribute=0
BurnAllNamed=0
BurnSize=10
Burn1=Puretone Discipline
Burn2=Deftdance Discipline
Burn3=NULL
Burn4=NULL
Burn5=NULL
Burn6=NULL
Burn7=NULL
Burn8=NULL
Burn9=NULL
Burn10=NULL
BurnTwistWhat=0
[KConditions]
ConOn=0
CondSize=5
Cond1=TRUE
Cond2=TRUE
Cond3=TRUE
Cond4=TRUE
Cond5=TRUE
[Spells]
MiscGem=8
MiscGemLW=0
MiscGemRemem=1
LoadSpellSet=0
SpellSetName=KissAssist
CastingInterruptOn=1
CheckStuckGem=1
Gem1=Denon's Desperate Dirge
Gem2=Amplification
Gem3=Selo's Accelerating Chorus
Gem4=Selo's Song of Travel
Gem5=Psalm of Veeshan
Gem6=Call of the Muse
Gem7=Warsong of Zek
Gem8=Chorus of Marr
[Buffs]
BuffsOn=1
BuffsSize=10
Buffs1=Songblade of the Eternal|Dual|Symphony of Battle|Me
Buffs2=NULL
Buffs3=NULL
Buffs4=NULL
Buffs5=NULL
Buffs6=NULL
Buffs7=NULL
Buffs8=NULL
Buffs9=NULL
Buffs10=NULL
RebuffOn=1
CheckBuffsTimer=10
PowerSource=NULL
[GMail]
GMailHelp=Events currently support - Dead,Drag,GM,Level,Named,Leftgroup,Tells
GMailOn=0
GMailSize=5
GMail1=NULL
GMail2=NULL
GMail3=NULL
GMail4=NULL
GMail5=NULL
[AE]
AEOn=0
AESize=10
AERadius=50
AE1=NULL
AE2=NULL
AE3=NULL
AE4=NULL
AE5=NULL
AE6=NULL
AE7=NULL
AE8=NULL
AE9=NULL
AE10=NULL
[Heals]
Help=Format Spell|% to heal at i.e. Devout Light Rk. II|50
HealsOn=0
HealInterval=0
AutoRezOn=0
HealsSize=5
Heals1=NULL
Heals2=NULL
Heals3=NULL
Heals4=NULL
Heals5=NULL
XTarHeal=0
XTarHealList=Xtar slots here Example: 5|6|7
HealGroupPetsOn=0
RezMeLast=0
[Cures]
CuresOn=0
CuresSize=5
Cures1=NULL
Cures2=NULL
Cures3=NULL
Cures4=NULL
Cures5=NULL
[Merc]
Help=To use: Turn off Auto Assist in Manage Mercenary Window
MercOn=0
MercAssistAt=92
[Pull]
PullWith=Sonic Disturbance
PullMeleeStick=0
MaxRadius=250
MaxZRange=50
UseWayPointZ=0
PullWait=5
PullRadiusToUse=90
PullRoleToggle=0
ChainPull=0
ChainPullHP=90
PullPause=30|2
PullLevel=0|0
PullArcWidth=0
PullTwistOn=0
PullOnReturn=0
[PullAdvanced]
PullLocsOn=0
[AFKTools]
AFKHelp=AFKGMAction=0 Off, 1 Pause Macro, 2 End Macro, 3 Unload MQ2, 4 Quit Game
AFKToolsOn=1
AFKGMAction=1
AFKPCRadius=500
CampOnDeath=0
ClickBacktoCamp=0
[KissError]
LastCMD:=/if (!37) {
ErrorDateTime:=02/25/2024 19:34:14
ErrorMsg:=Plugin 'MQ2Posse' could not be loaded: Plugin not found
DataError:=NULL
SyntaxError:=NULL
RunningTime:=103555942
BuildDate:=20240224
CurrentUI:=Default
 
With it set to Continuous like above poster mentioned, it will still stop whatever song you are casting just as the mob dies, but it will immediately get back to twisting from the last song instead of restarting from the top.
 
With it set to Continuous like above poster mentioned, it will still stop whatever song you are casting just as the mob dies, but it will immediately get back to twisting from the last song instead of restarting from the top.
Ah ok. Currently its still just stopping wherever it is and going back to the beginning. Is there maybe something else in the .ini interfering?

relevant section of .ini that I edited for reference.

[General]
KissAssistVer=12.002
Role=Assist
CampRadius=60
CampRadiusExceed=400
ReturnToCamp=0
ChaseAssist=1
ChaseDistance=25
MedOn=0
MedStart=100
MedStop=100
MedCombat=0
LootOn=0
RezAcceptOn=1|90
AcceptInvitesOn=1
GroupWatchOn=0
GroupWatchCheck=FALSE
CorpseRecoveryOn=0
EQBCOn=0
DanNetOn=0
DanNetDelay=20
IRCOn=0
CampfireOn=0
CharInfo=Bard|65|GOLD
DPSMeter=0
ScatterOn=0
LOSBeforeCombat=0
TwistOn=1
TwistWhat=5 6 7 8 3
XTSlot=1st
DefaultxUI=TRUE
TwistMed=5 6 7 8 3
Slot=Disabled
DefaultUI=TRUE
[Melee]
AssistAt=98
MeleeOn=1
FaceMobOn=1
MeleeDistance=85
StickHow=loose
AutoFireOn=0
UseMQ2Melee=0
TargetSwitchingOn=1
MeleeTwistOn=1
MeleeTwistWhat=Continuous
PetTauntOverride=0
 
Swapped in the MeleeTwistWhat=Continous and MeleeTwistOn=1, but it still says "Starting Normal Twist 2" and restarts after each kill

Twist is supposed to remember where it left off and resume from there, but I had the same thing as you and ended up editing KA to prevent the stoptwist on mob death. Hasn't caused me issues, but it probably could if you're using dots/insults.
 
I just happen to have been levelling a new bard up, I would recommend changing your kissassist over to this one here:


Right now you have your EQBC and your DANNET set to 0 which does not allow for proper communication between your characters. The INI I posted has them both set to 1. Whatever you're NOT using, swap it to 0 from the INI I posted. It worked great for me.

EDIT: If you don't want your bard to pull, just swap "puller" at the top of the INI to "assist" as well
 
tried turning dannet=1, same thing. I can try to swap in that INI and see if it fixes it. Have just been trying to figure out what option is telling it to restart the twist on mob death. Was hoping it would just do a continuous loop without interuptions.
 
tried turning dannet=1, same thing. I can try to swap in that INI and see if it fixes it. Have just been trying to figure out what option is telling it to restart the twist on mob death. Was hoping it would just do a continuous loop without interuptions.

It's not an option. The twist stop on mob kill is hard coded in KA. It's just that twist *should* be remembering what song it was on when it starts back up to continue twisting.
 
It's not an option. The twist stop on mob kill is hard coded in KA. It's just that twist *should* be remembering what song it was on when it starts back up to continue twisting.
Is there a good way to troubleshoot why it isn't? Anything glaring in the .ini that would cause this? appreciate the responses!
 
Is there a good way to troubleshoot why it isn't? Anything glaring in the .ini that would cause this? appreciate the responses!

I never figured out why it wasn't continuing from the last song, and kept restarting from the beginning. So I just removed the twist stop on mob kill from the macro, like I mentioned in my earlier reply. My twist just never stops on mob kill now. Could probably cause some issues if you use insults/dots, I haven't tested.
 
I never figured out why it wasn't continuing from the last song, and kept restarting from the beginning. So I just removed the twist stop on mob kill from the macro, like I mentioned in my earlier reply. My twist just never stops on mob kill now. Could probably cause some issues if you use insults/dots, I haven't tested.
I might be dense here, but what line does twist stop on mob kill?

EDIT* feel like i've been through several KA documents trying to figure out what everything does, and dont recall there being a twist stop on mob kill option.
 
I might be dense here, but what line does twist stop on mob kill?

EDIT* feel like i've been through several KA documents trying to figure out what everything does, and dont recall there being a twist stop on mob kill option.

It's not an option, it's in the macro. I'll see if i can find the line for you.
 
It looks like it may be here..

} else /if (!${CombatStart}) {
| Handle Normal Twist
/if (${TwistOn} && !${Twisting}) {
/if (!${Twist} && ${Me.BardSongPlaying}) {
/stopsong <----Specifically this line?
/delay 5
}
/if (${Me.Sitting}) {
/stand
/delay 20 !${Me.Sitting}
}
/squelch /twist ${TwistWhat}
/echo == Starting normal twist 2
} else /if (!${TwistOn}) {
/if (${Twist}) /call CastBardCheck
}
/varset DPSTwisting 0
/varset Twisting 1
 
So in the CombatReset sub, around line 2000, it does this:

/if (${IAmABard}) {
/varset DPSTwisting 0
/call CastBardCheck
/call DoBardStuff
}

When it gets into CastBardCheck, it is supposed to stopsong and then when DoBardStuff is called, it's supposed to resume the twist where it left off. I just couldn't get mine to restart twist back where it was and I wasn't smart enough to figure out why.

So I did this:

/if (${IAmABard}) {
/varset DPSTwisting 0
/call DoBardStuff
}

And it no longer stops when a mob dies.

Again to be clear, they were probably doing this for a reason and it could probably cause some issue. It just hasn't caused me any issues, so I'm keeping it like this.
 
So in the CombatReset sub, around line 2000, it does this:

/if (${IAmABard}) {
/varset DPSTwisting 0
/call CastBardCheck
/call DoBardStuff
}

When it gets into CastBardCheck, it is supposed to stopsong and then when DoBardStuff is called, it's supposed to resume the twist where it left off. I just couldn't get mine to restart twist back where it was and I wasn't smart enough to figure out why.

So I did this:

/if (${IAmABard}) {
/varset DPSTwisting 0
/call DoBardStuff
}

And it no longer stops when a mob dies.

Again to be clear, they were probably doing this for a reason and it could probably cause some issue. It just hasn't caused me any issues, so I'm keeping it like this.
I will give this a shot. Thanks for the info!
 
So in the CombatReset sub, around line 2000, it does this:

/if (${IAmABard}) {
/varset DPSTwisting 0
/call CastBardCheck
/call DoBardStuff
}

When it gets into CastBardCheck, it is supposed to stopsong and then when DoBardStuff is called, it's supposed to resume the twist where it left off. I just couldn't get mine to restart twist back where it was and I wasn't smart enough to figure out why.

So I did this:

/if (${IAmABard}) {
/varset DPSTwisting 0
/call DoBardStuff
}

And it no longer stops when a mob dies.

Again to be clear, they were probably doing this for a reason and it could probably cause some issue. It just hasn't caused me any issues, so I'm keeping it like this.
Hah, I didn't even realize my bard was completely restarting his twist after each mob died until I saw this thread.

So taking a look, I think what's happening is in CastBardCheck when it sees it was twisting (and it should be twisting), it sets WasTwisting and BardWasTwisting variables and then does the /twist off command (not just a /stopsong). So by removing that call, your bard isn't stopping the twist via the /twist off. I grabbed some debug output from my bard, and if your output looks like mine when you get into the DoBardStuff call, I suspect that ends up not really doing anything, or at least not ending up calling and of the /twist command it has in it. I'm seeing some an unexpected value for 1 or maybe 2 variables that DoBardStuff uses in my debug output. I think if those variables were set to what I would expect it to be, then DoBardStuff would resume the twist assuming that MeleeTwistWhat was set to continuous. Going to see if I can add some more DEBUG output to see if I can figure out why/where the variables values might be coming from or not what I'd expect them to be.
 
Hah, I didn't even realize my bard was completely restarting his twist after each mob died until I saw this thread.

So taking a look, I think what's happening is in CastBardCheck when it sees it was twisting (and it should be twisting), it sets WasTwisting and BardWasTwisting variables and then does the /twist off command (not just a /stopsong). So by removing that call, your bard isn't stopping the twist via the /twist off. I grabbed some debug output from my bard, and if your output looks like mine when you get into the DoBardStuff call, I suspect that ends up not really doing anything, or at least not ending up calling and of the /twist command it has in it. I'm seeing some an unexpected value for 1 or maybe 2 variables that DoBardStuff uses in my debug output. I think if those variables were set to what I would expect it to be, then DoBardStuff would resume the twist assuming that MeleeTwistWhat was set to continuous. Going to see if I can add some more DEBUG output to see if I can figure out why/where the variables values might be coming from or not what I'd expect them to be.

Yeah, removing CastBardCheck prevents it from stopping the twist so when it gets into DoBardStuff, it just returns b/c it never meets the /if (${TwistOn} && !${Twisting}) { condition. Which is of course ideal for those of us who want Continuous to truly be continuous and never reset/restart.

I'm sure it works this way to support setups that don't twist outside of combat, or do use combat twist, to make sure the correct twist is always active in/out of combat.

Ideally KA would handle both situations optimally - when continuous is enabled, it doesn't call CastBardCheck during the CombatReset sub, but for any other twisting setup it does. Could probably just slap a condition on the CastBardCheck call in CombatReset to only be called when it's not in Continuous mode.

Something like this?

/if (${IAmABard}) {
/varset DPSTwisting 0
/if (!${MeleeTwistWhat.Equal[Continuous]}) {
/call CastBardCheck
}
/call DoBardStuff
}
 
Yeah, removing CastBardCheck prevents it from stopping the twist so when it gets into DoBardStuff, it just returns b/c it never meets the /if (${TwistOn} && !${Twisting}) { condition. Which is of course ideal for those of us who want Continuous to truly be continuous and never reset/restart.

I'm sure it works this way to support setups that don't twist outside of combat, or do use combat twist, to make sure the correct twist is always active in/out of combat.

Ideally KA would handle both situations optimally - when continuous is enabled, it doesn't call CastBardCheck during the CombatReset sub, but for any other twisting setup it does. Could probably just slap a condition on the CastBardCheck call in CombatReset to only be called when it's not in Continuous mode.

Something like this?

/if (${IAmABard}) {
/varset DPSTwisting 0
/if (!${MeleeTwistWhat.Equal[Continuous]}) {
/call CastBardCheck
}
/call DoBardStuff
}
It's more than that though. With the debug I've added, it looks like possibly MeleeTwistOn and MeleeTwistWhat might be getting nuked which would absolutely affect behavior in doBardStuff in terms of it resuming the twist when being called from CombatReset after the CastBardCheck was called.
 
It's more than that though. With the debug I've added, it looks like possibly MeleeTwistOn and MeleeTwistWhat might be getting nuked which would absolutely affect behavior in doBardStuff in terms of it resuming the twist when being called from CombatReset after the CastBardCheck was called.
Yeah, so I commented out the code where it looks like MeleeTwistOn and MeleeTwistWhat are getting changed from the values set in the .ini file, and if I use MeleeTwistOn=2 and MeleeTwistWhat=Continuous, If I agro 2 mobs, after I kill the 1st mob, my bard is not starting my twist from the beginning, and I'm getting "Resuming normal twist during Combat 1" in the mq console. Then when the 2nd mob dies, it then restarts the twist from the beginning and I see "Starting normal twist 2" in the console. So it's not "never" restarting the twist, but when you have multiple mobs aggro, it is resuming the twist with the settings I'm using now and the code I've commented out.
 
So I'm pretty sure this code in InitData is not functioning properly. Here's the code along with 2 extra debug statements I've added:

DEBUGN initdata1 ${TwistOn} : ${TwistWhat} : ${MeleeTwistOn} : ${MeleeTwistWhat}
/if (${IAmABard}) {
/if (!${TwistOn}) {
/varset TwistWhat 0
} else {
/if (${TwistWhat.NotEqual[0]} && ${Int[${TwistWhat}]}==0) /varset TwistWhat 0
/if (!${TwistWhat} ) /varset TwistOn 0
}
/if (${TwistMed.NotEqual[0]} && ${Int[${TwistMed}]}==0) /varset TwistMed 0
/if (!${MeleeTwistOn}) {
/varset MeleeTwistWhat 0
} else {
/if (${MeleeTwistWhat.NotEqual[0]} && ${Int[${MeleeTwistWhat}]}==0) /varset MeleeTwistWhat 0
/if (!${MeleeTwistWhat}) /varset MeleeTwistOn 0
}
}
DEBUGN initdata1 ${TwistOn} : ${TwistWhat} : ${MeleeTwistOn} : ${MeleeTwistWhat}

Here is what I got in my debug log file for the 2 debug statements:

[2024/02/27 19:13:09] DEBUG-032 L:15604 T:27 initdata1 1 : 1 2 3 4 5 6 8 : 2 :Continuous
[2024/02/27 19:13:09] DEBUG-032 L:15620 T:27 initdata1 1 : 1 2 3 4 5 6 8 : 0 :0

So the varsets and condition checks dealing with ${MeleeTwistWhat} don't seem to be correct, and seem to be leading to MeleeTwistOn and MeleeTwistWhat to no long match what they were originally set to in my .ini file, specifically both are getting reset to 0.

Here's those 4 settings in my .ini file:
TwistOn=1
TwistWhat=1 2 3 4 5 6 8
MeleeTwistOn=2
MeleeTwistWhat=Continuous

When I commented out the above code from InitData, the values of MeleeTwistOn and MeleeTwistWhat were now preserved and then prevented my bard from restarting his song twist from the beginning when multiple mobs were aggro and killed. So basically the variables being reset are I believe producing incorrect behavior in the DoBardStuff funciton (and in this case it seems to cause the bard to constantly restart his twisting at the 1st song when you kill a mob and have multiple mobs being fought at one time.

However, even with the changes mentioned and the above settings, the bard twist does appear to reset to song 1 after all combat is finished (so all mobs agro are killed).
 
Question - Bard Restarts Melody After Kill

Users who are viewing this thread

Back
Top
Cart