• Visit Rebornbuddy
  • [Release] RebornBuddy64 Version 1.0.424 - DirectX11 / x64 bit compatible

    Discussion in 'Rebornbuddy Forum' started by mastahg, Feb 29, 2016.

    1. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,215
      Likes Received:
      361
      Trophy Points:
      83
      Version 322
      Code:
      
      SynthesisSimple window added
      SynthesisSimpleDialog window added
      Synthesis.Close() added
      
      CraftingLog.QuickSynthesize() added
      
      RecipeData.HasCraftedRecipe added
      
      
       
    2. nt153133

      nt153133 Member

      Joined:
      Nov 11, 2017
      Messages:
      68
      Likes Received:
      7
      Trophy Points:
      8
      On desynthesis... I think I got the offsets (0x230 and 0xEA) you need to fix the unique/untradable checkbox check. Though you can just SendAction(1,3,0) the SalvageDialog window and it'll click the button even if it's disabled due to not being checked.

      Code:
      ClearLog();
      AtkAddonControl windowByName = RaptureAtkUnitManager.GetWindowByName("SalvageDialog");
      if (windowByName != null)
      {
          IntPtr intPtr = Core.Memory.Read<IntPtr>(windowByName.Pointer + 560);
          if (intPtr != IntPtr.Zero)
          {
              var uniqueUntradeableCode = Core.Memory.Read<byte>(intPtr + 234);
              if (uniqueUntradeableCode == 5)
                  Log("Checked");
              else if (uniqueUntradeableCode == 1)
                  Log("Not Checked");
          }
      }
       
    3. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,215
      Likes Received:
      361
      Trophy Points:
      83
      There was a bit more to it then that. One of the function calls that I was using to refresh the window after the changing its status had become inlined. Had to find a replacement.

      New version coming now that supports desynth
       
    4. nt153133

      nt153133 Member

      Joined:
      Nov 11, 2017
      Messages:
      68
      Likes Received:
      7
      Trophy Points:
      8
      Can you please add this AgentInterface for the the trusts, the vtable offset is in the file. I named it Dawn since that's what the UI window is called and how it's referenced in the data files. Like how desynthesis is salvage. I got the whole RemoteWindow reversed but much of it is logic dependent so i'll include this version that has base functionality . The buttons are all SendActions and I'm using public ___Elements functions to reference the abundance of info so you'll want to replace that part with your version so the offsets update.
       

      Attached Files:

    5. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,215
      Likes Received:
      361
      Trophy Points:
      83
      To include something like this in the main bot I would need patterns for all the different offsets, and if possible the indexes for the element accessors for the windows. Deepdungeon has an example of what I am talking about. There are plugins for ida to generate them, and I think ghidra has them the ability to create them built in.

      You can add your own agent to the active agent list by finding its id via AgentModule.FindAgentIdByVtable then calling AgentModule.TryAddAgent.


      I am also considering a small change to how RaptureAtkUnitManager.GetWindowByName works. Currently it returns immediately the moment the window is added to the active list. I've noticed when doing dailies sometimes the game will crash and it seems to be a rare race condition because of how fast rb interacts with windows. So my current plan is to delay adding windows until a few frames have passed. I'd prefer if I could locate a common variable that indicates if a window is finished initialization but i haven't found anything simple like that yet.
       
    6. nt153133

      nt153133 Member

      Joined:
      Nov 11, 2017
      Messages:
      68
      Likes Received:
      7
      Trophy Points:
      8
      FYI: The update that came out before broke sidestep.

      [07:08:16.787 N] Compiler Error: \Plugins\SideStep\SidestepPlugin.cs(212,60) : error CS0103: The name 'OmenOverrideManager' does not exist in the current context
       
    7. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,215
      Likes Received:
      361
      Trophy Points:
      83
      Pushing a new build now. I haven't finalized the OOM yet and is still in a work in progress.
       
    8. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,215
      Likes Received:
      361
      Trophy Points:
      83
      Version 326

      Code:
      AvoidanceManager:
      Weight running out to prefer being closer to the caster to remain in melee range
      Don't progress avoid paths if we won't get any closer then we are now
      
      SideStep:
      Cleanup code
      Add support for cross shaped omens
      
      QuestDevTools:
      Remove alphabetical sorting on the quest list
      Add FlyTo
      Add GetTo
      
       
      hkme likes this.
    9. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,215
      Likes Received:
      361
      Trophy Points:
      83
      Version 327
      Code:
      
      Weight the EXP buffing items heavier.
      
      Sidestep:
      Loosen the filters on what mobs to exclude
      
      
       
    10. nt153133

      nt153133 Member

      Joined:
      Nov 11, 2017
      Messages:
      68
      Likes Received:
      7
      Trophy Points:
      8
      I'll post this as on official bug but i've yet to come across a solution. In the 6 trust dungeons (all of which are also MSQ duties in ShB) only 2 of them have the correct InstanceContentDirector structure to return the ActiveObjectives. It returns all other InstanceContentDirector info fine but the objectives that are suppose to be at +0x12E8 points to 0 and count is 0. I can't find a 12 byte structure array that the others use. Dohn Mheg and The Grand Cosmos are the only trusts that return the normal 6 active objectives and their statuses. I've checked for days using CE and I can't find a corresponding pointer get them, the 4 dungeons Holminster Switch, The Qitana Ravel, Malikah's Well, Amaurot all don't list the objectives but in game they have the same 6 basic objectives the other 2 have...get to zone, clear zone x3. I find it odd that 4 duties wouldn't use the same struct but they don't even call the same functions that the others do when updating objectives. I try to only point out issues i can find a solution to but this one has me stumped.
       
    11. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,215
      Likes Received:
      361
      Trophy Points:
      83
      Breakpoint on access the one that it works, note the functions that get called. Go into the dungeon it doesn't work in, see if the breakpoint gets triggered. Try using ghidra
       
    12. nt153133

      nt153133 Member

      Joined:
      Nov 11, 2017
      Messages:
      68
      Likes Received:
      7
      Trophy Points:
      8
      I've done that, the instructions that happen every time the objectives are updated trigger for all the duties but those 4. Even going up a level to the calling function it doesn't break on them either. It's like they use another function or a vtable call but i can't narrow down a pointer position to check. I don't quite understand the check that is made to see if the objective is complete so I can't check for that but I can load the structs and I can't find a corresponding static address for the objects or the count.
      Amaurot
      Amaurot.png
      The grand cosmos
      the grand cosmos.png
       
    13. Hellbeast

      Hellbeast Member

      Joined:
      Mar 17, 2015
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      6
      Hello, everyone this still don't work?
      <GatheringSkillOrder>
      <GatheringSkill SpellName="The Twelve's Bounty" TimesToCast="1" />
      </GatheringSkillOrder>
       
    14. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,215
      Likes Received:
      361
      Trophy Points:
      83
      Thanks for reminding me. I'll try and get a build out shortly.
       
    15. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,215
      Likes Received:
      361
      Trophy Points:
      83
      Version 329

      Code:
      
      ActionManager:
      
      CanCast will no longer do a range/los check when a unit other then the player is passed for self cast spell. This matches the ingame behavior more closely and will allow cleaner kupo routines to be written.
      
      Updated the list of gathering spells for gathertag
      
      
       
    16. Hellbeast

      Hellbeast Member

      Joined:
      Mar 17, 2015
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      6
      possible only for me but <GatheringSkill SpellName="The Twelve's Bounty" TimesToCast="1" /> still won't work for fire shards gathering
      Strnage but SpellName="The Twelve's Bounty" don't work and SpellName="Solid Reason" works fine

      Also now there is an option in gathereing window (Enable quick gathering) is any possibility to use that opnion using bot?
       
      Last edited: Nov 11, 2019
    17. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,215
      Likes Received:
      361
      Trophy Points:
      83

      There is actually a typo in the game data.

      [​IMG]

      it uses a lower case t for "the", im going to add a hardcode override as I think many people would get caught by that.

      As for the auto gather, no. It shouldn't be any faster then what the bot will do on its own.
       
    18. Hellbeast

      Hellbeast Member

      Joined:
      Mar 17, 2015
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      6
      Big, thx and waitng for new hardcode version of that spell version
       
    19. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,215
      Likes Received:
      361
      Trophy Points:
      83
      It's building now. Should be ready in a few minutes.
       
    20. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,215
      Likes Received:
      361
      Trophy Points:
      83
      Version 331

      Code:
      GatheringTag has updated skill list it can use
      
      
      GetTo:
      Add a small fix so the ostall imperative aetheryte will be used
      
      
       

    Share This Page