Auto analyse free aug slot and find compatible/best in bank

Third party software discussion goes here.
User avatar
moguay
Posts: 170

Re: Auto analyse free aug slot and find compatible/best in bank

Post#11 » Thu Nov 24, 2016 2:53 pm

Now i have add in the scoring, with coding a custom plugin to activate hidden TLO :
-~new~ manage weapon and aug base damage
-~new~ adding aug stat and heroic stat STR STA AGI DEX WIS INT CHA
Update Weight scoring calculation

Code: Select all

    | Custom global search with new items TLO
    /if (${Plugin[MQ2ItemsTLO].Name.Equal[MQ2ItemsTLO]} && ${FindItem2[=${ITEMNAME}].ID}) {
        /if (${x}) {
            /varset ITEMNAME ${Me.Inventory[${SLOTNAME}].Item[${x}]}
        }

        /varset AC          ${FindItem2[=${ITEMNAME}].AC}
        /varset HP          ${FindItem2[=${ITEMNAME}].HP}
        /varset MANA        ${FindItem2[=${ITEMNAME}].Mana}
        /varset ATK         ${FindItem2[=${ITEMNAME}].Attack}
        /varset SpellDmg    ${FindItem2[=${ITEMNAME}].SpellDamage}
        /varset HealAmnt    ${FindItem2[=${ITEMNAME}].HealAmount}
        /varset BaseDmg     ${FindItem2[=${ITEMNAME}].Damage}
        /varset BackDmg     ${FindItem2[=${ITEMNAME}].BackstabDamage}

        | Melee
        /varset  STR        ${FindItem2[=${ITEMNAME}].STR}
        | Strength provides a small bonus to attack and average hit (more closer to maximum hits), and also affects how fast certain skills are learned. Strength is one factor in determining how much damage you do with weapons and special attacks. It directly affects the amount of weight you can carry before suffering penalties. It also increases your chance to gain Offense and Bash skill points. Tradeskills: If your strength is higher than your intelligence or wisdom, it determines how quickly you gain skill in Blacksmithing.
        /varcalc STR        ${STR} + ${Math.Calc[${FindItem2[=${ITEMNAME}].HeroicSTR} * 2]}
        | Increases endurance pool, endurance regen, and the maximum amount of endurance regen a character can have. Also increases damage done by melee attacks and improves the bonus granted to armor class while using a shield.

        | Caster (enchanters, necromancers, wizards, and magicians)
        /varset  INT        ${FindItem2[=${ITEMNAME}].INT}
        | Intelligence modifies the manapool of enchanters, necromancers, wizards, and magicians, and also affects how fast certain skills are learned. Intelligence affects your chances of gaining skill points in most skills, if it is higher than your wisdom. Intelligence is the primary spell-casting attribute for Shadowknights, Bards, Wizards, Enchanters, Necromancers, and Magicians. It affects how much mana these classes have, which determines how many spells they can cast before they must rest. For all except bards, it also determines how often a spell will fail to cast correctly (fizzle).
        /varcalc INT        ${INT} + ${Math.Calc[${FindItem2[=${ITEMNAME}].HeroicINT} * 2]}
        | Increases mana pool, mana regen, and the maximum amount of mana regen an int-based caster can have. It requires +25 heroic intel to gain a single point of +mana regeneration.

        | Caster (clerics, druids, shaman, rangers, and paladins)
        /varset  WIS        ${FindItem2[=${ITEMNAME}].WIS}
        | Wisdom modifies the manapool of clerics, druids, shaman, rangers, and paladins, and also affects how fast certain skills are learned. Wisdom affects your chances of gaining skill points in most skills, if it is higher than your intelligence. Wisdom is the primary spell-casting attribute for Paladins, Rangers, Beastlords, Clerics, Shaman, and Druids. If affects how much mana these classes have, which determines how many spells they can cast before they must rest. It also determines how often a spell will fail to be cast correctly (fizzle).
        /varcalc WIS        ${WIS} + ${Math.Calc[${FindItem2[=${ITEMNAME}].HeroicWIS} * 2]}
        | Increases mana pool, mana regen, and the maximum amount of mana regen a wis-based caster can have.

        | Melee
        /varset  AGI        ${FindItem2[=${ITEMNAME}].AGI}
        | Agility is one factor in determining your avoidance--how often NPC’s will miss when trying to hit you. It also increases your chances to gain points in some combat skills.
        /varcalc AGI        ${AGI} + ${Math.Calc[${FindItem2[=${ITEMNAME}].HeroicAGI} * 2]}
        | Increases endurance pool, endurance regen, and the maximum amount of endurance regen a character can have. Also increases the chance to dodge an attack, grants a bonus to defense skill, and reduces falling damage.

        | Melee
        /varset  DEX        ${FindItem2[=${ITEMNAME}].DEX}
        | Dexterity affects your chances for special melee abilities such as combat effects and critical hits. It increases your chances to gain points in most combat skills. It is also a factor in determining how much damage you do with throwing weapons and archery.
        /varcalc DEX        ${DEX} + ${Math.Calc[${FindItem2[=${ITEMNAME}].HeroicDEX} * 2]}
        | Increases endurance pool, endurance regen, and the maximum amount of endurance regen a character can have. Also increases damage done by ranged attacks, improves chance to successfully assassinate or headshot, and improves the chance to riposte, block, and parry incoming attacks.

        | All
        /varset  STA        ${FindItem2[=${ITEMNAME}].STA}
        | Stamina affects your base HP. Stamina increases your maximum hitpoints. Different classes get more hit points per point of stamina than others. Stamina also determines your maximum air supply when you are underwater or in an airless zone.
        /varcalc STA        ${STA} + ${Math.Calc[${FindItem2[=${ITEMNAME}].HeroicSTA} * 2]}
        | Increases hit point pool, hit point regen, and the maximum amount of hit point regen a character can have. Also increases endurance pool, endurance regen, and the maximum amount of endurance regen a character can have.

        | All
        /varset  CHA        ${FindItem2[=${ITEMNAME}].CHA}
        | Charisma affects how much merchants will charge you for their wares. It also affects the chances for charm, memory blur, mesmerization, and divine intervention spell effects to work. Bard only: High charisma decreases the chance you will miss a note while playing a song.
        /varcalc CHA        ${CHA} + ${Math.Calc[${FindItem2[=${ITEMNAME}].HeroicCHA} * 2]}
        | Improves reaction rolls with some NPCs and increases the amount of faction you gain or lose when faction is adjusted.
       
        /if (${Select[${Me.Class.ShortName},SHD,WAR,ROG,BER,MNK,BRD,BST,RNG,PAL]}) {
            /varcalc STAT ${INT} + ${WIS} + (${STR} * 5) + ${AGI} + (${DEX} * 5) + ${STA} + ${CHA}
        } else {
            /varcalc STAT (${INT} * 5) + (${WIS} * 5) + ${STR} + ${AGI} + ${DEX} + ${STA} + ${CHA}
        }
       
        /if (${BaseDmg}) {
            /if (!${Select[${InvSlot[${slot}].Item.Type},1H Slashing,2H Slashing,Piercing,1H Blunt,2H Blunt,Archery]}) {
                | /varset BaseDmg ${Math.Calc[0 - ${BaseDmg}].Int}
                /return 0
            } else {
                /varset BaseDmg ${Math.Calc[${BaseDmg} * 10].Int}
            }
        }
       
        /if (${Select[${Me.Class.ShortName},SHD]})                          /return ${Math.Calc[${STAT} + (${AC}   * 7) + (${HP} * 1) + (${Effect} * 1) + (${BaseDmg}  * 5) + (${SpellDmg} * 5) + (${HealAmnt} * 5)]}
        /if (${Select[${Me.Class.ShortName},WAR]})                          /return ${Math.Calc[${STAT} + (${AC}   * 7) + (${HP} * 1) + (${Effect} * 1) + (${BaseDmg}  * 5)]}
        /if (${Select[${Me.Class.ShortName},ROG]})                          /return ${Math.Calc[${STAT} + (${AC}   * 5) + (${HP} * 1) + (${Effect} * 1) + (${BaseDmg}  * 5) + (${BackDmg}  * 7)]}
        /if (${Select[${Me.Class.ShortName},BER,MNK]})                      /return ${Math.Calc[${STAT} + (${AC}   * 5) + (${HP} * 1) + (${Effect} * 1) + (${BaseDmg}  * 5)]}
        /if (${Select[${Me.Class.ShortName},BRD,RNG,BST]})                  /return ${Math.Calc[${STAT} + (${AC}   * 5) + (${HP} * 1) + (${Effect} * 1) + (${BaseDmg}  * 5) + (${SpellDmg} * 5) + (${HealAmnt} * 5)]}
        /if (${Select[${Me.Class.ShortName},ENC,MAG,WIZ,NEC]})              /return ${Math.Calc[${STAT} + (${MANA} * 1) + (${HP} * 1) + (${Effect} * 1) + (${SpellDmg} * 7)]}
        /if (${Select[${Me.Class.ShortName},CLR,SHM,DRU]})                  /return ${Math.Calc[${STAT} + (${MANA} * 1) + (${HP} * 1) + (${Effect} * 1) + (${HealAmnt} * 7)]}
        /if (${Select[${Me.Class.ShortName},PAL]})                          /return ${Math.Calc[${STAT} + (${AC}   * 7) + (${HP} * 1) + (${Effect} * 1) + (${BaseDmg}  * 5) + (${HealAmnt} * 5)]}
        /if (${Select[${Me.Class.ShortName},DRU]})                          /return ${Math.Calc[${STAT} + (${MANA} * 1) + (${HP} * 1) + (${Effect} * 1) + (${HealAmnt} * 5) + (${HealAmnt} * 5)]}
        /return 0
       
    | Standard MQ2 items search
    }

