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

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

    1. LemonCurd

      LemonCurd New Member

      Joined:
      Feb 12, 2015
      Messages:
      10
      Likes Received:
      0
      Trophy Points:
      1
      +1 working as intended.
       
    2. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      Is that for BlackBlood? That's already supported, need values for Dark Arts active and living shadow active
       
    3. Neverdyne

      Neverdyne Community Developer

      Joined:
      Sep 12, 2014
      Messages:
      644
      Likes Received:
      18
      Trophy Points:
      18
      Thanks for the quick update Mastahg. I wanted to ask, is the navigator point sampling something that should work, and if so is this the correct way to use it?

      Code:
                  var point = target.Convert().ToVector2();
                  var radius = Math.Min(GroundMovementThreshold, SampleRadius);
                  var circle = new ff14bot.Pathing.SampleCircle(point, radius);
      
                  var sampleParams = new SamplePointsParameters
                  {
                      Circles = new List<ff14bot.Pathing.SampleCircle> {circle},
                      NavigabilityLocation = target.Convert(),
                      ZoneId = WorldManager.ZoneId,
                      NumPoints = SamplePointCount,
                      Type = ff14bot.Pathing.SamplePointsType.NavigableFrom,
                      NavigableFromDestinationTolerance = radius
                  };
      
                  var sampledPoints = await Coroutine.ExternalTask(Navigator.NavigationProvider.SamplePointsAsync(sampleParams)) ?? new List<Vector3>();
      Doing that gets me disconnected from the nav server it seems. I'm just not sure if sampling is a function you intended to expose or not, but it seems very useful for finding potential landing points near a target.
       
    4. counblain

      counblain New Member

      Joined:
      Jun 10, 2012
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      1
      Has anyone tried this with WHM 71-80ish? How is it :) thanks for all the work being done!
       
    5. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      It is used internally in a few locations. It's part of the code that was ported over from flightor but I haven't heavly vetted the output. You might be requesting too many points?

      Code:
                  var circles = new List<SampleCircle>() { new SampleCircle(new Vector2(idleLocation.X, idleLocation.Z), 15f) };
                  var samplePoints = SamplePointsParameters.NavigableTo(circles, 1, Core.Player.Location, WorldManager.ZoneId);
                  var points = await Coroutine.ExternalTask(Navigator.SamplePointsAsync(samplePoints));
      
      is how its used in fatebot to find a place to idle.
       
    6. newb23

      newb23 Community Developer

      Joined:
      Nov 26, 2014
      Messages:
      397
      Likes Received:
      15
      Trophy Points:
      18
      @mastahg I don't know if this is even remotely helpful, but, I am trying to find the loot window to make an auto loot roller/voter.

      I have the following data, but I'm not sure where to go with it...

      ClearLog();

      Log(RaptureAtkUnitManager.GetWindowByName("NeedGreed"));
      Log(RaptureAtkUnitManager.GetWindowByName("_NotificationLoot"));
      Log(RaptureAtkUnitManager.GetWindowByName("VoteMvp"));
      Log(RaptureAtkUnitManager.GetWindowByName("NotificationIcMvp"));

      foreach (var control in RaptureAtkUnitManager.Controls)
      {
      if (control.Name == "NeedGreed")
      {
      Log(control.Name + ":" + control.Pointer.ToString("X") + " - " + control.VTable.ToString("X"));

      var x = new[] {13, 14, 15, 16, 17 };
      for (int y = 0; y < 5; y++)
      {
      Log(x[y].ToString() + " - " + control.FindButton(x[y]).Label.Text+ ": " + control.FindButton(x[y]).Clickable.ToString());
      }
      }
      }


      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      NeedGreed
      _NotificationLoot
      null
      null
      NeedGreed:1A609D2CBA0 - 7FF6BC3417F8
      13 - Need: False
      14 - Greed: True
      15 - Pass: True
      16 - Loot Recipient: True
      17 - Greed Only: True

      ~~~~~~~~~~~~~~~~~~~~~~

      Would you be able to make anything out of this? Say, if that notification is up, activate it, and once the window is open have a button for each option? We could then iterate each item and have it send a button click for Need, Greed, or Pass?

      Edit: Made it a little more readable...

      Edit 2: So, from looking at the loot window vs the Button Labels,

      13 is CanNeed
      14 is CanGreed
      15 is Pass
      16 is CanRecieve (Can Vote on the item at all)
      17 is CanGreedOnly (Cannot Need, but can Greed)

      What I don't know yet, is how to look at all of the items in the Loot List. This is just for the currently selected one, that I can tell. Needs more testing.
       
      Last edited: Jul 5, 2019
    7. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      GetTo tries to attune to Eulmore Aetheryte when it can't. The Aethernets can be used but the Aetheryte is inaccessible until completing MSQ: 69167 or 69168. I've already unlocked it so I'm going off memory here. I am running thru the MSQ again as we speak, so I can be more precise once I get there.
       
    8. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      I think @zzi has all this stuff done, he just hasn't wrapped it up yet for me.


      Thanks for the report.
       
    9. am355

      am355 New Member

      Joined:
      Jul 1, 2019
      Messages:
      13
      Likes Received:
      0
      Trophy Points:
      1
      @mastahg Thanks fixes bard soul voice gauge, it's working!

      Found the "GameObjectManager.GetObjectsOfType<BattleCharacter>()" will cause the game lag.
      Also, is there a function to get the hate value?
      Thank you for everything!
       
    10. crpaul

      crpaul Member

      Joined:
      Jun 23, 2016
      Messages:
      137
      Likes Received:
      4
      Trophy Points:
      18
      get this everytime i land now
      [16:06:11.333 N] [Flightor] Mount up failed unexpectedly. Blacklisting current location.
       
    11. newb23

      newb23 Community Developer

      Joined:
      Nov 26, 2014
      Messages:
      397
      Likes Received:
      15
      Trophy Points:
      18
      @mastahg

      It looks like after you hit level 74WHM, it breaks the Lily count. It also adds the Blood Lily count.

      struct: ResourceTable: { timer: 0, timer2: 0, offset_8: 0, offset_9: 0, offset_A: 0, offset_B: 0, offset_C: 3, offset_D: 0, offset_E: 0 }
      Lilies: 0
      struct: ResourceTable: { timer: 0, timer2: 0, offset_8: 0, offset_9: 0, offset_A: 0, offset_B: 0, offset_C: 3, offset_D: 0, offset_E: 0 }
      Lilies: 0
      struct: ResourceTable: { timer: 0, timer2: 2420, offset_8: 0, offset_9: 0, offset_A: 116, offset_B: 9, offset_C: 2, offset_D: 1, offset_E: 0 }
      Lilies: 116
      struct: ResourceTable: { timer: 0, timer2: 3637, offset_8: 0, offset_9: 0, offset_A: 53, offset_B: 14, offset_C: 2, offset_D: 1, offset_E: 0 }
      Lilies: 53
      struct: ResourceTable: { timer: 0, timer2: 22054, offset_8: 0, offset_9: 0, offset_A: 38, offset_B: 86, offset_C: 0, offset_D: 3, offset_E: 0 }
      Lilies: 38
      struct: ResourceTable: { timer: 0, timer2: 23439, offset_8: 0, offset_9: 0, offset_A: 143, offset_B: 91, offset_C: 0, offset_D: 3, offset_E: 0 }

      offset_C is the correct value for the lilies, and offset_D is the correct value for the blood lilies. timer2 is the status of the gauge as it fills, but is unnecessary for anything.

      Edit: Even when level synced, the above holds true.
       
    12. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      Was it correct pre74?
       
    13. newb23

      newb23 Community Developer

      Joined:
      Nov 26, 2014
      Messages:
      397
      Likes Received:
      15
      Trophy Points:
      18
      After verification on a lower leveled WHM, no. Offset_C is what is holding the Lily values, and Offset_D is what will hold the Blood Lily values starting at level 74.
       
    14. Exmortem

      Exmortem Community Developer

      Joined:
      Mar 28, 2010
      Messages:
      799
      Likes Received:
      16
      Trophy Points:
      18
      In regard to healing in trust dungeons. If we could get a TrustPartyManager or something that resembled the PartyManager that would be awesome. The party UI element in a trust dungeon looks identical to the one in a regular party, but I couldn't tell you if it's all located in the same memory space or not. What I do know is that PartyManager.IsInParty returns false in a trust dungeon and that obviously the lists are empty. It's possible to filter the trust party members in the object manager using something like:

      Code:
      GameObjectManager.GetObjectsOfType<BattleCharacter>().Where(x => x.CurrentJob != ClassJobType.Adventurer)
      
      but it can cause issues in other areas of the game. Trust party member's npcIds return 0 and their names return empty; their jobs return correctly.
       

      Attached Files:

    15. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      Version 276
      Code:
      ActionResourceManager.WhiteMage.Lily updated 
      ActionResourceManager.WhiteMage.BloodLily added
      
      GetTo now knows about some of the npc transports in shadowbringers
      GetTo will no longer try to learn eulmore aetheryte before the completion of quest 69168
      
       
    16. newb23

      newb23 Community Developer

      Joined:
      Nov 26, 2014
      Messages:
      397
      Likes Received:
      15
      Trophy Points:
      18
      @mastahg edits for the White Mage look great, thank you.

      I have a feature request that might actually be possible now. With the expansion, an effect was added around spell bars that are being cast and can be interrupted. (Picutre below - its the faint orange/yellow "box" around The Ram's Voice cast timer) Is it possible to find where that is coming from and add a CanInterrupt now that there is definitive evidence of whether or not a skill can be interrupted? It would eliminate the need to build list for each and every spell and annotate they can be interrupted or not.

      [​IMG]

      Thanks for all you do!
       
    17. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      It's already added. Target.SpellCastInfo.Interruptible
       
    18. newb23

      newb23 Community Developer

      Joined:
      Nov 26, 2014
      Messages:
      397
      Likes Received:
      15
      Trophy Points:
      18
      Nice! Thank you much, I completely missed it...
       
    19. celmaisef

      celmaisef Member

      Joined:
      Dec 5, 2011
      Messages:
      85
      Likes Received:
      3
      Trophy Points:
      8

      Can you please look into this, its still happening very often. Thank you
       
    20. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,229
      Likes Received:
      364
      Trophy Points:
      83
      ExGather is unsupported. Unless theres something wrong with the rb functions its calling I've got too much on my plate as it is.
       

    Share This Page