• Visit Rebornbuddy
  • [Plugin] KeyRun - dynamically chooses acts/profiles based on key count

    Discussion in 'Plugins' started by skeetermcdiggles, Nov 1, 2012.

    1. skeetermcdiggles

      skeetermcdiggles New Member

      Joined:
      Oct 8, 2012
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      0
      Plugin has no dependencies but the included profile requires GilesTrinity.

      Works by utilizing a new profile tag.

      EXAMPLE:
      Code:
      <Order>
          <!-- go back to town for next profile -->
              <If condition="not Me.IsInTown">   
                  <UseTownPortal questId="1" />  
                  <WaitWhile condition="not Me.IsInTown" />
              </If>
      
          <!-- open stash to check for keys -->                         
          <TrinityMoveToSNO questId="1" snoid="130400" />
          <TrinityInteract  questId="1" snoid="130400" />
          <KeyRunProfile questId="1" act1profile="act1_start.xml" act2profile="act2_start.xml" act3profile="act3_start.xml" />    
      </Order>
      
      Thanks to GilesSmith for the example and Tinnvec Magi for the profiles I included.

      rrrix edited: attached keyrun 1.8.2; (the "Trinity free" version.. )
       

      Attached Files:

      Last edited: Nov 2, 2012
    2. Tinnvec

      Tinnvec Member

      Joined:
      Sep 29, 2012
      Messages:
      535
      Likes Received:
      10
      Trophy Points:
      18
      Hey awesome! Glad to see someone "fork" my work.
      I see from your code you found the Key SNOs, that's actually what I've been missing to make this work from the profile level.
      I hope you won't feel like I'm stepping on your toes if I implement this, I'm simply working towards making my profile set plugin independent.

      I really like the work though, keep making plugins! (a little bird told me a gem manager would be awesome ;) )
       
    3. skeetermcdiggles

      skeetermcdiggles New Member

      Joined:
      Oct 8, 2012
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      0
      No worries. I would have done it in a profile if I knew how. I'm not too familiar with the available tags though.

      I might look into the gem manager but I'm not sure that it's actually possible with the current version of demonbuddy. We'll see though...
       
    4. Sunblood

      Sunblood New Member

      Joined:
      Oct 8, 2012
      Messages:
      42
      Likes Received:
      0
      Trophy Points:
      0
      Working perfectly for a couple hours now. I started with 3/6/5 and now I'm at 6/6/6!
       
    5. DavidKDean

      DavidKDean Member

      Joined:
      Jun 15, 2012
      Messages:
      217
      Likes Received:
      1
      Trophy Points:
      18
      Lol. I find this to be VERY funny!!! Easier to make a plug-in then a profile eh? :D

      Great job bro. I'm trying it out right now. Will give feed back as soon as I've ran this for a bit.
       
    6. DavidKDean

      DavidKDean Member

      Joined:
      Jun 15, 2012
      Messages:
      217
      Likes Received:
      1
      Trophy Points:
      18
      One thing I've noticed: If a town run needs to be ran after you kill the Keywardens. It reruns the last profile over again.
       
    7. skeetermcdiggles

      skeetermcdiggles New Member

      Joined:
      Oct 8, 2012
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      0
      It's all about documentation. With a plugin, once I add a reference, I can look through all the available objects/methods available to me and figure out what I can do. With the profiles there doesn't seem to be any place that has a list and description of all of the available tags.

      What's the process that occurs when this happens? The more details the better, keycount, current profile, etc...

      Can you duplicate it by using "Force Town Run"?

      Does it go,

      1. Kill Warden
      2. Inv Full
      3. TP town
      4. Town Routine
      5. Back to warden to pickup
      6. Quit and repeat profile?
       
    8. DavidKDean

      DavidKDean Member

      Joined:
      Jun 15, 2012
      Messages:
      217
      Likes Received:
      1
      Trophy Points:
      18
      For Trinity v1.6+: http://www.thebuddyforum.com/demonb.../73952-trinity-v1-6-new-profile-xml-tags.html
      For DB: http://www.thebuddyforum.com/demonb...rofiles/54605-all-available-profile-tags.html

      What he does is:

      1. Kill Warden
      2. Inv Full
      3. TP town
      4. Town Routine
      5. Back to warden to pickup
      6. Runs to the start of the profile waypoint area (or stucks trying to get there) and repeats the run.

      I'll test it out to see if forcing a town run will also force it. I'm working while doing all of this so I may miss a few runs trying to catch it again.

      Edit: I think adding a force vendor event is a good work around. Adding in a:

      after:

      Makes it run fairly smoothly. I've added these into the "act#_start.xml" profiles for now until I can get some solid info.
       
      Last edited: Nov 2, 2012
    9. skeetermcdiggles

      skeetermcdiggles New Member

      Joined:
      Oct 8, 2012
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      0
      That actually sounds like the profile didn't detect the warden dying (happens sometimes...). If it did detect it, you should see it in the log, otherwise, it keeps exploring until fully explored and will eventually quit.

      It sounds like it never hit the KeyRunProfile tag. If you have a log, I can verify that (probably).

      Thanks for the info on the tags. I knew about the trinity one but no the DB one.
       
    10. DavidKDean

      DavidKDean Member

      Joined:
      Jun 15, 2012
      Messages:
      217
      Likes Received:
      1
      Trophy Points:
      18
      I believe that is EXACTLY what is the issue bro.

      Another problem I just found - Act 2. The profile "act2_Mine.xml" has an issue:

      The profile (being the first one to load after the start.xml file) goes right to the Oasis with or without 5NV stacks. Leading to act2_Alcarnus, act2_AlcToWinds, act2_HowlingPlateau not being ran. act2_Alcarnus.xml is the only one in the files that isn't chained.

      Edit: Np on the tags man. They have gotten lost to time. I had them bookmarked.
       
      Last edited: Nov 2, 2012
    11. skeetermcdiggles

      skeetermcdiggles New Member

      Joined:
      Oct 8, 2012
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      0
      Those profiles are all created and maintained by Tinnvec Magi. I only slightly modified them to use the tags I had created. I only included them so it would be a little easier for people to 'plug and play'. I'm going to add in KeyWarden detection and handling in the future but until then, issues relating to the profiles should probably be addressed by Tinnvec in his thread Magi in this thread.
       
      Last edited: Nov 2, 2012
    12. DavidKDean

      DavidKDean Member

      Joined:
      Jun 15, 2012
      Messages:
      217
      Likes Received:
      1
      Trophy Points:
      18
      Yeah. I've helped on a few things with his project as well. I don't see this issue in any of the profiles he has posted though. Hmmm. Then again. I've not done much Key farming since v1.3 of his profile. Seems to not be an issue by v.1.7 however.
       
    13. skeetermcdiggles

      skeetermcdiggles New Member

      Joined:
      Oct 8, 2012
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      0
      It very well might be something I broke. The core functionality is in the choose_act.xml. You should be able to replace the other files with his with no problems except you'd have to add in
      Code:
      <TrinityLoadProfile file="START.xml" />
      at the end of the keywarden files (act1_FieldsofMisery.xml, act2_Oasis.xml, act3_Stonefort.xml) replacing the area where it loads a random profile.
      Code:
      <!-- Load Random Act -->
      <TrinityRandomRoll questId="1" id="69" min="1" max="5" />
      <TrinityIfRandom questId="1" id="69" result="1"><TrinityLoadProfile file="act1_start.xml" exit="true" /></TrinityIfRandom>
      <TrinityIfRandom questId="1" id="69" result="2"><TrinityLoadProfile file="act2_start.xml" exit="true" /></TrinityIfRandom>
      <TrinityIfRandom questId="1" id="69" result="3"><TrinityLoadProfile file="act3_start.xml" exit="true" /></TrinityIfRandom>
      <TrinityIfRandom questId="1" id="69" result="4"><TrinityLoadProfile file="act2_start.xml" exit="true" /></TrinityIfRandom>
      <TrinityIfRandom questId="1" id="69" result="5"><TrinityLoadProfile file="act3_start.xml" exit="true" /></TrinityIfRandom>
       
    14. skeetermcdiggles

      skeetermcdiggles New Member

      Joined:
      Oct 8, 2012
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      0
      Turns out I'm a dirty, dirty liar.

      I used these profiles. Try it out with Tinnvec's if you'd like though...
       
    15. DavidKDean

      DavidKDean Member

      Joined:
      Jun 15, 2012
      Messages:
      217
      Likes Received:
      1
      Trophy Points:
      18
      Well. I'll tell you. I'm having no issues atm. I only posted about the profile issue here because v1.7 of his work doesn't reflect the problem (so if it was pulled from there then he has fixed it) however in the versions you have .zipped do have the issue. So far I really like what you have done and thank you for what hard work you've put in!
       
    16. Magi

      Magi New Member

      Joined:
      Oct 12, 2012
      Messages:
      1,242
      Likes Received:
      7
      Trophy Points:
      0
      haha that'd be me!

      Cool pluggin, I was about to sit down and start writing the same thing, but I see that isn't needed! Excited to take a look and work these into my profiles (as I see you already did, but I always like to see what's under the hood :p )

      Nice work!
       
    17. DavidKDean

      DavidKDean Member

      Joined:
      Jun 15, 2012
      Messages:
      217
      Likes Received:
      1
      Trophy Points:
      18
      I've not tested your profile Magi. But did you happen to see/notice the issue with the Mines profile?
       
    18. skeetermcdiggles

      skeetermcdiggles New Member

      Joined:
      Oct 8, 2012
      Messages:
      37
      Likes Received:
      0
      Trophy Points:
      0
      I'd be glad to have it integrated into your profiles. Saves me a bit of work.

      I plan on adding some better KeyWarden death detection as DB's built in tags seem to be lacking in that area. Would that be useful and how would you like that to work? I was considering starting choose_act.xml automatically on death but I'm worried about missing the drops in the event of inventory full or player death. The other thought I've had is a WhileKeyWardenAlive tag.
       
    19. DavidKDean

      DavidKDean Member

      Joined:
      Jun 15, 2012
      Messages:
      217
      Likes Received:
      1
      Trophy Points:
      18
      skeetermcdiggles. Would a "WhileKeyWardenAlive" tag trigger/fire if/when you die. And if not. Would throwing in a "wait" in case that happens help?

      Example: Your a Whirlwind barb. You have tornados up. You die. Tornado kills warden right after you die.

      In the current state of the Bot - You would simply have to rerun the profile and that will result in time lost.
       
    20. Magi

      Magi New Member

      Joined:
      Oct 12, 2012
      Messages:
      1,242
      Likes Received:
      7
      Trophy Points:
      0
      I did yes, I actually fixed it on the latest version. Was doing a lot of pasting to change the DB loadprofile tags to a Trinity loadprofile....for some reason the trinity death tag didn't play nicely with DB loading profiles, it preferred Trinity to load em. I just missed this particular one :)
       

    Share This Page