• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Unknown Ability Errors (Actioncache).

    Discussion in 'Community Developer Forum' started by Sodimm, May 1, 2015.

    1. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      Now since having a few folks notice the "Unknown Abiliity" Error. I posted this in the Ixal thread, so I'll just reiterate it here:

      I've noticed that upon first switching to a craft class, the combat routine/bot will build an actioncache, which lists all available actions. but in the odd case, the cross class skills are omitted. Take the attached log for example

      First switch:

      Code:
      [12:33:16.624 V] [Poi.Clear] Reason: Current behavior changed to RunCode: Name: CraftClass, IsDone: False, HighPriority: False, InCombat: False, QuestId: 0, StepId: 0, PostCombatDelay: 0, QuestName: null, IsDoneCache: False, Behavior: TreeSharp.ActionRunCoroutine, .
      [12:33:16.624 D] Removed all hooks from [HighPriorityProfileOrderBehavior_Hook]
      [12:33:16.624 D] Replaced hook [ProfileOrderBehavior_Hook] 7c4ab01c-4730-4476-8b78-e93342627923
      [12:33:20.144 N] Building Actioncache
      [12:33:20.151 N] Action Name:Sprint Action Id:3
      [12:33:20.151 N] Action Name:Steady Hand Action Id:247
      [12:33:20.151 N] Action Name:Inner Quiet Action Id:255
      [12:33:20.151 N] Action Name:Great Strides Action Id:263
      [12:33:20.151 N] Action Name:Manipulation Action Id:278
      [12:33:20.151 N] Action Name:Innovation Action Id:284
      [12:33:20.151 N] Action Name:Basic Synthesis Action Id:100075
      [12:33:20.151 N] Action Name:Basic Touch Action Id:100076
      [12:33:20.151 N] Action Name:Master's Mend Action Id:100077
      [12:33:20.151 N] Action Name:Standard Touch Action Id:100078
      [12:33:20.151 N] Action Name:Master's Mend II Action Id:100079
      [12:33:20.151 N] Action Name:Standard Synthesis Action Id:100080
      [12:33:20.151 N] Action Name:Advanced Touch Action Id:100081
      [12:33:20.151 N] Action Name:Observe Action Id:100082
      [12:33:20.151 N] Action Name:Flawless Synthesis Action Id:100083
      [12:33:20.151 N] Action Name:Careful Synthesis Action Id:100063
      [12:33:20.151 N] Action Name:Tricks of the Trade Action Id:100098
      [12:33:20.151 N] Action Name:Truth of Mountains Action Id:238
      [12:33:20.151 N] Action Name:Careful Synthesis II Action Id:100069
      [12:33:20.151 N] Action Name:Hasty Touch Action Id:100108
      [12:33:20.151 N] Done building Actioncache
      Inner quiet is there, and the cross class skills. Alls good.

      Second switch:

      Code:
      [12:42:15.037 V] [Poi.Clear] Reason: Current behavior changed to RunCode: Name: CraftClass, IsDone: False, HighPriority: False, InCombat: False, QuestId: 0, StepId: 0, PostCombatDelay: 0, QuestName: null, IsDoneCache: False, Behavior: TreeSharp.ActionRunCoroutine, .
      [12:42:15.037 D] Removed all hooks from [HighPriorityProfileOrderBehavior_Hook]
      [12:42:15.037 D] Replaced hook [ProfileOrderBehavior_Hook] 713be3f9-98a1-4c89-b32b-2acb7916a6b1
      [12:42:18.580 N] Building Actioncache
      [12:42:18.586 N] Action Name:Sprint Action Id:3
      [12:42:18.586 N] Action Name:Basic Synthesis Action Id:100075
      [12:42:18.586 N] Action Name:Basic Touch Action Id:100076
      [12:42:18.586 N] Action Name:Master's Mend Action Id:100077
      [12:42:18.586 N] Action Name:Standard Touch Action Id:100078
      [12:42:18.586 N] Action Name:Master's Mend II Action Id:100079
      [12:42:18.586 N] Action Name:Standard Synthesis Action Id:100080
      [12:42:18.586 N] Action Name:Advanced Touch Action Id:100081
      [12:42:18.586 N] Action Name:Observe Action Id:100082
      [12:42:18.586 N] Action Name:Flawless Synthesis Action Id:100083
      [12:42:18.586 N] Action Name:Invigorate Action Id:80
      [12:42:18.586 N] Action Name:Internal Release Action Id:59
      [12:42:18.586 N] Action Name:Haymaker Action Id:58
      [12:42:18.586 N] Action Name:Blood for Blood Action Id:85
      [12:42:18.586 N] Action Name:Manasong Action Id:1568
      [12:42:18.586 N] Action Name:Farshot Action Id:1569
      [12:42:18.586 N] Action Name:Blast Shot Action Id:1570
      [12:42:18.586 N] Action Name:Enliven Action Id:1580
      [12:42:18.586 N] Action Name:Mana Draw Action Id:1583
      [12:42:18.586 N] Action Name:Purify Action Id:1584
      [12:42:18.586 N] Action Name:Detect Action Id:1586
      [12:42:18.586 N] Action Name:Recouperate Action Id:1590
      [12:42:18.586 N] Done building Actioncache
      
      No Inner Quiet, or cross class skills, and it retains all of the previous jobs (combat class) PvP skills...

      Now I haven't got around to looking at how Ultima switches it's classes, or indeed Kupo, but it seems to me that there's something amiss with the context change, i.e. It's not clearing previously hooked initialized objects. Or the actioncache isn't being cleared properly.

      This probably should've gone into support, but because I don't know if its the CR or Bot that's causing the corrupt Actioncache. I thought I'd post it here for a broader view.

      View attachment 177585
       
    2. Wheredidigo

      Wheredidigo Community Developer

      Joined:
      Dec 15, 2013
      Messages:
      417
      Likes Received:
      8
      Trophy Points:
      18
      Just a few notes from looking at the log file:

      You're getting a compiler issue with the version of Magitek you have installed. Not sure how much if at all that is messing things up for other routines, but you should go find the updated Items.cs file in the thread, or just remove that CR from your folder.

      It looks like you're only using Ultima in the log. It also looks like you have the CRManager Plugin installed and enabled. Are you using the CRManager at all or are you just clicking the button to switch gear sets and letting Ultima detect the change. If I remember correctly from the MoreDots codebase and if Endus didn't change the way it works in Ultima, the code just detects the change automatically and starts using the rotation for the class you're on. From what I remember of talking with Mastahg, the actioncache gets reloaded automatically and it checks itself periodically to make sure it has the right abilities.

      You could test that in the console if you wanted fairly easily by just switching classes and then run a log script that prints out all of the actions in the actioncache. Sorry I don't have a script that will do that already, I'm at work and don't have access to be able to write one for you.


      On a side note, you should join the BR Community Developer's group chat on Skype. Send me a PM with contact info and I'll get you added to it. It's what all the "cool" kids are doing! =)
       

    Share This Page