• Visit Rebornbuddy
  • Splendors Vendor Window

    Discussion in 'Community Developer Forum' started by becto, Jun 12, 2016.

    1. becto

      becto Member

      Joined:
      Mar 14, 2014
      Messages:
      104
      Likes Received:
      5
      Trophy Points:
      18
      I am trying to interact with the Splendors Vendor in Idyllshire to purchase Fieldcraft gear for desynthing. As you can only have one unique item at a time, it would be helpful to be able to purchase one item, desynth then repeat.

      Is there a way to do this in a CodeChunk part of a profile and are there examples someone can provide for me to play around with to figure it out?
       
    2. tishat

      tishat Member

      Joined:
      May 29, 2015
      Messages:
      735
      Likes Received:
      7
      Trophy Points:
      18
      Yeah I guess a codechunk could work maybe?
      you could also try the buyitem tag
      then some desynth code
      code for checking if you're out of tokens or counterfoils maybe
      rinse repeat.
       
    3. becto

      becto Member

      Joined:
      Mar 14, 2014
      Messages:
      104
      Likes Received:
      5
      Trophy Points:
      18
      Splendors Vendor is a turn in window and way more complex than what is being done for scrips turn in. It maybe possible to use keyboard commands, but it will be ugly and not very accurate. Someone would have to use their skills to reverse engineer the vendors window and make it possible for us to interact via RB commands. I tried playing around with it, and simply got lost, so I gave up.
       
    4. tishat

      tishat Member

      Joined:
      May 29, 2015
      Messages:
      735
      Likes Received:
      7
      Trophy Points:
      18
      if the buyitem tag doesn't work then a simple codechunk that clicks the menus and item in question possibly with a selectyes/no incase you're not on the same class as you are buying an item for should be easy
       
    5. tishat

      tishat Member

      Joined:
      May 29, 2015
      Messages:
      735
      Likes Received:
      7
      Trophy Points:
      18
      I forgot about the double handover window, but there's probably clues or ideas to grab from the various handover tags
       
    6. becto

      becto Member

      Joined:
      Mar 14, 2014
      Messages:
      104
      Likes Received:
      5
      Trophy Points:
      18
      I can get to the Main window by interacting with the NPC:
      Code:
      ff14bot.Managers.GameObjectManager.GetObjectByNPCId(1012229).Interact();
      
      [​IMG]

      Then I will use this code to get to the sub menu I want to open
      Code:
      ff14bot.RemoteWindows.SelectIconString.ClickSlot(6);
      
      [​IMG]

      so far so good. however I can not interact with this Sub-Menu Window as RB doesn't know what it is. And I am unsure what commands to use to send keyboard commands or if RB can send system keybinds.

      The other issue will be if I can select the item, this Exchange Window is also unusable without sending key commands.
      [​IMG]

      Once we get past this point we can interact again with the windows for the turn ins:
      Code:
      foreach(ff14bot.Managers.BagSlot slot in ff14bot.Managers.InventoryManager.FilledSlots)
      {
      	if(slot.RawItemId == 12900)
      	{
      		slot.Handover();
      	}
      }
      
      [​IMG]

      The other window that will be an issue that RB doesn't know is a Confirmation window. This could be prevented by changing gear to the correct job that can use the item before interacting with the NPC.
      [​IMG]

      If anyone has ideas to get past the parts I am stuck with, I can finish this profile to automate this with my bluescrips profile.
       
    7. iyake

      iyake Member

      Joined:
      Oct 19, 2014
      Messages:
      143
      Likes Received:
      5
      Trophy Points:
      18
      for the shop menu, you can use:

      Code:
      RaptureAtkUnitManager.GetWindowByName("ShopExchangeItem").SendAction(2, 0, 0, 1, index);
      
      where index is the slot of the item you want to buy, 0-indexed.

      for the window after that with the 'Exchange' button, you can use:

      Code:
      RaptureAtkUnitManager.GetWindowByName("ShopExchangeItemDialog").SendAction(1, 0, 0);
      
      to click the exchange button
       
    8. tishat

      tishat Member

      Joined:
      May 29, 2015
      Messages:
      735
      Likes Received:
      7
      Trophy Points:
      18
      Ah nice jake, didn't go check what kind of window it was, but I would have suggested to try

      Code:
      if (ff14bot.RemoteWindows.SelectString.IsOpen) ff14bot.RemoteWindows.SelectString.ClickSlot(0);
      Your stuff looks much nicer though XD

      Yeah I suppose it would be pretty nice to have a counterfoil handins profile, and a desynth profile that bought these unique items one at the time, definitely gets tiresome in the long run =)
       
    9. becto

      becto Member

      Joined:
      Mar 14, 2014
      Messages:
      104
      Likes Received:
      5
      Trophy Points:
      18

      iyake, this works perfectly. I am able to navigate through correctly and make my selections. The only thing I need now, is how do I close the shop menu, essentially hitting esc key or somehow break out of this window when completed. As of right now, it stays open.

      adding my test profile here:
      View attachment [O] Turn In Test.xml

      Everything is working except I need to be able to close that window.
       
      Last edited: Jun 16, 2016
    10. hkme

      hkme Member

      Joined:
      May 12, 2014
      Messages:
      197
      Likes Received:
      0
      Trophy Points:
      16
      Looking at the previous TurnInCollectables tag, you can do like this to close the said window
      Code:
      RaptureAtkUnitManager.GetWindowByName("ShopExchangeItem").SendAction(1, 3, uint.MaxValue);
      btw your profile wait time is hardcoded, it is so long imo. I prefer using the IsOpen to minimize the wait time. if it is AtkAddonControl it returns null if the window does not exist.
       
    11. Ken512

      Ken512 Member

      Joined:
      Mar 21, 2015
      Messages:
      100
      Likes Received:
      0
      Trophy Points:
      16
      Well, I blatantly stole all y'all's code to grind my rose cold cogs and darksteel wires.
       

      Attached Files:

      Last edited: Jun 17, 2016
    12. entrax

      entrax Member

      Joined:
      Jul 23, 2012
      Messages:
      459
      Likes Received:
      15
      Trophy Points:
      18
      If only I knew about "RaptureAtkUnitManager" I could have done so many more things x)

      Anyway here is something I just made

      Settings :
      Code:
      <!ENTITY LTW "0"> LTW buy/desynth
      <!ENTITY WVR "0"> WVR buy/desynth
      <!ENTITY TurnIn_MIN "0"> Adamantite Turn In
      <!ENTITY TurnIn_BTN "0"> Chysahl Green Turn In
      <!ENTITY Tinkers_Calm "0"> 
      <!ENTITY Bacon_Broth "0">
      
       
    13. ExMatt

      ExMatt Active Member

      Joined:
      Jul 5, 2015
      Messages:
      1,030
      Likes Received:
      14
      Trophy Points:
      38

    Share This Page