Welcome to the Achaea Forums! Please be sure to read the Forum Rules.

Ak Opponent Tracking

AustereAustere TennesseePosts: 2,063Member @@ - Legendary Achaean
For those of you that do not know what opponent tracking is, I urge you to review my previous thread involving this.  Shecks has also posted a great deal regarding the logic and such involved in this, so I am not going to delve too much into it.  If you do not understand the logic or know what it is for, you probably do not need the system.

Since I removed my opponent tracking system, I have been working as much as possible on updating it and making it a whole lot easier to maintain and distribute as well as increasing the user functionality of it.  My apologies to everyone I have spoken to over the past two months regarding it that I intended to send beta copies to and forgot.  Trust me, it was worth the wait.

 New things(2.7):

-Limb counter: (no accurate formula as of yet for knights) that is setup to accept all classes/augments(Some assembly required). 
-Backwards affliction tracking: While I have very little ability to test this, the theory behind it is solid.  I have also supplemented some expert diagnosing triggers, but I do not have a function to auto decide what to diagnose yet.  Since I am a magi, don't get your hopes up that I fix anytime soon.
-Improved prompt triggers: reduced lag(no longer update themselves on every single prompt)
-Simple settings editing via Osettings! script:  Now you have no need to ever really look at the logic of the system unless you are just curious or need to edit something major.  All your offense function calls will be placed here as well, so you can easily move this script outside of the tracking for when you update.
-Accurate limb and salve curing.  While it is not set up for 2x restoration breaks(this will follow in another update) it does accurately account for all other known breaks. 
-Accurate venom tracking across multiple weapons simultaneously. 
-Updated documentation(Still looks ugly)
-Bard Triggers(Klendathu)
-BM triggers(Anonymous)
-Shaman triggers(Requires you set serverside alias right before the curse to track affs)
-Apostate trigger(Requires you set serverside alias right before the stare to track affs{untested})
-Magi triggers
-Dual Cutting triggers
-Sword and Board Triggers(Klendathu{these need multiline taken out still})
-Rewrite of Serpent Triggers
-Rewrite of Dragon Triggers
-Checks for Aeon and Retardation in both Wundersys and Svo.
Please for the love of all that is good, read the documentation before you install this.  While I will continue to provide support, I do have a lot of OOC obligations(which is why this took so long) thus I cannot appropriate large amounts of time to customize this for every single person's needs.  The first person to ask me about the display is going to get sent my super-secret trigger that deletes their mudlet profile.  

Donations: If you wish to donate to the cause, feel free.  We all like to know we are appreciated for doing well.  I also want to acknowledge everything Klendathu has done for me.  I would have given up this project a long time ago if it was not for his contributions, brain storming, and generally willingness to help.  If you notice something in it that has his name on it and appreciate his work, I am sure he would not complain about donations either.  


While I have tested as much as possible, there is still the possibility for some error.  If you run into anything, simply drop me a message here or a message in game. 

https://www.dropbox.com/sh/v4h71c6umsrmxlu/AABRxErZD2VIb_GiJm5OVDgwa?dl=0
TeshaBluefAntidasCaladbolgSeftinAedinAndregorDalranCahinAchimrstFendoGerasNizanaLekiLilianLoalaineShirszaeNaverreCooperHeroseEivanPraxidesJosoulFendrelUtianimaTruax
«134567

