Bug False-SkillEvent?

Discussion in 'Developer Support' started by Party, Jun 18, 2016.

  1. I've noticed that my UI will sometimes add random skills, which should not happen.

    My implementation is something like this:

    Code (Text):
    1. //Using list of (untrained) skills
    2. for (Skill skill : skills) {
    3.     if(skill.equals(e.getSkill()) && e.getChange() >= 5){
    4.         //Remove untrained skill
    5.         //Lazy instantiate a new skill pane
    6.         break;
    7.     }
    8. }
    Sometimes I will get random ones added with varying data:


    I can't see how it can be possible (using my implementation) that these can happen, given no actions were taken that gain exp in those skills? Each skill pane has a separate listener and a new controller instance so I can understand why the XPGain shown on the pane would be zero, but I can't understand why it would be added in the first place.

    @Cloud @SlashnHax @Arbiter able to shine any light?
  2. Likely caused by logout when it went from your current exp to 0.
  3. I've seen it happen as I change planes. Even so, should the check >= 5 not take that possibility out...? Doesn't explain both scenarios.
  4. The change is negative, so it doesn't break. @Cloud can we just suppress negative exp changes? It's impossible.
    --- Double Post Merged, Jun 18, 2016, Original Post Date: Jun 18, 2016 ---
    @Party you can do an absolute value check.
  5. Would that not just mean a negative exp gain would return as a positive exp gain and make my logic return true anyway....?

    Also I understand how a login could cause an new one to be instantiated because it could just remove 100,000 exp on logout, and re-add it on login to equal zero and still work with my logic, I just can't think of a way around it :'(
  6. I feel like it's necessary if they logout to switch to a new account.
  7. We don't support multiple accounts, and even if we did the only metric of interest is exp over time. If the author was interested in current exp they could always query for that. We can't count on authors to be smart and filter out negative changes. We have to appeal to the lowest common denominator or we're going to end up with a shit UX of broken skill trackers. A strong vote from me for filtering out negatives for them as well as exp jumps on login.

    Sent from my iPhone using Tapatalk
  8. Negatives are filtered out in the next release.
  9. Would this mean a user with 1mil Attack exp would have a filtered out -1mil on logout, and a +1mil on login, meaning a ridiculous SkillEvent on login?
    --- Double Post Merged, Jul 1, 2016, Original Post Date: Jun 22, 2016 ---
    Is this a related issue @Arbiter? (It's a gif, just in case you glanced it and didn't see anything happening)
    --- Double Post Merged, Jul 1, 2016 ---
    Yeah there is absolutely something wrong here, this is OSRS:
    --- Double Post Merged, Jul 1, 2016 ---
    Also, blocking the negative skillevents means that when you log out and log back in you get an insane amount of exp added in SkillEvents (no longer removes exp on logout and adds it back on login).
  10. @Cloud we need to remove the incorrect jump during login.
  11. Could be as easy as checking the previousValue and filtering that out if the logged out value is something identifiable (e.g. -1). Might give it a look after I vote today.
  12. This is actually a perfect one for you to handle.

    Sent from my iPhone using Tapatalk

Share This Page