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

Ak Opponent Tracking

15678911»

Comments

  • CyrCyr Member Posts: 168 ✭✭✭ - Distinguished
    There are two ways that I know of to deal with this and similar issues (and probably more that I don't know of), I don't know AK itself so not sure which is easier to implement: 

    Multiline: 
    1. ^(\w+) eats (?:a|an|some) (.*).$ Perl Regex
    2. prompt

    this means that the cure method will only fire if the line immediately after the eat is a prompt, so then if shadowmadness is cured on the eat it wont fire, and you make a second trigger for the shadowmadness cure that you can track directly

    add/remove:
    first trigger: ^(\w+) eats (?:a|an|some) (.*).$ Perl Regex

    in the code add to a table that they've eaten

    second trigger: the shadowmadness cure
    if table.contains(curemethods, "plubnum") then
     removecure plubnum
     addcure shadowmadness

    third trigger: prompt
    process the cures in the table, and clear the table

    this means that when you see the eat, you add to the table that they ate plubnum, if you get the cure message for shadowmadness you remove it and add shadowmadness and all actual updating to the tracking itself is done on the prompt line, and then you clear the table after that and start over for the next cure.


    Dunn tells you, "I hate you."
    (Party): You say, "Bad plan coming right up."
    ShirszaeDhaak
  • DhaakDhaak Member Posts: 6
    Cyr said:
    There are two ways that I know of to deal with this and similar issues (and probably more that I don't know of), I don't know AK itself so not sure which is easier to implement: 

    Multiline: 
    1. ^(\w+) eats (?:a|an|some) (.*).$ Perl Regex
    2. prompt

    this means that the cure method will only fire if the line immediately after the eat is a prompt, so then if shadowmadness is cured on the eat it wont fire, and you make a second trigger for the shadowmadness cure that you can track directly

    add/remove:
    first trigger: ^(\w+) eats (?:a|an|some) (.*).$ Perl Regex

    in the code add to a table that they've eaten

    second trigger: the shadowmadness cure
    if table.contains(curemethods, "plubnum") then
     removecure plubnum
     addcure shadowmadness

    third trigger: prompt
    process the cures in the table, and clear the table

    this means that when you see the eat, you add to the table that they ate plubnum, if you get the cure message for shadowmadness you remove it and add shadowmadness and all actual updating to the tracking itself is done on the prompt line, and then you clear the table after that and start over for the next cure.


    Thanks Cyr, was able to figure it out with the multiline + prompt trigger
  • NazihkNazihk Member Posts: 993 @ - Epic Achaean
    Cyr said:
    Multiline: 
    1. ^(\w+) eats (?:a|an|some) (.*).$ Perl Regex
    2. prompt

    this means that the cure method will only fire if the line immediately after the eat is a prompt
    This is an edge case, but it should be noted that this method will fail to register cures if they're batched in an order like "eat bloodroot>>apply mending to legs".
    Cyr
  • CyrCyr Member Posts: 168 ✭✭✭ - Distinguished
    Nazihk said:
    Cyr said:
    Multiline: 
    1. ^(\w+) eats (?:a|an|some) (.*).$ Perl Regex
    2. prompt

    this means that the cure method will only fire if the line immediately after the eat is a prompt
    This is an edge case, but it should be noted that this method will fail to register cures if they're batched in an order like "eat bloodroot>>apply mending to legs".
    I don't think Serverside curing will ever do that, but clientside can for sure. (and I might be wrong about the behavior of serverside) In general given the lack of trackable guaranteed cures I think the second method is more effective for Achaea though. 

    Dunn tells you, "I hate you."
    (Party): You say, "Bad plan coming right up."
  • AtalkezAtalkez Member Posts: 4,984 @@ - Legendary Achaean
    There will always be a small delay between each thing that happens. Will not happen on one prompt from server side, afaik


    You hug Aurora compassionately.
  • PyoriPyori Member Posts: 1,716 @ - Epic Achaean
    edited July 2018
    Cyr said:

    second trigger: the shadowmadness cure
    if table.contains(curemethods, "plubnum") then
     removecure plubnum
     addcure shadowmadness
    Make sure to also spell 'plumbum' correctly.

    Personally I use a multiline for my eats/trees etc, where it checks the next line before 'processing' - If it's something like madness, or retribution, where it has a 3rd-person line for its cure, then it'll remove that. If anything else appears, it'll process the cure itself. 1 trigger to handle all eats, another for tree, etc.

  • QuinnieQuinnie Member Posts: 1
    For some reason I can reset the target and it will change in the display window but it will not refresh the display window if I have adjusted the position and size?
  • HolsteinHolstein Member Posts: 91 ✭✭✭ - Distinguished
    So I downloaded this to track affs as a serpent, but I can only get it to track the first dstab and it will not track the second. I have tried separating the dstab trigger into two separate triggers for each stab changing currentvenoms[1] to currentvenoms[2] and it still will not track the second stab. Anyone else have this issue with tracking dstab? Did you figure out a fix?
    Roll the windows down
    This cool night air is curious
    Let the whole world look in
    Who cares who sees anything?
  • AustereAustere TennesseeMember Posts: 2,260 @@ - Legendary Achaean
    Did you set the dirk variable in settings? 
  • HolsteinHolstein Member Posts: 91 ✭✭✭ - Distinguished
    Austere said:
    Did you set the dirk variable in settings? 
    I changed Thoth’s Fang to a buckawn’s spine. Is that the one you mean?
    Roll the windows down
    This cool night air is curious
    Let the whole world look in
    Who cares who sees anything?
  • AesiAesi Member Posts: 1,222 @ - Epic Achaean
    Just popped in to say thanks yet again @Austere

    Was pleasantly surprised to see it updated to depthswalker and it saved me a lot of work.
  • AzareAzare Member Posts: 18 ✭✭ - Stalwart
    edited October 2018
    Seem to be getting a 404 on the initial post's link, did I miss a working link somewhere?

    EDIT: Yes I did miss it, found a working link on page 10
    DracunosJaedra
  • KnivekKnivek Member Posts: 19 ✭✭ - Stalwart
    is there a way to add a modifier to weapon damage for limb percentage, after playing around and mathing with some friends, I think acciaccatura does an additional 25% weapon damage for limbs.
  • ArmaliArmali Member, Secret Squirrel Posts: 1,255 ✭✭✭✭✭ - Grand Achaean
    Oh ho ho ho, I'm looking forward to the day you find out what acciaccatura ACTUALLY does. Because that shit was wild.
    Dochitha
  • ZhedanZhedan Member Posts: 87 ✭✭✭ - Distinguished
    Playing with this script a bit.. does anybody use it as Runewarden, and/or may be able to help me figure out my offense? Thanks!
  • KriexKriex Member Posts: 180 ✭✭✭ - Distinguished
    Hey @Austere. Not sure if this was intentional or not but in the oclass script lines 1 thrrough 11 you are presetting gmcp values if they are nil. I figured it was to prevent errors in your script but if other scripts are trying to grab variables from gmcp after login its pushing out nil errors. Especially for svo. When it loads the system on profile connect it gives a lot of errors because it sees gmcp get set by your script and it cant pull the values it needs. Not sure if you wanted to try and alter that or what but I figured I would let you know
  • AustereAustere TennesseeMember Posts: 2,260 @@ - Legendary Achaean
    Can one of you svo guru's show me how to ensure the ak svo prompt tag is loaded regardless of script order? I know the answer has something to do with event handlers, but I never could get it working before and figured I'd just ask instead of bashing my head against it for a few hours.
  • AntoniusAntonius Member Posts: 4,895 @@ - Legendary Achaean
    This should do it:
    function svoEventHandlers()
        svo.adddefinition("@prompttag", "yourprompttagfunction()")
    end
    
    registerAnonymousEventHandler("svo system loaded", "svoEventHandlers")
    
    Just change the values of "prompttag" and "yourprompttagfunction" to be whatever they actually need to be.
    AustereMorthifDochitha
Sign In to Comment.