• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->

Tech - Proper use? (1 Viewer)

AshLyNN

Member
Joined
Mar 5, 2011
RedCents
67¢
i am tinkering around with trying to make macros.. im haveing a hang up on how this should work in my mind the below is what im looking for, but it does nothing really, no errors though but still doesnt activate aa like i thought it should..

i want it to only alt activate IF it is ready and ONLY IF in combat... any help would be great to get me back on track again.. thanks

I have also tried taking out

Rich (BB code):
/doevents

and have tried removing the section like this for all the aa's

Rich (BB code):
[A Tune Stuck in Your Head]


Rich (BB code):
/if (${Me.AltAbilityReady[A Tune Stuck in Your Head]} && ${Me.CombatState.Equal[Combat]}) {
/alt activate 8261
} else {
/delay 2s
/doevents


/if (${Me.AltAbilityReady[Fierce Eye]} && ${Me.CombatState.Equal[Combat]}) {
/alt activate 3506
} else {
/delay 2s
/doevents


I have also tried

Rich (BB code):
/if (${Me.AltAbilityReady[A Tune Stuck in Your Head]} && ${Me.CombatState.Equal[Combat]}) {
/alt activate 8261
/delay 2s



/if (${Me.AltAbilityReady[Fierce Eye]} && ${Me.CombatState.Equal[Combat]}) {
/alt activate 3506
/delay 2s
 
Close off your if Statements with the } character, you need to do this for the elses as well.

Rich (BB code):
/if (Whatever=true) {
  /dosomething
}

/if (Whatever=true) {
  /dosomething
} else {
  /dosomethingelse
}
 
so technically your saying this is correct then? cause they are closed off....


or it doesnt work that way?

Rich (BB code):
/if (${Me.AltAbilityReady[A Tune Stuck in Your Head]} && ${Me.CombatState.Equal[Combat]}) {
/alt activate 8261
} else {
/delay 2s
/doevents


/if (${Me.AltAbilityReady[Fierce Eye]} && ${Me.CombatState.Equal[Combat]}) {
/alt activate 3506
} else {
/delay 2s
/doevents
 
No you need to change the if statements. they should look like this.

Rich (BB code):
/if (${Me.AltAbilityReady[A Tune Stuck in Your Head]} && ${Me.CombatState.Equal[Combat]}) {
   /alt activate 8261
} else {
   /delay 2s
   /doevents
}

/if (${Me.AltAbilityReady[Fierce Eye]} && ${Me.CombatState.Equal[Combat]}) {
   /alt activate 3506
} else {
   /delay 2s
   /doevents
}

Your missing the Closing "}"
 
Your else statements still aren't closed. They should look more like this. It needs the closing bracket like I put after the 2s.


Rich (BB code):
/if (${Me.AltAbilityReady[A Tune Stuck in Your Head]} && ${Me.CombatState.Equal[Combat]}) {
/alt activate 8261
} else {
/delay 2s}
/doevents


/if (${Me.AltAbilityReady[Fierce Eye]} && ${Me.CombatState.Equal[Combat]}) {
/alt activate 3506
} else {
/delay 2s}
/doevents
 
No you need to change the if statements. they should look like this.

Rich (BB code):
/if (${Me.AltAbilityReady[A Tune Stuck in Your Head]} && ${Me.CombatState.Equal[Combat]}) {
   /alt activate 8261
} else {
   /delay 2s
   /doevents
}

/if (${Me.AltAbilityReady[Fierce Eye]} && ${Me.CombatState.Equal[Combat]}) {
   /alt activate 3506
} else {
   /delay 2s
   /doevents
}

Your missing the Closing "}"


ok I thought it would work by the closing bracket being on the next aa


Rich (BB code):
/if (${Me.AltAbilityReady[A Tune Stuck in Your Head]} && ${Me.CombatState.Equal[Combat]}) {
/alt activate 8261
} else {
/delay 2s
/doevents


/if (${Me.AltAbilityReady[Fierce Eye]} && ${Me.CombatState.Equal[Combat]}) {
/alt activate 3506
} else {
/delay 2s
/doevents



ok nevermind i see where my thinking was off.. has to be a closed bracket and the if statement is what your looking for the {/alt activate 8261} is the command you want to perform.



so this is a proper if statement for checking if ready, and if your in combat right? or is there a better way?

Rich (BB code):
/if (${Me.AltAbilityReady[A Tune Stuck in Your Head]} && ${Me.CombatState.Equal[Combat]})
 
Yes, then just add the /alt activate #### at the end of that line.
ok thank you


My next thing im trying to do is have it broadcast in MQ2 window my aa and or reg experience per kill like Maskoi does, and for it to broadcast Level gained and aa gained in MQ2 window also, just need to know how. I learn by seeing and trying to place things in certain spots, if it works i see where it was and compare to other things, if it dont i figure out why it didnt
 
also this is my med section... is this good or is there a simpler way?



Rich (BB code):
Sub medup
:medup
/doevents
/if (${Me.PctMana}<=20) {
/goto :sit1
/return
} else {
/goto :bardloop
}

Sub Event_sit1
:sit1
/g I am Medding! No Haste for You!
/delay 3
/attack off
/delay 3
/sit
/delay 5m
/goto :Medwait
/return

:Medwait
/if (${Me.PctMana}>=90) {
/goto :bardloop
/return
}else {
/goto :sit2
}

:sit2
/delay 5m
/goto :Medwait
/return


this is my loot section. would like to set it up to use loot ini so it doesnt make toon a loot whore

Rich (BB code):
:getloop
/if (${Spawn[corpse].ID} && ${Spawn[corpse].Distance}<100) {
/call loot
}
/if (${Me.Casting.ID}) /stop song


Rich (BB code):
Sub loot
/delay 0.2s
/hidecorpse a
   /target radius 100 corpse
   /target radius 100 corpse
   /target radius 100 corpse
   /target radius 100 corpse
/if (${Target.Type.Equal[corpse]}) {
   /delay 0.3s
/loot 
   /delay 1
/loot -maxtries|2 
/notify LootWnd lootallButton leftmouseup
   /delay 22
/notify ConfirmationDialogBox Yes_Button leftmouseup
}
/return

- - - Updated - - -

/echo any message here. this will display [MQ] any message here in the EQ Window. Just modify the /echo command to what you want sent to the MQ Window.

so...i would at thetop of my main?

Rich (BB code):
/declare MyAAExp                float       outer       ${Me.PctAAExp}
/declare MyExp                  float       outer       ${Me.PctExp}


then i would...add like this to the end of my kill cycle?

Rich (BB code):
/goto :killtarg
} else {
/varset targetdead 1
/varset gettarget 1
/varset  MyExp ${Me.PctExp}
/varset  MyAAExp ${Me.PctAAExp}
/echo ${Me.PctExp} ${Me.PctAAExp}
}
/return


what about the levels and aa's gained? for got to mention i want the aa gained and level to broadcast through EQBC not just MQ2 window,
 
For your xp section, you are only echoing your current percent, not the xp per kill that you mentioned you are looking for. You can do something like the following to find xp per kill:

At the top:
Rich (BB code):
/declare MyAAExp                float       outer       ${Me.PctAAExp}
/declare MyExp                  float       outer       ${Me.PctExp}

After a kill:
Rich (BB code):
| Create local variables for the change in xp
/declare aaXpChange float local
/declare regXpChange float local

| Calculate change
/varcalc aaXpChange ${Me.PctAAExp}-${MyAAExp}
/varcalc regXpChange ${Me.PctExp}-${MyExp}

| Handle dinging an AA
/if (${aaXpChange}<0) {
    /varcalc aaXpChange ${aaXpChange}+100
}

| Handle dinging a level
/if (${regXpChange}<0) {
    /varcalc regXpChange ${regXpChange}+100
}

| Local variables hold the difference in xp after the kill
/echo AA:  ${aaXpChange}
/echo Reg: ${regXpChange}

| Set the global xp variables
/varset MyAAExp ${Me.PctAAExp}
/varset MyExp ${Me.PctExp}

| Clean up local variables
/deletevar aaXpChange
/deletevar regXpChange

Disclaimer: Haven't tested, may not work.
 
For your xp section, you are only echoing your current percent, not the xp per kill that you mentioned you are looking for. You can do something like the following to find xp per kill:

At the top:
Rich (BB code):
/declare MyAAExp                float       outer       ${Me.PctAAExp}
/declare MyExp                  float       outer       ${Me.PctExp}

After a kill:
Rich (BB code):
| Create local variables for the change in xp
/declare aaXpChange float local
/declare regXpChange float local

| Calculate change
/varcalc aaXpChange ${Me.PctAAExp}-${MyAAExp}
/varcalc regXpChange ${Me.PctExp}-${MyExp}

| Handle dinging an AA
/if (${aaXpChange}<0) {
    /varcalc aaXpChange ${aaXpChange}+100
}

| Handle dinging a level
/if (${regXpChange}<0) {
    /varcalc regXpChange ${regXpChange}+100
}

| Local variables hold the difference in xp after the kill
/echo AA:  ${aaXpChange}
/echo Reg: ${regXpChange}

| Set the global xp variables
/varset MyAAExp ${Me.PctAAExp}
/varset MyExp ${Me.PctExp}

| Clean up local variables
/deletevar aaXpChange
/deletevar regXpChange

Disclaimer: Haven't tested, may not work.

this worked perfect I just hadnt fount out how it Broadcast to EQBC
 
You can /bc whatever you like inside the two if statements handling ding for aa and reg xp. just add a line saying /bc Ding: ${Me.Level} or /bc Ping: ${Me.AACount} (Not sure on the actual member names, but you get the idea)
ok this worked here i cant find where i can change the collor of the text being /bc to eqbc though

any ideas?



also 1 last thing... how can i get MY loot function to read from the loot.ini for keep, destroy, and not to loot a notrade item?
 
Most people use Ninjadvloot.inc, it works great and is well documented.

i was making a class specific macro cause my toon never consistently loots, or meds, cant figure problem so thought id try my own

- - - Updated - - -

just want to thank everyone here for help....

1 thing left to figure out and i will have a simple mac for my wife toon

want bard to play regen song when not in combat

once i figure this out i can use it while i work more detail into looting
 
Tech - Proper use?

Users who are viewing this thread

Back
Top