• Visit Rebornbuddy
  • Magi's Keywarden Hunt Continued - Last Updated: 03/17/2014

    Discussion in 'Archives' started by Winio, Mar 17, 2014.

    1. Winio

      Winio Member Legendary

      Joined:
      Nov 24, 2013
      Messages:
      78
      Likes Received:
      0
      Trophy Points:
      6
      Magi's Keywarden Hunt Continued - Last Updated: 03/19/2014

      Magi's Keywarden Hunt Continued
      I am sure a lot of you remember Magi's excellent Keywarden profiles. Unfortunately Magi hasn't logged in for a couple of months and the arrival of 2.0 broke literally every aspect of his profiles. That is why I decided to update them to support both the most recent versions of DemonBuddy as well as the latest Diablo 3 patch.


      What does it do?
      It hunts Keywardens to obtain keys to build Infernal Machines. The profile is clever enough to farm the key that you have the least amount of to keep key quantities about equal and to reset the game after the Keywarden has been found and killed.


      What do I need?
      Your character will need the following quests to be unlocked:

      1. Act 1 - The Imprisoned Angel
      2. Act 2 - Lord of Lies
      3. Act 3 - Siegebreaker
      In addition you will need an up-to-date version of DemonBuddy as well as Trinity version 1.8.6 or newer. Everything else is included in the download.


      How do I install and run this profile?

      1. Unpack the attachment to your DemonBuddy folder and restart DemonBuddy.
      2. Enable the KeyRun plugin under "Plugins".
      3. Set DemonBuddy to the difficulty you want to do the key hunt on (Settings/Bot, Game Difficulty).
      4. Run the "A1-A3_START_HERE.xml" profile located under "Profiles\KeyHunt".
      That's pretty much it :).


      What has been changed compared to Magi's original profile?

      • The KeyRun plugin has been updated to reflect namespace and logging changes introduced in DemonBuddy since the original KeyRun release.
      • All outdated SNOs within the profile XML files as well as the KeyRun plugin have been updated to reflect SNO changes in the newest Diablo patch.
      • Several refactors within the KeyRun plugin to make the code easier to extend. Most notably I plan to implement a cache for the key counts so the bot doesn't visit the stash over and over again.
      • Removed Nephalem related code and conditionals from both the profile XML files as well as the KeyRun plugin. Nephalem is no longer important for key hunting :).
      • Removed the profiles that are no longer required, since there is no need to run other maps first to stack Nephalem.
      If you have any questions or run into any issues, please don't hesitate to ask. I will try to answer them to the best of my abilities.

      Changelog
      Code:
      Version 3.32 released on 3/19/2014:
      Added an option available under "Plugins/Config" that allows the bot to ignore most of the mobs encountered during a run until the Keywarden is found. 
      Trinity may interfere here, depending on your settings. Specifically, using Trinity default settings, the bot will still attack champion packs and Elite 
      mobs it finds during the run. In most cases, this is a desired behavior, since certain abilities may otherwise kill you or cause the bot to become stuck. 
      However, if you don't want the bot to even kill champion packs, make sure to also enable the skip champion/elite option in Trinity.
      
      Added an option available under "Plugins/Config" that allows to override the default Keywarden HP death threshold. Thresholds specified within profile 
      XML files are ignored from now on. The threshold is used by the plugin to determine whether or not a Keywarden is dead. The default is set to 350000. 
      However, if you regularly do hit for more than 350000 you may have to increase the threshold. Otherwise the plugin will miss the Keywarden dieing and 
      will not abort the run once the Keywarden is dead. 
      
      Fixed a bug in the profile XML files that could cause the bot to stop completely in case a Keywarden was found but somehow ran out of range before 
      the bot was able to catch up or in case the mob kill was missed due to an improper threshold.
      
      Happy hunting! :)
       

      Attached Files:

      Last edited: Mar 19, 2014
    2. doggyfish

      doggyfish New Member

      Joined:
      Nov 1, 2012
      Messages:
      36
      Likes Received:
      0
      Trophy Points:
      0
      sry man, abit confused, is this a plugin or is this profiles?
       
    3. Winio

      Winio Member Legendary

      Joined:
      Nov 24, 2013
      Messages:
      78
      Likes Received:
      0
      Trophy Points:
      6
      It is both actually. A plugin supported profile :). To implement certain features of the profiles, for example the automatic selection of the map to run depending on the amount and types of keys you have, a plugin is needed.
       
    4. Middge

      Middge Member

      Joined:
      Dec 15, 2011
      Messages:
      160
      Likes Received:
      0
      Trophy Points:
      16
      Oh yea, I'm definitely going to give this a shot tonight. Thanks man!
       
    5. xzjv

      xzjv Community Developer

      Joined:
      Mar 17, 2014
      Messages:
      1,243
      Likes Received:
      46
      Trophy Points:
      48
      This works well enough, although on T1 it says i vanquished the key-warden when he's at like half health, ill need to tweak that number in the config but i don't see why it needs to be there in the first place.

      I removed a whole bunch of way-points from the stonefort so it sticks to the main path. Would be cool to have a version that just goes straight to the keywarden without fapping about.

      3-13
      21-34M5
      37-39
      42a-42c
      54-55

      A few times now on the A1 keywarden i have had it fail after killing the warden, here's an example.

      [Trinity] [TrinityMoveTo] Started Tag; x="2096.331" y="1500.119" z="0.05657427" name="Bridge end" questId="1" stepId="0" worldId="71150" levelAreaId="72712"
      [KeyRun] ========== KEYWARDEN FOUND ============
      [Trinity] [TrinityMoveTo] tag finished: Within path precision x="2096.331" y="1500.119" z="0.05657427"
      [KeyRun] WARDEN HP: 815545.3
      [KeyRun] ========== KEYWARDEN OUT OF RANGE ============
      [Trinity] Clicking UI element Use Potion (1159792640)
      Profile completed
      Number of games completed: 5

      In A1 at the start i have had two issues now with flip/flop that couldn't be recovered. that area is problematic i think, why not use the way-point in the middle of the target area instead of the graveyard.

      [KeyRun] KeyWarden Assumed Death HP set to 350000
      ToggleTargeting, new values: Looting:True LootRadius:80 Combat:True KillRadius:35
      Using Waypoint Waypoint_Town-113 Number:6
      [Trinity] [TrinityMoveTo] Started Tag; x="2096.331" y="1500.119" z="0.05657427" name="Bridge end" questId="1" stepId="0" worldId="71150" levelAreaId="72712"
      [Trinity] [TrinityMoveTo] tag finished: Within path precision x="2096.331" y="1500.119" z="0.05657427"
      [Trinity] Blacklisting target Tombstone_C_Wilderness_trOut_Wilderness ActorSNO=75023 RActorGUID=2028339272 due to possible stuck/flipflop!
      [Trinity] Blacklisting target Tombstone_C_Wilderness_trOut_Wilderness ActorSNO=75023 RActorGUID=2028339272 due to possible stuck/flipflop!
       
      Last edited: Mar 18, 2014
    6. Nazair

      Nazair New Member

      Joined:
      Jan 5, 2013
      Messages:
      754
      Likes Received:
      0
      Trophy Points:
      0
      And how is he suppose to do that?
      If I recall correctly, keywarden in Act III can spawn at any location in Stonefort - including the lower path near the start as well as upstairs over there.
       
    7. Fuzzied

      Fuzzied Member

      Joined:
      Jun 5, 2013
      Messages:
      299
      Likes Received:
      0
      Trophy Points:
      16
      Thank you for this!
       
    8. Winio

      Winio Member Legendary

      Joined:
      Nov 24, 2013
      Messages:
      78
      Likes Received:
      0
      Trophy Points:
      6
      You are very welcome. Let me know how it works out for you :).

      The problem is that, at least to my knowledge, there is no real "death event" when a mob is killed. Instead what the plugin is trying to do is apply certain heuristics to figure out whether or not the Keywarden is dead. Currently the plugin considers the Keywarden to be dead if his HP is below 350000. This value works rather well for me using a Witch Doctor with 250k DPS in Torment 1. However, depending on your gear and the difficulty you want to farm on, you may have to tweak the value. You can do so within the various profile XML files. Find these lines:

      Code:
      <!-- Set keywarden assumed death hitpoints (the more DPS you do, the higher this number should be)  -->
      <KeyRunSetWardenDeathHP hitpoints="350000"/>
      Just change the numeric value within the quotation marks. This has to be done in all 3 act profiles.

      At least on my runs the Keywarden is located at random places on each map. If there was an easy way to just run straight to it, I am sure someone else would have already done it. It is true that the majority of times the Keywarden will be located on the main path, but I had occasional runs already where it was hidden off the beaten path in Act 3 and I am sure Magi ran into the same issue which is why the Stonefort profile covers the rare locations as well. If you don't mind the bot missing the occasional Keywarden spawn on Stonefort, you can remove the waypoints. If others share your preference, I can remove them from the package as well.

      You need to increase the Keywarden death threshold in that case as your DPS is higher than mine. As explained before, there is no obvious way to figure out whether a mob is dead or not. So the plugin considers a Keywarden to be dead if its HP dropped below a certain threshold. The last time the plugin saw the Keywarden in your specific log it was at 815k HP, which is way above the default threshold of 350k. The next time the plugin code was executed the mob was gone from the actors list, because it either ran out of range or it was killed. Since the plugin can't know which of both is true and the HP the Keywarden was last seen at was below the death treshhold it will assume the Keywarden went out of range and should continue looking for it. You can avoid this from happening by adjusting the death threshold in the profile files. Since you have some attacks, that clearly hit for more than 815k I would suggest you go with a threshold of 900k or maybe 1000k and see if it still happens.

      Because the Keywarden can spawn at the graveyard. The behavior you are experiencing happened to me on various profiles and appears to be a DemonBuddy bug. However, the latest beta version that contains various navigation fixes, fixed it for me. So you may want to give the DemonBuddy Beta 1.1.1718.357 a go :).

      You are correct. However, it is rather rare so I can see why someone may want to skip these locations for the sake of efficiency.
       
      Last edited: Mar 18, 2014
    9. Winio

      Winio Member Legendary

      Joined:
      Nov 24, 2013
      Messages:
      78
      Likes Received:
      0
      Trophy Points:
      6
      Thank you for your kind words and you are very welcome. Please let me know how it is working for you :).
       
    10. xzjv

      xzjv Community Developer

      Joined:
      Mar 17, 2014
      Messages:
      1,243
      Likes Received:
      46
      Trophy Points:
      48
      Hey thanks a lot for the detailed response. I do 1-3 million on occasion, so this makes sense.

      I have another issue that can cause a missed key, on A1 Odeg explodes on death and if it kills you then the script will go to town after reviving (presumably because it no longer detects any items to be picked up within the vicinity). Maybe not something that can be addressed, except by having a character that wont die to the explosion.
       
    11. Kylvan

      Kylvan Member

      Joined:
      Mar 9, 2014
      Messages:
      288
      Likes Received:
      0
      Trophy Points:
      16
      Thanks for your work, possible to skip monsters and go directly to keyholder and after that quit the game and load an other act ? Thanks again !
       
    12. Winio

      Winio Member Legendary

      Joined:
      Nov 24, 2013
      Messages:
      78
      Likes Received:
      0
      Trophy Points:
      6
      My character survives the explosion, so it never happened to me. But I will see what I can do to fix it :).
       
    13. Winio

      Winio Member Legendary

      Joined:
      Nov 24, 2013
      Messages:
      78
      Likes Received:
      0
      Trophy Points:
      6
      Technically it should be possible to set the combat radius to 0 yards and only increase it if the Keywarden is found. I can try to implement it. But no promises.
       
    14. Asuract

      Asuract New Member

      Joined:
      Feb 1, 2012
      Messages:
      11
      Likes Received:
      0
      Trophy Points:
      0
      There is no Keyhunt in the Zip you say load "A1-A3_START_HERE.xml" profile located under "Profiles\KeyHunt". where is that?.
       
    15. Asuract

      Asuract New Member

      Joined:
      Feb 1, 2012
      Messages:
      11
      Likes Received:
      0
      Trophy Points:
      0
    16. Winio

      Winio Member Legendary

      Joined:
      Nov 24, 2013
      Messages:
      78
      Likes Received:
      0
      Trophy Points:
      6
      The plugin is named KeyRun, not KeyHunt. I changed the original post to fix that mistake. Thank you for pointing it out.

      The ZIP file attached to the first post contains the following files:

      Code:
      2014-03-17 22:56        Folder        Folder  Plugins
      2014-03-17 22:57        Folder        Folder  Plugins\KeyRun
      2014-03-18 00:22         31582          6444  Plugins\KeyRun\KeyRun.cs
      2013-05-24 19:32          2604           896  Plugins\KeyRun\KeyRun.csproj
      2013-05-24 18:43           901           349  Plugins\KeyRun\KeyRun.sln
      2014-03-17 23:21        Folder        Folder  Profiles
      2014-03-17 22:56        Folder        Folder  Profiles\KeyHunt
      2014-03-16 15:01           434           286  Profiles\KeyHunt\A1-A3_RELOGGERS_START_HERE.xml
      2014-03-17 15:56           868           432  Profiles\KeyHunt\A1-A3_START_HERE.xml
      2014-03-16 19:50          9707          1967  Profiles\KeyHunt\act1_FieldsofMisery.xml
      2014-03-16 15:01           602           353  Profiles\KeyHunt\act1_start.xml
      2014-03-16 19:50         13986          2354  Profiles\KeyHunt\act2_Oasis.xml
      2014-03-16 15:00           588           351  Profiles\KeyHunt\act2_start.xml
      2014-03-16 15:00           484           301  Profiles\KeyHunt\act3_start.xml
      2014-03-16 19:50         12296          2549  Profiles\KeyHunt\act3_Stonefort.xml
      So it definitely contains the profiles as well as the plugin. Just unpack it to your DemonBuddy directory. Then you will find the profiles under "<DemonBuddy>\Profiles\KeyHunt" and the plugin will be in the correct directory for DemonBuddy to load.

      That is the severely outdated version of the plugin. It will not work with recent DemonBuddy or Diablo versions. Use the plugin contained in the attachment instead.
       
    17. ljs0891

      ljs0891 New Member

      Joined:
      Mar 15, 2014
      Messages:
      4
      Likes Received:
      0
      Trophy Points:
      0
      Wow... a complex profile that can read key amounts and direct the character to go for the least farmed key, now that's far more then what most of these profiles do. Thanks a lot, this works great!
       
    18. Winio

      Winio Member Legendary

      Joined:
      Nov 24, 2013
      Messages:
      78
      Likes Received:
      0
      Trophy Points:
      6
      Magi deserves most of the credit. I merely updated it :). But great to hear it is working well for you.
       
    19. StudMuffin2113

      StudMuffin2113 New Member

      Joined:
      Jun 7, 2012
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      0
      Few things...

      1)Super awesome of you to make this the same exact day that i start playing again... lol ty so much man

      2) Im not very code savy... if i sound stupid please tell me

      THE REAL
      1) Is there any particular reason he goes to the cemetery instead of fields of misery for Act 1? every single time im needing act 1. it TP's to cemetary and gets stuck. i have to manually run across the bridge and it takes over and does everything.. do i have a setting wrong? this is what it says..

      Code:
      ToggleTargeting, new values: Looting:True LootRadius:80 Combat:True KillRadius:35
      Using Waypoint Waypoint_Town-110 Number:6
      [Trinity] [TrinityMoveTo] Started Tag; x="2096.331" y="1500.119" z="0.05657427"  name="Bridge end" questId="1" stepId="0" worldId="71150" levelAreaId="72712"
      [Trinity] [TrinityMoveTo] tag finished: Within path precision x="2096.331" y="1500.119" z="0.05657427" 
      
      2) Idk if its trinity broken or what... But no matter if i set "min group size" to like 10. he attacks all minions while looking for the keywarded.. is there something you can set or change so he just goes running finds the keywarden and kamakazis it checks for a key.. (other loot) of so picks it up and logs.. if not... logs. something super quick and simple like that?
       
      Last edited: Mar 19, 2014
    20. Fuzzied

      Fuzzied Member

      Joined:
      Jun 5, 2013
      Messages:
      299
      Likes Received:
      0
      Trophy Points:
      16
      Just want to say thank you for updating this awesome profile, I used it allot pre 2.0 to farm keys and do ubers.
      Shame they nerfed the uber drops now though.
       

    Share This Page