Comments

  • SeftinSeftin Posts: 923Member @ - Epic Achaean
    Once again, Austere, great job. I don't think anyone truly appreciates how much work goes in to something like this so thank you very much and I hope everyone who uses it donates.
    HeroseDalranExelethrilEivan
  • AdetAdet Posts: 273Member ✭✭✭✭ - Eminent
    This looks really helpful - thanks.  I'll download it this evening, have a play, and may contact you regarding
    If you are a class I have ... not implemented at all(alchemist), feel free to get with me and I will see what we can come up with.
    if I can't figure it out myself.
  • AmranuAmranu Posts: 714Member ✭✭✭✭ - Eminent
    Haven't tested much, but looks good so far. Had some problem with the script overriding some of my own Shaman scripts (vodun).

    Re-added events at certain places and everything is looking good, cheers.
  • DaeirDaeir AustraliaPosts: 6,266Member, Secret Squirrel @@ - Legendary Achaean
    A gentleman and a fucking scholar you are, Austere.

    Thank you for not charging for your work. While I respect the right of those who do choose to do this, it warms my heart to see more people taking an open approach of providing utility without further expanding the paywall involved with this game.
    HeroseMorelleShirszaeIniar
  • KitiaraKitiara Posts: 247Member ✭✭✭✭ - Eminent
    I <3 you hah thank you very much! 
    "Kit always gets blood everywhere."
    Medi says, "If kit says to show up somewhere, bring an apron."
    Medi says, "Rule of thumb."

  • KlendathuKlendathu Eye of the StormPosts: 2,579Member @@ - Legendary Achaean
    Before I get innundated with queries (already had a few), there's a problem with the GUI loading.

    You need to search for function init() and add the following line to the bottom (before the end):

    refreshAffsOLD()

    The GUI should then load properly, if you have the variable set to do so (see the documentation).


    The whole function should look something like:

    function init()
    winX, winY = getMainWindowSize()
    createMiniConsole("aff_display", winX-145,0,130,400)
    setBackgroundColor("aff_display", 150, 150, 150, 255)
    setMiniConsoleFontSize( "aff_display", 10 )
    setFgColor("aff_display", 10, 0, 0)
    setBgColor("aff_display", 150, 150, 150)
    --refreshAffs()
    refreshAffsOLD()
    end

    Tharos, the Announcer of Delos shouts, "It's near the end of the egghunt and I still haven't figured out how to pronounce Clean-dat-hoo."
  • AustereAustere TennesseePosts: 2,063Member @@ - Legendary Achaean
    edited March 2015
    Gui should update properly when you target something, regardless of whether that function is called in the init () script.  The refreshAffs () function should call refreshAffsold () if you are not one of my characters.  I will look into this tonight and update the dropbox as well as fix the problems with sword and board shield affs. Neither Klendathu or I had a method to test these, so who knows.   Assuming you cannot miss a shield attack,  it should be as simple as deleting the second portion of each of that triggers and disabling the multiline. 

    I should have added. Just because I don't want to ever wake up to thirty msgs from the same person demanding I fix something, doesn't mean you cannot seek me out for help.  Feel free to drop me a line if you need something or run into errors, and I will look at it when time allows (generally 11 pm est at the earliest). No need to bug poor Klendathu about the gui stuff(he probably hates it as much as i do). I will post my gui later to get a gauge on whether people are interested in running mine instead of the default one included. It's all geyser.  

    For gui stuff, when in doubt, target something
    Lauria
  • CooperCooper IowaPosts: 4,103Member @@ - Legendary Achaean
    I suggest for every question you ask, you donate 1 credit. Also I probably shouldn't have said that because I'm dumb and will probably need to ask 50,000,000 questions.

  • AustereAustere TennesseePosts: 2,063Member @@ - Legendary Achaean
    Support is free as long as you aren't a prick about it.  I am not coding most of this for personal use at this point(never been a knight even). I do it to give back,  shorten divide between the can and the can't,  and because it's fun.  50 million questions though, seems a bit excessive.  I could explain every line of code easier and quicker, I believe. For 50 million credits, though,  you get my complete offense for serpent, shaman, dragon, and magi.  Heck, I will even throw in my illusion script that only uses illusions that won't cause them to cure something they already have or burns a passive cure that can cure something else.  If you smile when you transfer them, I will even send defensive illusion script, which i won't discuss. .
  • CooperCooper IowaPosts: 4,103Member @@ - Legendary Achaean
    You had me up until smiling. Then you lost me.

    AustereUtianima
  • AchimrstAchimrst NaturePosts: 3,608Member @@ - Legendary Achaean
    Austere said:
    Support is free as long as you aren't a prick about it.  I am not coding most of this for personal use at this point(never been a knight even). I do it to give back,  shorten divide between the can and the can't,  and because it's fun.  50 million questions though, seems a bit excessive.  I could explain every line of code easier and quicker, I believe. For 50 million credits, though,  you get my complete offense for serpent, shaman, dragon, and magi.  Heck, I will even throw in my illusion script that only uses illusions that won't cause them to cure something they already have or burns a passive cure that can cure something else.  If you smile when you transfer them, I will even send defensive illusion script, which i won't discuss. .
    I have a question.

    What does this all mean? and I want to know EVERYTHING

    Thank you in advance. Also, if I break this one, will you make me a new one?
  • MorthifMorthif Posts: 1,452Member @@ - Legendary Achaean
    Looks great so far, working on updating from the old version to the new one. Am I missing something or is the scoreup() function missing from new version?
  • AustereAustere TennesseePosts: 2,063Member @@ - Legendary Achaean
    edited March 2015
    Morthif said:
    Looks great so far, working on updating from the old version to the new one. Am I missing something or is the scoreup() function missing from new version?
    You're missing something.  All of my versions include scoreup(). oscore is script folder. 

    Scoreup() is just a function to perform math so i know the Kelp score,  ginseng score,  mental score (i forget what else[if Kelp score is 1.25, you have guaranteed one kelp affliction]), it runs function that sets serverside aliases (you add your offense to osettings! Per example), updates both prompt triggers, and updates gui. If you never ran this function,  it would not effect the tracking,  but it would effect what you could visually pull from it

    Most of the triggers do not directly call scoreup() now.  It is inside of the adding aff function (which now accepts venoms as well as aff names)

    A few extra notes: mentalscore is great for knowing when to tzantza.  Kelpscore is good for vlocks.  Always set stack to "none" when you go for a timed instant kill such as behead, though. Tzantza compensates for this already, though. 
    Aedin
  • AustereAustere TennesseePosts: 2,063Member @@ - Legendary Achaean
    Achimrst said:
    Austere said:
    Support is free as long as you aren't a prick about it. 
    I have a question.

    What does this all mean? and I want to know EVERYTHING

    Thank you in advance. Also, if I break this one, will you make me a new one?
    Everything?  It is going to take a whole to formulate an appropriate response.  While you wait, try reading the documentation,  numerous examples I have provided,  or buy godzilla instead of paying your rent this month. 

    If you break it, you buy it (i fix)
    Achimrst
  • ErnamErnam Posts: 2,416Member ✭✭✭✭✭ - Grand Achaean
    edited March 2015

    Will gladly provide Godzilla for free for anyone who can show that their rent is $125 a month (who actually pays rent!).

    That may sound like sarcasm, but this (free/discounted systems for people who need it) has actually happened a few times already ;p

    "Our lives are not our own. We are bound to others, past and present. And by each crime and every kindness, we birth our future."


          Manda  |  Godzilla  |  SLC
      1. AustereAustere TennesseePosts: 2,063Member @@ - Legendary Achaean
        Ernam said:

        Will gladly provide Godzilla for free for anyone who can show that their rent is $125 a month (who actually pays rent!).

        That may sound like sarcasm, but this (free/discounted systems for people who need it) has actually happened a few times already ;p

        What about roomies that split rent?  Just as a future reference,  I was joking,  as I am pretty sure @Achimrst was a well.  No gif Achi = not taken seriously. Back to the topic, please. 
      2. CooperCooper IowaPosts: 4,103Member @@ - Legendary Achaean
        edited March 2015
        Edit: derailed

        Austere
      3. JacenJacen Posts: 2,245Member @@ - Legendary Achaean
        I totes split a room with my best friend and our rent was 125. Does that qualify me?
        image
        Achimrst
      4. ErnamErnam Posts: 2,416Member ✭✭✭✭✭ - Grand Achaean
        edited March 2015
        Austere said:Back to the topic, please. 

        You summoned the Ernam, and the Ernam delivered.  / derail

        "Our lives are not our own. We are bound to others, past and present. And by each crime and every kindness, we birth our future."


              Manda  |  Godzilla  |  SLC
          1. AchimrstAchimrst NaturePosts: 3,608Member @@ - Legendary Achaean
            Jacen said:
            I totes split a room with my best friend and our rent was 125. Does that qualify me?
            Hot
          2. AedinAedin Posts: 306Member ✭✭✭ - Distinguished
            Hmm when I was 17 I  used to pay 125$ for rent to my parents do I count lolol
          3. MorthifMorthif Posts: 1,452Member @@ - Legendary Achaean
            Austere said:
            Morthif said:
            Looks great so far, working on updating from the old version to the new one. Am I missing something or is the scoreup() function missing from new version?
            You're missing something.  All of my versions include scoreup(). oscore is script folder. 

            Scoreup() is just a function to perform math so i know the Kelp score,  ginseng score,  mental score (i forget what else[if Kelp score is 1.25, you have guaranteed one kelp affliction]), it runs function that sets serverside aliases (you add your offense to osettings! Per example), updates both prompt triggers, and updates gui. If you never ran this function,  it would not effect the tracking,  but it would effect what you could visually pull from it

            Most of the triggers do not directly call scoreup() now.  It is inside of the adding aff function (which now accepts venoms as well as aff names)

            A few extra notes: mentalscore is great for knowing when to tzantza.  Kelpscore is good for vlocks.  Always set stack to "none" when you go for a timed instant kill such as behead, though. Tzantza compensates for this already, though. 
            I trust you but it's just not there in the ak2.7 folder. I deleted everything and just couldn't get it to work.. I don't want to be a pests o I just reloaded the old version.
          4. AustereAustere TennesseePosts: 2,063Member @@ - Legendary Achaean
            edited March 2015
            Morthif said:
            Austere said:
            Morthif said:
            Looks great so far, working on updating from the old version to the new one. Am I missing something or is the scoreup() function missing from new version?
            You're missing something.  All of my versions include scoreup(). oscore is script folder. 

            Scoreup() is just a function to perform math so i know the Kelp score,  ginseng score,  mental score (i forget what else[if Kelp score is 1.25, you have guaranteed one kelp affliction]), it runs function that sets serverside aliases (you add your offense to osettings! Per example), updates both prompt triggers, and updates gui. If you never ran this function,  it would not effect the tracking,  but it would effect what you could visually pull from it

            Most of the triggers do not directly call scoreup() now.  It is inside of the adding aff function (which now accepts venoms as well as aff names)

            A few extra notes: mentalscore is great for knowing when to tzantza.  Kelpscore is good for vlocks.  Always set stack to "none" when you go for a timed instant kill such as behead, though. Tzantza compensates for this already, though. 
            I trust you but it's just not there in the ak2.7 folder. I deleted everything and just couldn't get it to work.. I don't want to be a pests o I just reloaded the old version.
            This explains the Gui giving people issues.  For now, add this function, location will not matter(I suggest Ak folders, so when you update, you dont end up with two copies).  I had moved this function into my personal settings for the tracker..my bad.  Sorry to doubt you, @Morthif .. Dropbox updated!

            function scoreup()
            serveraliases()
            affstrack.kelpscore = affstrack.score.healthleech + affstrack.score.asthma + affstrack.score.clumsiness + affstrack.score.hypochondria + affstrack.score.sensitivity + affstrack.score.weariness
            affstrack.kelpscore = affstrack.kelpscore / 100
            affstrack.ginsengscore = affstrack.score.addiction + affstrack.score.darkshade + affstrack.score.haemophilia + affstrack.score.lethargy + affstrack.score.illness + affstrack.score.scytherus
            affstrack.ginsengscore = affstrack.ginsengscore / 100
            affstrack.goldenscore = affstrack.score.dizziness + affstrack.score.epilepsy + affstrack.score.impatience + affstrack.score.shyness + affstrack.score.stupidity
            affstrack.goldenscore = affstrack.goldenscore / 100
            affstrack.mentalscore = affstrack.score.agoraphobia + affstrack.score.claustrophobia + affstrack.score.dementia + affstrack.score.epilepsy + affstrack.score.masochism + affstrack.score.recklessness + affstrack.score.vertigo + affstrack.score.confusion + affstrack.score.dizziness + affstrack.score.impatience + affstrack.score.paranoia + affstrack.score.stupidity + affstrack.score.addiction
            affstrack.mentalscore = affstrack.mentalscore / 100
            softscore = affstrack.score.anorexia + affstrack.score.slickness + affstrack.score.asthma
            softscore = softscore / 100
            truescore = affstrack.score.paralysis + affstrack.score.impatience + affstrack.score.anorexia + affstrack.score.slickness + affstrack.score.asthma
            truescore = truescore / 100
            opromptscoreup()
            if nodisplay then noDisplay() else refreshAffs() end
            end

            Morthif
          5. AustereAustere TennesseePosts: 2,063Member @@ - Legendary Achaean
            edited March 2015
            Ak 2.8:

            -Corrected massive issue with backtracking logic.
            -Added third person voidfist triggers
            -Yes, this one has scoreup() function

            Please remove all of your own edits(this includes the Osettings! script).  Uninstall via package manager.  Check to ensure all triggers, scripts, aliases, keys,  and timers are gone.  Install latest version.  Delete new Osettings! Script if you have yours saved
            Morthif
          6. GerasGeras Posts: 28Member ✭✭✭ - Distinguished
            I'm a total noob in combat, haven't had any sparring, yet, but I wanted to try soon, after I could find a way to see what is happening to my opponent and me. I managed the latter, and this looks amazing for managing the former! This should help a lot in my attempt to learn combat! Excellent work! :joy: 
          7. AmranuAmranu Posts: 714Member ✭✭✭✭ - Eminent
            Austere said:
            Ak 2.8:

            -Corrected massive issue with backtracking logic.
            -Added third person voidfist triggers
            -Yes, this one has scoreup() function

            Please remove all of your own edits(this includes the Osettings! script).  Uninstall via package manager.  Check to ensure all triggers, scripts, aliases, keys,  and timers are gone.  Install latest version.  Delete new Osettings! Script if you have yours saved
            Is this why people were focusing out of locks all day long? Ah well
          8. SeftinSeftin Posts: 923Member @ - Epic Achaean
            Anyone know how to get the wundersys aff tracker working for rc1+?
          9. AustereAustere TennesseePosts: 2,063Member @@ - Legendary Achaean
            edited March 2015
            Ak 2.9:

            --Reworked Restore(survival) ability to semi-reliably track cures
            --Added in Mangled limb curing(2 x restoration)
            --Added Occultism triggers(No unamable{requires you to set a serverside alias for instill}*)
            --Added Aeon Variables
            --Fix Prompt Trigger to not Display on Newline/not include the percentages
            --Expand OSETTINGS! script to account for your weapons/made it a little more manageable. 
            --Removed testing Echos from limb counter

            Please move all of your own edits(this includes the Osettings! script) from all AK files.  Uninstall via package manager.  Check to ensure all triggers, scripts, aliases, keys,  and timers are gone.  Install latest version.  Delete new Osettings! Script if you have yours saved.

            If a sylvan and meta user want to send me their limb damage attacks(Only the triggers{envenom for sylvan would be nice also}), I will code them in tomorrow. 

            *disclaimer*

            The limb counter is still broken for weaponry

            *I capture curses, instills, deadeyes, coagulations, and a few other things from serverside alias setting.  This is to ensure the variable doesn't change between Achaea receiving the text and you getting the return line.  An example for your own independent offense would be:

            send("setalias myalias stand/smile/whatever/swiftcurse "..target.." paralyse/dance")
            send("myalias")

             Assuming you are using my system to set your aliases for you before calling them, you will not notice a difference


            @Seftin I will look into Wundersys changes tomorrow and see if I can come up with something for you guys(assuming you only mean the prompt). 
            MorthifFendoSeftinAedin
          10. MorthifMorthif Posts: 1,452Member @@ - Legendary Achaean
            A bit of tinkering and my upgrade is complete and working well. Just felt this needed more love.
            Austere
          11. AustereAustere TennesseePosts: 2,063Member @@ - Legendary Achaean
            edited March 2015
            Ak 3.0

            Just a few problems people have messaged me about. 

            --Fixing a few logic errors in backtracking.  Was not properly removing a cure if there were no visible cures for it(they ate something, but it never removed anorexia because we have no idea how they cured it).  This was causing the entire cure logic to hang up.
            --Completely reworked dstab trigger.  Running all logic through OppGainedAff() instead of inside the trigger(weaponry is next).
            --Added Backtracking toggle inside Osettings! script.  Next time it hangs up, you can disable it until I can track down the problem.

            Dropbox updated:

            Please move all of your own edits(this includes the Osettings! script) from all AK files.  Uninstall via package manager.  Check to ensure all triggers, scripts, aliases, keys,  and timers are gone.  Install latest version.  Delete new Osettings! Script if you have yours saved.

            Please message me all errors(preferably with logs so I don't have to guesstimate)

            Edit:  Not forgotten about you Seftin.  I looked into adding Wundersys Prompt back after I updated thread(I had forgotten) and it looks like he has changed quite a bit around.  Will get to it at my first chance. 
          «134567
          Sign In to Comment.