User avatar
moguay
Posts: 170

Re: Auto analyse free aug slot and find compatible/best in bank

Post#12 » Sat Dec 03, 2016 12:19 pm

I have fully recode the main core code, create new function to :
-to analyse by item order priority (Donator>Evolv>Rare>Other)
-to propose the most gap scoring between the old and the new aug.
-and finish the analyse by the quest/buying aug.

This code is much more greedy,
But, I have boost this part of code to use 100% of CPU when the command is launched, given the impressive amount of analysis that this generates (up to 20000 in my case by toons)
look the turbo value and the time to complete (21s in boost, and without boost >5m).

An example that my code proposes to me as optimization.
Attachments
InventoryAugments (rebuild).png
InventoryAugments (rebuild).png (169.13 KiB) Viewed 4128 times

User avatar
Enrikk
Posts: 389

Re: Auto analyse free aug slot and find compatible/best in bank

Post#13 » Sat Dec 03, 2016 2:13 pm

This all looks really impressive!

Not sure if I'm ready to delve into this, but looking forward to it. Thanks for all you do!
Lead, Follow, or get out of My Way!

Enrikk of the Few

With MANY voices Also in my head

User avatar
moguay
Posts: 170

Re: Auto analyse free aug slot and find compatible/best in bank

Post#14 » Mon Dec 26, 2016 9:47 pm

Today :
- adding sort invslot analysis by priority, weap bp arms... (In addition to the item rarity analysis)
- some fix and optimize

Some reshuffling is still possible. But now in terms of precision and objectivity, it seems difficult to do better.
Attachments
InvAug Olirr.png
InvAug Olirr.png (457.08 KiB) Viewed 2287 times
InvAug Jeewid.png
InvAug Jeewid.png (88.89 KiB) Viewed 2287 times

User avatar
moguay
Posts: 170

Re: Auto analyse free aug slot and find compatible/best in bank

Post#15 » Sat Jun 03, 2017 4:46 pm

Update :
- update to enhancing analysis choice
- adding a check in other rarity inventory item and notice this (see the BEST line propose for the same augment)
Attachments
InvAug-Double Check.png
InvAug-Double Check.png (133.13 KiB) Viewed 960 times

User avatar
moguay
Posts: 170

Re: Auto analyse free aug slot and find compatible/best in bank

Post#16 » Wed Jun 21, 2017 3:35 pm

Auto analysis augmentation in action https://youtu.be/MtOdt0XpNn8

Return to “Third party software”

Who is online

Users browsing this forum: No registered users and 1 guest