• 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 - difference between OR/AND

Joined
Jun 6, 2022
RedCents
2,210¢
Version of KissAssist.mac?
12
When did your problem start?
When I added the line yesterday
Character Role?
  1. Assist
What class is having this issue?
  1. Ranger
How often does this issue occur?
Always
Good evening I am trying to understand and / or in kissassist conditions.

I have this line as a condition. and I believe || means OR


Buffs2=command:/Sit|Cond9
Cond9=${Me.PctMana} < 75 || ${Me.PctEndurance} < 75



would this line be correct in saying in laymans terms that....

If my mana is under 75% OR my endurance is under 75% the condition will be TRUE?

I'm using it for my ranger.... I want it to sit and med if either of mana or end are under 75%

However... as it stands... the line isn't working
 
I dont know if it will fix your problem - but its always a good practice to put terms in Brackets.

ie (${Me.PctMana} < 75) || (${Me.PctEndurance} < 75)

This helps to determine what it should be evaluating first.
 
can we see your whole ini?
I poked around the library and am wondering if it shouldn't be Buffs2=command:/sit|Me|Cond9
 
Last edited:
why not just turn on med?

medon=1
medstart=75

i think is the lines. youd need to edit to those values.

then if he is under 75 mana out of combat he will sit and med.
 
why not just turn on med?

medon=1
medstart=75

i think is the lines. youd need to edit to those values.

then if he is under 75 mana out of combat he will sit and med.
Heh, I was windering the same thing myself but the only reason I did not ask was because the endurance component in the example provided

1682688611256.png
 
can we see your whole ini?
I poked around the library and am wondering if it shouldn't be Buffs2=command:/sit|Me|Cond9
Adding |Me shouldn't make a difference since Cond9 is explicitly contingent on Me anyway.

Make sure that your BuffsSize is at least 2, and that your CondSize is at least 9. I've definitely added a condition in the past and forgotten to change the size of the list.
 
(${Me.PctMana} < 75) || (${Me.PctEndurance} < 75) && !${Me.Sitting}

Or you're gonna sit stand over and over.

This says if my Mana or Endurance is less than 75% and I'm not already sitting. Then sit.
 
heya.... sorry.... been outa town so haven't checked thread.....
yeah.... it didn't work when I changed the med section.

anyway.... my main point was learning if I am using OR properly....
Anyway.. .I'm trying it on my monk/bard and ranger..... the monk works... but I have no ||OR cuz it only has endurance

here is my entire bard file for example

[General]
KissAssistVer=12.002
TwistOn=1
TwistMed=11
TwistWhat=10
XTSlot=0
Role=assist
CampRadius=30
CampRadiusExceed=400
ReturnToCamp=0
ChaseAssist=0
ChaseDistance=25
MedOn=1
MedStart=75
MedCombat=0
LootOn=0
RezAcceptOn=1|90
AcceptInvitesOn=1
GroupWatchOn=0
EQBCOn=1
IRCOn=0
CampfireOn=0
CharInfo=Bard|117|GOLD
DPSMeter=0
ScatterOn=0
MedStop=100
GroupWatchCheck=FALSE
DanNetOn=0
DanNetDelay=20
CorpseRecoveryOn=0
DefaultUI=TRUE
LOSBeforeCombat=0

[Buffs]
BuffsOn=1
BuffsSize=10
Buffs1=Aura of Margidor|Aura
Buffs2=command:/Sit|Cond9
Buffs3=Rallying Call|managroup|30
Buffs4=Rallying Solo|end|29
Buffs5=Rallying Call|endgroup|30
;Buffs6=Composite Psalm|endgroup|55
;Buffs7=Composite Psalm|managroup|60
Buffs6=Dissident Psalm|endgroup|55
Buffs7=Dissident Psalm|managroup|60
Buffs8=NULL
Buffs9=NULL
Buffs10=Selo's Sonata|Cond16
RebuffOn=1
CheckBuffsTimer=10
PowerSource=NULL

[Melee]
MeleeTwistOn=2
MeleeTwistWhat=1 2 3 4 5 6 7 10 11 12
AssistAt=99
MeleeOn=1
MeleeDistance=75
StickHow=snaproll rear
UseMQ2Melee=1
FaceMobOn=1
AutoFireOn=0
TargetSwitchingOn=0
PetTauntOverride=0

