• Hail, we're RedGuides. We want you to play six (yes, 6!) EverQuest characters at once. We have scripts and a friendly community to help, please join our playstyle and say hello! 👋
  • We've added LLM sections to our Terms & Rules and Resource Rules, for everyone's sanity & in-game safety.
    Read more
    a. Do not replace your voice with an LLM. This goes for your posts and your scripts. Drafting and editing with a tool is fine, but don't take you out of what you share.
    b. Do not replace your EQ character's voice with an LLM. We don't want scripts that speak over /ooc, /shout or other public channels. This has been an unwritten rule that's kept casino scripts off the site for decades, but we're now compelled to make it clear: keep automated communication private.

    Why Does RG Review Scripts?
    Nearly every LLM-written Lua script we see is making your character do impossible things, and rarely in a way that's beneficial to you. We've seen heavy server hammering, /target over impossible distances when /nav spawn would passively accomplish the same thing, a spawn search that fires 20+ times per second, and other pointless actions that are likely annoying GMs.

    You are welcome to use LLMs as a tool to structure, draft, and edit your work, but please read critically before hitting /lua run

Problem - Conditions within conditions and crashing

starstarman

New member
Version of KissAssist.mac?
11.005
When did your problem start?
When I manually swap 1H/shield and 2H
Character Role?
  1. Assist
What class is having this issue?
  1. Paladin
How often does this issue occur?
Sometimes
Can you reproduce the issue?
Sometimes when I manually swap weapon composition
Hello all. I took a look and saw some resource ini with some condition within condition written like:

DPS4=Nature's Searing Wrath|94|cond4
Cond1=${Target.ID} && ${Target.BuffsPopulated}
Cond3=${Range.Between[50,99:${Target.PctHPs}]}
Cond4=${Cond[1]} && ${Cond[3]} && !${Target.Buff[Nature's Searing Wrath].ID}

So I tried to make mine something like this (full ini in attachment):

DPS21=command:/bandolier activate 1HS|100|Cond11
DPS22=command:/bandolier activate 2HS|100|Cond12
DPS23=command:/groupr set ${Me.CleanName} 1|100|Cond13
DPS24=command:/groupr set ${Group.Member[5].Spawn.CleanName} 1|100|Cond14

ConOn=1
CondSize=30
;1. MT is dead
Cond1=${Group.MainTank.Spawn.Dead}
;2. I have aggro
Cond2=${Me.PctAggro} > 99
;3. I have a shield
Cond3=${Me.Inventory[offhand].ID}
;4. I am MT
Cond4=${Group.Member[0].MainTank}
;5. last person in the group is dead (the actual main tank)
Cond5=${Group.Member[5].Spawn.Dead}
Cond6=TRUE
Cond7=TRUE
Cond8=TRUE
Cond9=TRUE
Cond10=TRUE
;MT is dead and I ain't MT (for safety) OR (I have aggro and don't have a shield) OR I am MT but don't have a shield
Cond11=(${Cond[1]} && !${Cond[4]}) || (${Cond[2]} && !${Cond[3]}) || (${Cond[4]} && !${Cond[3]})
;I ain't MT and he is not dead and I don't have aggro and I have a shield
Cond12=!${Cond[4]} && !${Cond[1]} && !${Cond[2]} && ${Cond[3]}
;actual tank is dead and I ain't MT
Cond13=${Cond[5]} && !${Cond[4]}
;actual tank is not dead and he's not MT
Cond14=!${Cond[5]} && !${Group.Member[5].MainTank}

And then when I tried to test it by manually swapping 1H and 2H in combat, it crashed my character client.

I would like to ask if anyone has idea if :
1. The conditions in conditions actually works? Especially if I do something like above !${Cond[1]}, will it actually set the Cond1 to negative? According to some testing it doesn't seem so.
2. Sometimes my toon won't crash within those conditions met but also won't react according to them. It makes me start wondering what's actually happening. Does it start ignoring all the condition within condition after the crashes or they just plainly won't work from the beginning?

Thanks for the help!
 

Attachments

Just wanna update everyone that after doing a brief test, they all return with correct result.
Testing as follow:

;tester
DPS41=command:/gu 1.AND positive checked|100|once|Cond35
DPS42=command:/gu 2.OR positive checked|100|once|Cond36
DPS43=command:/gu 3.double AND negative checked|100|once|Cond37
DPS44=command:/gu 4.OR negative checked|100|once|Cond38
DPS45=command:/gu 5.triple combination checked|100|once|Cond39
DPS46=command:/gu 6.complex combination checked|100|once|Cond40
;tester
Cond31=${Group.MainTank.Spawn.PctHPs} <= 100
Cond32=${Group.Member[0].MainTank}
Cond33=${Group.Member[5].MainTank)
Cond34=${Group.Member[0].Spawn.Dead}
;AND positive
Cond35=${Cond[31]} && ${Cond[33]}
;OR positive
Cond36=${Cond[31]} || ${Cond[33]}
;double AND negative
Cond37=!${Cond[32]} && !${Cond[34]}
;OR negative
Cond38=!${Cond[32]} || !${Cond[34]}
;triple combination
Cond39=${Cond[31]} && ${Cond[37]}
;complex combination
Cond40=(${Cond[36]}) || (${Cond[39]})

All 6 guild chat returned correctly. And somehow it seems to be working when I put a bracket to anything that involve a integer comparison in the seed Cond.

Have fun all.
 
Glad you appear to have sorted it, however I highly recommend using /echo instead of /gu

/echo is local to the character that is operating the macro and wouldn't be broadcasted through DBG's chat service.
Alternately, if you're using something like EQBC you can use their command to output the information. IE: /bc
 
Problem - Conditions within conditions and crashing

Users who are viewing this thread

Back
Top
Cart