• 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 - Is there a TLO/method for checking a party member's HP?

lowres09

Member
Joined
Jan 8, 2016
RedCents
112¢
For example I want to only use a certain AA when:

- Fighting a named
- If the Named target is targeting the MT
- If the MT's HP is > 40%

If first two I think I can get with:

/if (${Target.Named} && ${Target.AggroHolder}=${Group.MainTank}

The last one I am not sure.
 
try this...

Rich (BB code):
${Group.MainTank.PctHPs}>40

I've never had much luck comparing names or strings in macros, for the second part try

Rich (BB code):
${Spawn[${Target.AggroHolder}].ID}==${Group.MainTank.ID}

Your full command would look like:
Rich (BB code):
/if (${Target.Named} && ${Spawn[${Target.AggroHolder}].ID}==${Group.MainTank.ID} && ${Group.MainTank.PctHPs}>40)
 
Last edited:
you kind have to play around and learn them and see if the relations work. It would be nice if everything was in the wiki.

For some reason it's not noted properly but I think the groupmember inherits spawn, you can even see an example under the spawn http://www.redguides.com/docs/projects/macroquest/reference/data-types/datatype-spawn/

If I get stuck normally I ask here because there's tons of knoweldgeable people but If I cant wait for an answer sometimes I go digging.

One way to check if you don't want to bum around in game with testing commands and you want to see if your TLO inherits from another tlo is you can download the uncompiled MQ2 and the TLO's are named EQ tlo name.cs so GroupMembers is EQGroupmembers.cs and you will see this

public EQSpawn Spawn
{
get { return new EQSpawn(GetPersistentMember("Spawn")); }
}

where it gets a spawn from eqspawn.cs
If we look at eqspawn.cs we can see the stuff in the properties region that matches the stuff you see on the wiki and we also see the actions we can do to things that inherit spawns under the methods .
 
It's the first column on the chart:

groupmember MainTank Data on the main tank of the group

group.maintank has access to datatype: groupmember which includes access to spawn
spawn Spawn Accesses the group member's spawn directly. This is only really needed to access Spawn.Name, instead of GroupMember.Name, as spawn is inherited automatically

spawn has some nice data... PctHPs, ID and so much more


You had the right idea sorta, you just need more practice/experience. It does get easier after you write a few macros and get a feel for what works and what doesn't. In the meantime we always here to help.

- - - Updated - - -

you kind have to play around and learn them and see if the relations work. It would be nice if everything was in the wiki.

For some reason it's not noted properly but I think the groupmember inherits spawn, you can even see an example under the spawn http://www.redguides.com/docs/projects/macroquest/reference/data-types/datatype-spawn/

If I get stuck normally I ask here because there's tons of knoweldgeable people but If I cant wait for an answer sometimes I go digging.

One way to check if you don't want to bum around in game with testing commands and you want to see if your TLO inherits from another tlo is you can download the uncompiled MQ2 and the TLO's are named EQ tlo name.cs so GroupMembers is EQGroupmembers.cs and you will see this

public EQSpawn Spawn
{
get { return new EQSpawn(GetPersistentMember("Spawn")); }
}

where it gets a spawn from eqspawn.cs
If we look at eqspawn.cs we can see the stuff in the properties region that matches the stuff you see on the wiki and we also see the actions we can do to things that inherit spawns under the methods .

WOW, that made my eye hurt... Someday I must go back to school and learn to make sense of what you just said.
 
I remember a long time ago that... I think it was PeteSampras posted a TLO builder. It was an excel sheet and you could just click through and it would automatically build the condition you wanted. That thing was awesome. Lost it to time now but it worked really well.
 
Remember as you run into "man I wish the wiki said...." that if you have a MQ source site account, you have access to the edit the wiki and get it updated.

I have been trying to do an update here or there, but I am no programmer and some of the stuff added to MQ is just over my head.

I try to put a FEW examples in where I can (thought about making example pages linked to X TLO, so as to avoid cluttering the page).
-------------------------
The wiki is just like Allakhazam or here in that, the more the community participates, the more the community can get out of it =)
 
Last edited:
Remember as you run into "man I wish the wiki said...." that if you have a MQ source site account, you have access to the edit the wiki and get it updated.

I have been trying to do an update here or there, but I am no programmer and some of the stuff added to MQ puts it is just over my head.

