• Visit Rebornbuddy
  • Gear Swapper

    Discussion in 'Archives' started by gdub87, Nov 25, 2015.

    1. gdub87

      gdub87 Member

      Joined:
      Nov 9, 2015
      Messages:
      76
      Likes Received:
      0
      Trophy Points:
      6
      Alright, I know this plugin is like the most secretly-guarded holy-grail plugin, but it really cant be that difficult to make, can it? I'd like to start learning how to create something basic for this, even if it only swaps out your weapon. Before I spend countless hours trying to learn this, could someone with plugin-creation knowledge let me know if the below ideas are possible?

      1. Plugin evaluates all RARE weapons after each run (2h/1h/whatever specified) for > DPS than current
      2. Plugin replaces current weapon with > DPS weapon
      3. Rinse, repeat
      4. Keep gems in boots or whatever, so they never get swapped, and eventually plugin evaluates other slots (armor,ring,etc.) for X attributes (itemlevel,armor,+#life,etc.)

      I want to believe the reason nobody has released this yet is because:
      a) most people are too lazy to code, and;
      b) the ones who aren't don't want to share this one.

      Or am I missing something fundamental to the bot, which would make this process extremely difficult?

      Thanks in advance!
       
    2. joka666

      joka666 Member

      Joined:
      Apr 12, 2014
      Messages:
      359
      Likes Received:
      2
      Trophy Points:
      18
      lol I like this post

      I am back into the "buddy" scene after about a year away, ditched D3 and looking at some PoE but the Exilbuddy doesn't seem to have the same flexibility as demonbuddy (or am I wrong)

      Maybe it is something to do with the way loot works in PoE ???
       
    3. toNyx

      toNyx Well-Known Member

      Joined:
      Oct 29, 2011
      Messages:
      3,770
      Likes Received:
      35
      Trophy Points:
      48
      Yes, its possible, tho it'll require more than a "beginner code skillcap" :) you touch to an advanced thing of the bot, and your head will burn before you'll be able to figure out few things and you might give up.
       
    4. gdub87

      gdub87 Member

      Joined:
      Nov 9, 2015
      Messages:
      76
      Likes Received:
      0
      Trophy Points:
      6
      Quite probable, but I can't imagine this being more difficult to do than DBF's Quest Plugin, or your Advanced Item Filter. Again, this is only a guess since the last time I did any programming was a VB class in high school :p But I'll give it a whirl when I have the time, and hopefully can create at least something basic.

      This is definitely a plugin that the bot needs for full potential, especially with all the bans. It's a shame nobody will post their work on it here. I for one am very grateful for all of the work many of you have contributed to the bot, from the top down to the small plugins. I think it's time this one is released though, and hopefully we (the have-nots :p) can collaborate on how to make this work.

      On a side note, have you attempted this Tony? I'm sure you have one working right now:) But that is to be expected -- you can't share all of your treasures with freeloaders like myself!
       
      Last edited: Nov 25, 2015
    5. Tormiasz

      Tormiasz Community Developer

      Joined:
      Jun 16, 2014
      Messages:
      701
      Likes Received:
      5
      Trophy Points:
      18
      Unless you are going to make dozens of accounts at once every few days it's not profitable to spend time coding such a thing.
       
    6. toNyx

      toNyx Well-Known Member

      Joined:
      Oct 29, 2011
      Messages:
      3,770
      Likes Received:
      35
      Trophy Points:
      48
      What you'll need to consider is a way to "Score" items, basically what need to do is :

      - Preset what stats you're looking for. (+X maxlife etc etc.)
      - Find the related StatTypeGGG for those.
      - Parse stats from Item.Stats
      - Give them a "Weight/Score" value for each, then calculate the score.

      This is the easy part, the dark side of it are the gems :)

      And no I don't have that kind of tool, but I already thought about it (im not a "young" botter) It's doable, but depending on the user's devskill the time it would take could be different.
      The way PoE works in terms of gear (stats mostly) needs a very huge brainstorm before attempting/approaching that kind of project, it's not like in D3/WoW (Hey, it's an int/dex/str gear? its for us, parse 2 stats and we're done) Items can have 6+ stats and it becomes pretty stupid.

      The idea is to give priority to armor/ES/Evasion, if items on ground matches those criteria, drop them, if needed identify them, score them, score actual piece of gear in ivnentory, if score is higher for dropped item verify the socketed gems, if they can be replaced then you can consider equipping.

      There might be some things that comes unhandy in the process, but I let you discover the joy of debugging ;D
       
    7. gdub87

      gdub87 Member

      Joined:
      Nov 9, 2015
      Messages:
      76
      Likes Received:
      0
      Trophy Points:
      6
      Sounds good, thanks for the info Tony! I've started reading back up on C++, it's been a while. This won't be a short term project, but I wanted to get back into it anyway -- I never really spent the time on it I wanted to when I was younger.

      But back to the topic.

      Gems would be a non-issue at first, as I would just leave them in boots or gloves and not ever swap that item. This plugin would really be to coincide with the QuestPlugin, and get you through cruel maybe. All you would really need for a bare-bones, mostly hands off grind to Merci would be to swap:
      -Weapon - strictly DPS
      -chest - Armor/Ev/ES whatever (strictly at first)
      -flasks - shouldnt be too hard to check this
      -rings? Iron till late norm, then res. Probably not absolutely necessary though.

      And that's it. You'd still probably die a lot, but you'd get through norm for sure with just weapon and probably flasks, chest would be bonus. The only thing would be to throw your starting gem into some boots and let it rip.

      This of course would only be for melee builds, focusing on single target, and probably 2h for ease.


      And to reply to Tormiasz: this would be extremely helpful for people who don't want to spend the time sitting at the computer babysitting the bot. While it is a work of art, grinding is still time consuming, and something like this (even just swapping out flasks and a 2h weapon) would save considerable time (while i'm at work :p)
       
      Last edited: Nov 26, 2015
    8. Tormiasz

      Tormiasz Community Developer

      Joined:
      Jun 16, 2014
      Messages:
      701
      Likes Received:
      5
      Trophy Points:
      18
      The only pain in the ass I see in this project is moving gems. What if you'll find super ultra hiper dps weapon if it won't fit your requirements with sockets? You sell it or jew/fus until you'll get needed values. The first one is simple, but you could waste a lot of nice items. The second one will be time consuming to write properly and fix all the bugs.
       
    9. gdub87

      gdub87 Member

      Joined:
      Nov 9, 2015
      Messages:
      76
      Likes Received:
      0
      Trophy Points:
      6
      But again, just keep your gems in some 4L boots, not in your weapon. Then it wouldnt matter if your higher DPS weapon had 1 socket or 6, because you aren't putting gems in your weapon.

      Then just never swap out the boots. This is a quick and easy way to get things going -- don't even mess with the gems.
       
    10. Tormiasz

      Tormiasz Community Developer

      Joined:
      Jun 16, 2014
      Messages:
      701
      Likes Received:
      5
      Trophy Points:
      18
      So you are going the easy way :)
       
    11. gdub87

      gdub87 Member

      Joined:
      Nov 9, 2015
      Messages:
      76
      Likes Received:
      0
      Trophy Points:
      6
      Well, like I said, I'm a ways away from even starting this endeavor:p

      But yes, I would start the "easy way" for early builds. Just something to get going.
       
    12. DocBrown

      DocBrown Member

      Joined:
      Mar 24, 2015
      Messages:
      362
      Likes Received:
      11
      Trophy Points:
      18
      i think i would make it that it just uses health items, res and for weapons it will be an option for spell damage or dps. Thats all you would really need for basic leveling, passives and high levels will take you the rest of the way
       
    13. botelho

      botelho Member

      Joined:
      Nov 13, 2013
      Messages:
      279
      Likes Received:
      12
      Trophy Points:
      18
    14. breznak

      breznak New Member

      Joined:
      Jan 10, 2016
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      1
      Im currently coding my "GearBot". It will probably do everything you mentioned. Im also planning to implement a GemSwitch feature which will switch the gems into other gearpieces with the same links if possible and stash the items in a special way if you cant equip it,... and so on.

      Im in finals currently and won't have much time until April. After I started to code that thing I noticed exactly what TonyX said,... this is a really huge project. Although I already have a algorithm to evaluate the score of fresh found rares for example (only for my basic spec, it should be easy to implement every spec in terms of different prefered attributes on gear.), im not feeling that I will be able to release that in near future.

      The hard thing in my eyes is to find a proper way to execute the gem and item switch. You have to check so many different and internly dependent conditions that you just can't put 20x if(). You need a really well structured Logic.

      The biggest problem is that the documentation of the api is not fully up to date (maybe im just to stupid to find the right place to look). If you start to code sth like that you will waste so much time to search for the methods you need unless you are a expert in Loki.

      Edit: Well, last post on 09.01,... dunno why it was subscribed automaticly, sorry for reviving that.
       
      Last edited: Jan 19, 2016
    15. gdub87

      gdub87 Member

      Joined:
      Nov 9, 2015
      Messages:
      76
      Likes Received:
      0
      Trophy Points:
      6
      Hey breznak,

      I haven't had any time at all to put into this. My level of coding knowledge is pretty low, so I wasn't expecting to have anything anytime soon.

      Anyway, if you forgot about the gem swapper in the beginning and just tried to have the plugin swap only the main weapon (maybe just start with generic 2h) based on pdps alone, would the task be more manageable? Like I said previously, this really would only be needed for the first 40 levels of grinding really, and with melee chars the main weapon is the most important thing.

      I would think writing a plugin to just eval all generic 2h weapons for pdps and swap accordingly wouldn't be too hard -- but again, I'm not that knowledgeable. I understand that the gem part would be tough, but if you just leave the main gems needed to grind up to say, lv 40, in your boots, and never had the bot swap the boots, then a functional tool would be available.

      I imagine it would be the same to then have the bot look strictly for armor/res in helm/chest and gloves. etc, etc. But mainly the main weapon would be the goal at first imo.
       
    16. toNyx

      toNyx Well-Known Member

      Joined:
      Oct 29, 2011
      Messages:
      3,770
      Likes Received:
      35
      Trophy Points:
      48
      Weightings & score calc is all you need for a decent equipper.
      magic happens when you start with that idea
       
    17. breznak

      breznak New Member

      Joined:
      Jan 10, 2016
      Messages:
      16
      Likes Received:
      0
      Trophy Points:
      1
      i'll definetly start with that part. would be nice to know if someone already knows how to build the stuff around the score().


      Hey man,

      Youre right. This came into my mind already. But I think only swapping the main weapon considering nothing but dps is something everybody could do if he need it. What I look for is a plugin which takes your input (xml file f.e.) and scores exactly how you want it to (locking items with important gems in it,swap only weapon, swap only.... and so on). This would be fairly easy to use for everybody who knows what his class needs. Using that it should be enough to at least level to 50 using self found stuff. This will take ofcourse longer then the normal babysitting leveling process but is less time consuming and far less stressful.
      Im also not that skilled in coding, but I think I can do that with enough effort. I just dont like to leech everything the dev's are coding without contributing myself.
       
    18. toNyx

      toNyx Well-Known Member

      Joined:
      Oct 29, 2011
      Messages:
      3,770
      Likes Received:
      35
      Trophy Points:
      48
      Ok so, basically, scoring is easy.

      In a weighting file you'll give a base score per unit to useful stats (commonly used like AS%, phys%, flat phys... whatever)

      e.g.

      Code:
      BaseMaximumLife, 5
      BaseAttackSpeedPosPct, 1
      ...
      this file will be used for scoring ofc,

      but before you'll have to setup few things :

      1) Score for item type (2H axe, 1H Axe + Shield, Armor-based Helmet...)
      2) Score for the base damage type (if it has elemental dmg, phys, whatever)

      After that, you'll manage to pull out a score based on :

      Code:
      ItemType weighting + base damage weighting + (each stat value * weighting)
      This will give you a score.
      This is not the only thing you should consider, score has a decent check value but you also need to check sockets, links, pre-swap linked gems... (maybe some things I forgot by head)

      That's a good base to start with :)
       

    Share This Page