[Pull]
PullTwistOn=1
PullWith=Sonic Disturbance
PullMeleeStick=0
MaxRadius=250
MaxZRange=100
UseWayPointZ=0
PullWait=3
ChainPull=0
ChainPullHP=40
PullPause=30|2
PullLevel=100|114
PullArcWidth=0
PullRadiusToUse=90
PullRoleToggle=0
PullOnReturn=0

[AE]
AEOn=1
AESize=3
AERadius=50
AE1=NULL
AE2=NULL
AE3=NULL

[DPS]
DPSOn=2
DPSSize=25
DPSSkip=1
DPSInterval=2
DPS1=Blade of Vesagran|99
DPS2=Funeral Dirge|99|Cond8
DPS3=Quick Time|99|Cond8
DPS4=Spire of the Minstrels|99|Cond18
DPS5=Flurry of Notes|99|Cond8
DPS6=Frenzied Kicks|99|Cond8
DPS7=Song of Stone|99|Cond8
;DPS8=Vainglorious Shout|99|Cond8
; use boastful if you're having mez breaking / adds through walls issues
DPS8=Amulet of the Drowned Mariner|99
DPS9=Dance of Blades|99|Cond8
DPS10=Thousand Blades|99|Cond8
DPS11=command:/stopdisc|99|Cond5
DPS12=Deftdance Discipline|100|Cond7
DPS13=command:/pet swarm|99
DPS14=Lyrical Prankster|99
DPS15=Bladed Song|99
DPS16=Fierce Eye|99|Cond10
DPS17=Cacophony|99|Mob
DPS18=Reflexive Rebuttal|99|Cond17
DPS19=${InvSlot[Chest].Item.Name}|99|Cond1
;DPS20=Composite Psalm|99|Cond2
DPS20=Dissident Psalm|99|Cond2
DPS21=Boastful Bellow|98|Cond3
DPS22=Boastful Bellow|99|Cond14|Once
DPS23=Selo's Sonata|15
DPS24=NULL
DPS25=NULL
DebuffAllOn=0

[Aggro]
AggroOn=1
AggroSize=3
Aggro1=Fading Memories|80|>
Aggro2=Shield of Notes|90|>
Aggro3=Hymn of the Last Stand|95|>

[Mez]
; Use MezOn=3 if you ONLY want AOE Mez (this is how i run it)
MezOn=1
MezRadius=40
MezMinLevel=95
MezMaxLevel=118
MezStopHPs=90
MezSpell=Lullaby of Nightfall
MezAESpell=Wave of Sleep|3
MezDebuffOnResist=0
MezDebuffSpell=Your Debuff Spell

; I use the dps section for "burns" with conditions
; I still use BurnAllNamed on so i can toggle those burns.
[Burn]
BurnSize=3
BurnAllNamed=1
Burn1=Boastful Bellow|99|Cond8
Burn1=NULL
Burn1=NULL
BurnText=Burn
UseTribute=0
Burn2=NULL
Burn3=NULL