I try to put a FEW examples in where I can (thought about making example pages linked to X TLO, so as to avoid cluttering the page).
-------------------------
The wiki is just like Allakhazam or here in that, the more the community participates, the more the community can get out of it =)

I do the same, really do recommend people keep adding/updating to the core mq2 wiki


Your best bet on figuring things out...

  1. Check mq2 wiki, UPDATE WIKI AFTER YOU FIGURE IT OUT!
  2. Check changes.txt
  3. Open MQ2DataTypes.h from the source (see below)


Here is the character datatype from MQ2DataTypes.h
${Me inherits character so all of these should work with ${Me.BlahBlah}
I typical just read thru the list, majority of the time they are self-explanatory

Rich (BB code):
class MQ2CharacterType : public MQ2Type
{
public:
    enum CharacterMembers
    {
        CountSongs = 2,
        MaxBuffSlots = 3,
        Exp = 4,
        Spawn = 5,
        Dar = 6,
        AAExp = 7,
        AAPoints = 8,
        CurrentHPs = 10,
        MaxHPs = 11,
        HPRegen = 12,
        PctHPs = 13,
        CurrentMana = 14,
        MaxMana = 15,
        ManaRegen = 16,
        PctMana = 17,
        Buff = 18,
        Song = 19,
        Book = 20,
        Skill = 21,
        Ability = 22,
        Cash = 24,
        CashBank = 25,
        PlatinumShared = 26,
        Grouped = 27,
        HPBonus = 28,
        ManaBonus = 29,
        GukEarned = 30,
        MMEarned = 31,
        RujEarned = 32,
        TakEarned = 33,
        MirEarned = 34,
        LDoNPoints = 35,
        CurrentFavor = 36,
        CareerFavor = 37,
        Endurance = 38,
        Inventory = 39,
        Bank = 40,
        Combat = 42,
        FreeInventory = 43,
        Gem = 44,
        SpellReady = 45,
        Drunk = 50,
        STR = 51,
        STA = 52,
        CHA = 53,
        DEX = 54,
        INT = 55,
        AGI = 56,
        WIS = 57,
        svMagic = 58,
        svFire = 59,
        svCold = 60,
        svPoison = 61,
        svDisease = 62,
        Hunger = 63,
        Thirst = 64,
        BaseSTR = 65,
        BaseSTA = 66,
        BaseCHA = 67,
        BaseDEX = 68,
        BaseINT = 69,
        BaseAGI = 70,
        BaseWIS = 71,
        PracticePoints = 72,
        PctExp = 73,
        PctAAExp = 74,
        Moving = 75,
        AbilityReady = 76,
        PetBuff = 77,
        Platinum = 78,
        Gold = 79,
        Silver = 80,
        Copper = 81,
        PlatinumBank = 82,
        GoldBank = 83,
        SilverBank = 84,
        CopperBank = 85,
        Stunned = 88,
        RangedReady = 89,
        AltTimerReady = 90,
        MaxEndurance = 91,
        PctEndurance = 92,
        AltAbility = 93,
        AltAbilityReady = 94,
        AltAbilityTimer = 95,
        CombatAbility = 96,
        CombatAbilityTimer = 97,
        LargestFreeInventory = 98,
        TargetOfTarget = 99,
        RaidAssistTarget = 100,
        GroupAssistTarget = 101,
        RaidMarkNPC = 102,
        GroupMarkNPC = 103,
        CountBuffs = 104,
        LanguageSkill = 105,
        EnduranceBonus = 106,
        CombatEffectsBonus = 107,
        ShieldingBonus = 108,
        SpellShieldBonus = 109,
        AvoidanceBonus = 110,
        AccuracyBonus = 111,
        StunResistBonus = 112,
        StrikeThroughBonus = 113,
        AttackBonus = 114,
        HPRegenBonus = 115,
        ManaRegenBonus = 116,
        DamageShieldBonus = 117,
        DoTShieldBonus = 118,
        AttackSpeed = 119,
        GroupList = 120,
        AmIGroupLeader = 121,
        CurrentEndurance = 122,
        EnduranceRegen = 123,
        FreeBuffSlots = 124,
        CurrentWeight = 125,
        AAPointsSpent = 126,
        AAPointsTotal = 127,
        TributeActive = 128,
        CombatAbilityReady = 129,
        Running = 130,
        GroupSize = 131,
        TributeTimer = 132,
        RadiantCrystals = 133,
        EbonCrystals = 134,
        Shrouded = 135,
        AutoFire = 136,
        Language = 137,
        Aura = 138,
        LAMarkNPC = 139,
        LANPCHealth = 140,
        LADelegateMA = 141,
        LADelegateMarkNPC = 142,
        LAInspectBuffs = 143,
        LASpellAwareness = 144,
        LAOffenseEnhancement = 145,
        LAManaEnhancement = 146,
        LAHealthEnhancement = 147,
        LAHealthRegen = 148,
        LAFindPathPC = 149,
        LAHoTT = 150,
        ActiveFavorCost = 151,
        CombatState = 152,
        svCorruption = 153,
        svPrismatic = 154,
        svChromatic = 155,
        Doubloons = 156,
        Orux = 157,
        Phosphenes = 158,
        Phosphites = 159,
        Fellowship = 160,
        Downtime = 161,
        DamageShieldMitigationBonus = 162,
        HeroicSTRBonus = 163,
        HeroicINTBonus = 164,
        HeroicWISBonus = 165,
        HeroicAGIBonus = 166,
        HeroicDEXBonus = 167,
        HeroicSTABonus = 168,
        HeroicCHABonus = 169,
        HealAmountBonus = 170,
        SpellDamageBonus = 171,
        ClairvoyanceBonus = 172,
        EnduranceRegenBonus = 173,
        Counters = 174,
        Faycites = 175,
        Chronobines = 176,
        Mercenary = 177,
        XTarget = 178,
        Haste = 179,
        MercenaryStance = 180,
        SkillCap = 181,
        GemTimer = 182,
        HaveExpansion = 183,
        PctAggro = 184,
        SecondaryPctAggro = 185,
        SecondaryAggroPlayer = 186,
        AggroLock = 187,
        ZoneBound = 188,
        ZoneBoundX = 189,
        ZoneBoundY = 190,
        ZoneBoundZ = 191,
        PctMercAAExp = 192,
        MercAAExp = 193,
        Subscription = 194,
        AAPointsAssigned = 195,
        AltCurrency = 196,
        ActiveDisc = 197,
        Commemoratives = 198,
        Nobles = 199,
        Zoning = 200,
        InInstance = 201,
        Instance = 202,
        MercListInfo = 203,
        UseAdvancedLooting = 204,
        Fists = 205,
        EnergyCrystals = 206,
        PiecesofEight = 207,
        SpellInCooldown = 208,
        Slowed = 209,
        Rooted = 210,
        Mezzed = 211,
        Crippled = 212,
        Malod = 213,
        Tashed = 214,
        Snared = 215,
        Hasted = 216,
        Aego = 217,
        Skin = 218,
        Focus = 219,
        Regen = 220,
        Symbol = 221,
        Clarity = 222,
        Pred = 223,
        Strength = 224,
        Brells = 225,
        SV = 226,
        SE = 227,
        HybridHP = 228,
        Growth = 229,
        Shining = 230,
        Beneficial = 231,
        DSed = 232,
        RevDSed = 233,
        Charmed = 234,
        CursorPlatinum = 235,
        CursorGold = 236,
        CursorSilver = 237,
        CursorCopper = 238,
        Diseased = 239,
        Poisoned = 240,
        Cursed = 241,
        Corrupted = 242,
        Krono = 243,
        XTargetSlots = 244,
        AssistComplete = 245,
        ItemReady = 246,
        NumGems = 247,
        Vitality = 248,
        PctVitality = 249,
        AAVitality = 250,
        PctAAVitality = 251,
        GuildID = 252,
        ExpansionFlags = 253,
        SPA = 254,
        BoundLocation = 255,
        SkillBase = 256,
    };
    enum CharacterMethods
    {
        Stand,
        Sit,
        Dismount,
        StopCast,
    };
 
I thought Pete's file was not updated, I quit using it after so many of the TLOs changed. would be nice to see it updated
 
Here is the character datatype from MQ2DataTypes.h
${Me inherits character so all of these should work with ${Me.BlahBlah}
I typical just read thru the list, majority of the time they are self-explanatory

See above...
Alpha file and numeric attached....
The alphabetical one will help you find the BlahBlah easierestlyish.

As always,
Playbetter
 

Attachments

Question - Is there a TLO/method for checking a party member's HP?

Users who are viewing this thread

Back
Top
Cart