• 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

Problem - Variable not clearing

FelisMalum

Well-known member
Joined
Mar 7, 2022
RedCents
439¢
Pronouns
She/Her
Having some issue with events. After allot of back tracking I'm finding that ${ADMobFound} isnt clearing out as it should. Seems to always =TRUE. Looks like the T/F declarations are mostly handled by moddebuff. Having some issues figuring why its not resetting back to false once ooc.

Or more accurately seems to have a rather long delay to clear. Will track it to see if I can find when it is clearing.

Ok been tracking it. It resets to FALSE on enc and pal fairly quick. For some reason it takes quite a bit of downtime on rog to reset. Like minutes long.
 
Last edited:
What is the event you are trying to trigger? Not every MB variable is a good candidate for use 'outside' the macro itself.
 
I have an event that wasnt triggering. Supposed to run a script during idle to count potions then restock if necessary. Not trying to use the variable directly but figure why the event wasnt running. The idle condition is never getting reached. Allot of back tracking and some /echo statements found {ADMobFound} is getting stuck at TRUE. Well not exactly TRUE. The macro is constantly setting it to FALSE just to reset it to TRUE a few lines later.

Really weird part is its only on the rog wich dont make much seance. Once OOC the pal/enc set to F then stay there. Should be able to look at it more today. Atleast I know where its going wrong. Hopefully its not even further up stream.
 
I think my point is that if the macro itself is running properly, the variable isn't necessarily "wrong". You are trying to inspect it at a point where it isn't being used as intended. Usually, ADMobFound is checked after ADSpawnCheck is called.

I asked about the event to try to help you choose a different approach (without using that variable) to accomplishing your goal. I do a similar thing when I need to summon axes on my Berserker, but I am not trying to look for 'idle'.
 
Last edited:
IDK, today its working fine with no changes. Not sure what the issue was or why its now fixed. I didnt change any of the code. Just going to chalk it up to code gremlins and consider the issue resolved. Some days I hate computers.
 
Just basic entries. Other day toon ran itself out of poison witch takes quite some time so started looking why. After a few hr of digging found the ADMobFound wasnt resetting to false so it never ran the idle events. The cbt ones were getting checked fine. Yesterday it was running fine and keeping stocked. IDK, stupid sock gnomes are trying there hand at programing I guess.

Code:
[Script-MBStartup]
Commands=4
C1=/if ({Me.ItemReady[Spectral Luclinite Shadowscale Leggings]} && {FindItemCount[Consigned Bite of the Shissar XXI]}<20) /useitem Spectral Luclinite Shadowscale Leggings
C2=/delay 3s !${Me.Casting.ID}
C3=/autoinventory
C4=/return

[AE1]
Gem=script
Spell=MBStartup
SpellFoci=
DurMod=0
Delay=0
EventMinMana=0
EventMinHP=1
EventMinEndur=0
MinMana=0
MaxMana=0
MinHP=0
MaxHP=101
MinEndur=0
MaxEndur=101
TarType=self idle
SpellAlias=poison
Announce=
TarCnt=1
 
The cbt/idle info uses whatever you have setup for normal mobs detections. Are there any NPCs around within your Radius that you haven't Excluded?
 
Was in the middle of grinding, nothing excluded. This is the section of code I was watching:
Code:
   /call ADSpawnCheck Find
   /for a 1 to ${AECount}
      /if (!${DoEvents} || ${MBPause} || ${Select[${Me.State},HOVER,DEAD]}) /break
      /if (!${AETarCnt[${a}]}) /continue
|     /if (${AETotDelay[${a}]}>${Macro.RunTime}) /continue
      /if (${Me.PctHPs}<${AEEventMinHP[${a}]} || ${Me.PctMana}<${AEEventMinMana[${a}]} || ${Me.PctEndurance}<${AEEventMinEndur[${a}]}) /continue
      /if (!${AETarType[${a}].Find[cbt]}) {
         /if (${ADMobFound}) /continue
      } else {
         /if (!${AETarType[${a}].Find[idle]} && !${ADMobFound}) /continue
      }
      /varset tTargetID 0
      /if (${AETarType[${a}].Find[self]}) {
         /if (${Me.PctMana}>=${AEMinMana[${a}]} && ${Me.PctMana}<=${AEMaxMana[${a}]}) {
            /if (${Me.PctEndurance}>${AEMinEndur[${a}]} && ${Me.PctEndurance}<=${AEMaxEndur[${a}]}) {
               /if (${Me.PctHPs}>${AEMinHP[${a}]} && ${Me.PctHPs}<=${AEMaxHP[${a}]}) {
                  /varset tTargetID ${Me.ID}
               }
            }
         }
Seems to me it uses this section calls the sub to check what the state of ADMobFound should be then based on the return evaluates idle or cbt and if theres mobs around. But its the value of ADMobFound that would get set to false in the sub then right back to true a few lines later on the rog but not pak/enc while not in combat. Was no reason for it. Now soon as combat is over the variable goes to false and stays there. I can only credit it to the code gnomes or something stuck in ram, shrug. Some glitch is best i can figure.
 
Problem - Variable not clearing

Users who are viewing this thread

Back
Top
Cart