[KConditions]
ConOn=1
CondSize=18
Cond1=${Target.Named} && !${Me.Song[${Spell[Dissident Psalm of Potential].RankName}].ID} && ${BurnAllNamed}
Cond2=${Target.Named} && !${Me.Song[Masterful Phrygian Root].ID} && !${Me.Song[Masterful Phrygian Third].ID} && !${Me.Song[Masterful Phrygian Fifth].ID} && !${Me.Song[Masterful Phrygian Octave].ID} && ${BurnAllNamed}
Cond3=${Target.Named} && ${Target.BuffsPopulated} && !${Target.Buff[Boastful Bellow].ID} && ${BurnAllNamed}
Cond4=${Me.PctMana} > 50
Cond5=${Me.ActiveDisc.ID} && ${Target.Named} && ${Me.ActiveDisc.Name.NotEqual[Thousand Blades]} && ${Me.CombatAbilityReady[Thousand Blades]}
Cond6=!${Target.Named}
Cond7=${Me.XTarget} > 0 && ${Me.CombatAbilityReady[Deftdance Discipline]} && ${Me.PctHPs} < 30
Cond8=${Target.Named} && ${BurnAllNamed}
Cond9=${Me.PctMana} < 75 || ${Me.PctEndurance} < 75
Cond10=!${Me.Song[Spirit of Vesagran].ID}
Cond11=${Target.Named} && ${Target.Level} > 115 && ${Me.AltAbilityReady[Glyph of Destruction (115+)]} && ${BurnAllNamed}
Cond12=!${Me.AltAbilityReady[Glyph of Destruction (115+)]} && ${AltAbility[Glyph of Destruction (115+)].CanTrain} && ${Me.AAPoints}>39
Cond13=${SpawnCount[${Me.Name}`s pet]} > 0
Cond14=${Me.PctEndurance}>30
Cond15=!${Me.Buff[Illusion Benefit Greater Jann].ID}
Cond16=!${Me.Buff[Selo's Accelerato].ID} && !${Me.Buff[Selo's Accelerando].ID}
Cond17=((${Group.Member[0].PctMana} > 1 && ${Group.Member[0].PctMana}< 60) || (${Group.Member[1].PctMana} > 1 && ${Group.Member[1].PctMana} < 60) || (${Group.Member[2].PctMana} > 1 && ${Group.Member[2].PctMana} < 60) || (${Group.Member[3].PctMana} > 1 && ${Group.Member[3].PctMana} < 60) || (${Group.Member[4].PctMana} > 1 && ${Group.Member[4].PctMana} < 60) || (${Group.Member[5].PctMana} > 1 && ${Group.Member[5].PctMana} < 60))
Cond18=(${Me.XTarget} > 2 || ${Target.Named}) && ${BurnAllNamed}

[SpellS]
MiscGem=7
MiscGemLW=0
MiscGemRemem=1
LoadSpellSet=2
SpellSetName=KissAssist
CastingInterruptOn=1
Gem1=Aria of Pli Xin Liako
Gem2=Arcane Symphony
Gem3=Omorden's Spiteful Lyric
Gem4=Omorden's Song of Suffering
; Using Omorden's, can use both omorden's and yelinak for bigger dmg
Gem5=Sofia's Burning Call
Gem6=War March of Radiwol
Gem7=Kellek's Spry Sonata
Gem8=Lullaby of Nightfall
Gem9=Wave of Sleep
Gem10=Chorus of Vhal`Sera
Gem11=Pulse of Nikolas
Gem12=Dirge of the Onokiwan
; Dissident Psalm until I get rank 4 of composite based on current dissident rank
Gem13=Dissident Psalm
CheckStuckGem=1

[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
[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
[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:=/endmacro
ErrorDateTime:=04/28/2023 18:50:19
ErrorMsg:=Cannot end a macro when one isn't running.
DataError:=NULL
SyntaxError:=NULL
RunningTime:=182262958
BuildDate:=20230426
CurrentUI:=Default


PS..... I already know that I have alot of other redundancies. I have been editing this file a bunch since I grabbed it at 115..... and I have NOT been levelling it... just AA grinding wihile I catch the rest of my team up
 
I recognise this scenario:
Folks creating bespoke solutions when there is perfectly good software lying around that the company has already paid for and maintains that just has to be configured correctly.

Here's your solution:
For the monk
Use the existing MedOn in the ini as this will work on endurance. I have it set for my monk, war and rogue. I use:
MedOn=1
MedStart=30
MedStop=90

For the Ranger or Bard
Use the existing MedStart in the ini, this should take care of the mana portion.
... and take care of endurance in the buff section ...
Buffs2=command:/Sit|Cond9
Cond9=${Me.PctEndurance} < 75 && !${Me.Sitting}

For the Ranger / Bard, I would first test the MedOn setting to ensure it does do mana only and not mana + endurance. Or ... you could have a look at the code and see what that section is doing. (I may end up doing that myself now my curiosity is piqued)

Edit: Ok, so I did have a look.
Starting on line 3481 is the subroutine DoWeMed.

A few lines down at 3497 is the Mana / Endurance decision:
Code:
/if (${Select[${Me.Class.ShortName},BST,BRD,CLR,DRU,ENC,MAG,NEC,PAL,RNG,SHM,SHD,WIZ]}) {
    /varset MedStat Mana
} else {
    |/if (${Select[${Me.Class.ShortName},BER,MNK,ROG,WAR]}) /varset MedStat Endurance
    /varset MedStat Endurance
}

Line 3500 (line 4 in the above snippet) is commented out so you can ignore it. Basically:
If you have MedOn=1 set it will check mana for these classes:
BST,BRD,CLR,DRU,ENC,MAG,NEC,PAL,RNG,SHM,SHD,WIZ
And will check Endurance for any other class.
 
Last edited:
Question - difference between OR/AND

Users who are viewing this thread

Back
Top
Cart