• Visit Rebornbuddy
  • [Plugin] MapRunner

    Discussion in 'Archives' started by ExVault, Oct 27, 2014.

    Thread Status:
    Not open for further replies.
    1. ExVault

      ExVault Moderator Moderator Buddy Core Dev

      Joined:
      Oct 23, 2013
      Messages:
      748
      Likes Received:
      57
      Trophy Points:
      28
      Use Object Explorer to find a mob bot sticks to. Post info here and Ill make plugin ignore it.
       
    2. thelover

      thelover New Member

      Joined:
      Jul 10, 2012
      Messages:
      42
      Likes Received:
      0
      Trophy Points:
      0
      How do I do so with Object Explorer? I will do it as soon as the league mod is back.
      thank you!
       
    3. Tormiasz

      Tormiasz Community Developer

      Joined:
      Jun 16, 2014
      Messages:
      701
      Likes Received:
      5
      Trophy Points:
      18
      Those mods should be heavly avoided after the mob's death. The bot should not come near the pack of mobs with those mods to pickup/walk by because it's high risk of instant dead. I would add it somehow myself but I'm not yet familiar with the API so I'm asking for your help.

      Code:
      These will cause instant damage after dead (like this: https://www.youtube.com/watch?v=CKDacGmgqJw)
      - [url]http://pathofexile.gamepedia.com/Special:Browse/DexMissionMonsterExplodesOnDeathCold1[/url]
      - [url]http://pathofexile.gamepedia.com/Special:Browse/DexMissionMonsterExplodesOnDeathFire1[/url]
      - [url]http://pathofexile.gamepedia.com/Special:Browse/DexMissionMonsterExplodesOnDeathLightning1[/url]
      
      These will cause damage after some time (like this: [url]https://www.youtube.com/watch?v=8QLPIhzYYPI[/url])
      - [url]http://pathofexile.gamepedia.com/Special:Browse/MonsterBloodlinesBeaconOnDeathCold[/url]
      - [url]http://pathofexile.gamepedia.com/Special:Browse/MonsterBloodlinesBeaconOnDeathFire[/url]
      - [url]http://pathofexile.gamepedia.com/Special:Browse/MonsterBloodlinesBeaconOnDeathLightning[/url]
      
       
    4. ExVault

      ExVault Moderator Moderator Buddy Core Dev

      Joined:
      Oct 23, 2013
      Messages:
      748
      Likes Received:
      57
      Trophy Points:
      28
      Tormiasz
      Making bot "avoid" something (i.e. stand still do nothing until mines explode) is not a trivial task.
      Looting is done by LootItemTask and this task do not care if something dangerous lies near item.
      You should add a task before LootItemTask which will constantly scan game objects for those mines. And here is the most tricky part: when mines are found you should calculate a point where distance to all mines is greater than X. Move to that point and wait until mine objects despawn.
       
    5. darkbluefirefly

      darkbluefirefly Community Developer

      Joined:
      Nov 8, 2013
      Messages:
      1,927
      Likes Received:
      18
      Trophy Points:
      38
      Just get a better build. Problem solved.
       
    6. Tormiasz

      Tormiasz Community Developer

      Joined:
      Jun 16, 2014
      Messages:
      701
      Likes Received:
      5
      Trophy Points:
      18
      So something like this? Wrote in notepad lol

      Code:
      var bot = BotManager.CurrentBot;
      var currentTaskManager = (TaskManager)bot.Execute("GetTaskManager");
      var avoidBearersTask = currentTaskManager.GetTaskByName("AvoidBearers");
      if (!currentTaskManager.TaskList.Contains(avoidBearersTask))
      {
      	var lootItemTask = currentTaskManager.GetTaskByName("LootItemTask");
      	if (lootItemTask != null)
      		currentTaskManager.AddBefore(new AvoidBearersTask(), "LootItemTask");
      }
      

      And the task logic.
      Code:
      var bearermob = LokiPoe.ObjectManager.GetObjectsByType<Monster>().FirstOrDefault(t => LokiPoe.Me.Position.Distance(t) < 30 && t.IsDead && t.HasCurrentAction);
      if (bearermob != null)
      {                    {
      	Log.InfoFormat("[Logic] Running away from {0} corpse", bearermob.Name);
      	Vector2i pos1 = ExilePather.WalkablePositionFor(getPointOnCircle(bearermob.Position.X, bearermob.Position.Y, 45, 40), 40);
      	Vector2i pos2 = ExilePather.WalkablePositionFor(getPointOnCircle(bearermob.Position.X, bearermob.Position.Y, 90, 40), 40);
      	Vector2i pos3 = ExilePather.WalkablePositionFor(getPointOnCircle(bearermob.Position.X, bearermob.Position.Y, 135, 40), 40);
      	Vector2i pos4 = ExilePather.WalkablePositionFor(getPointOnCircle(bearermob.Position.X, bearermob.Position.Y, 180, 40), 40);
      	Vector2i pos5 = ExilePather.WalkablePositionFor(getPointOnCircle(bearermob.Position.X, bearermob.Position.Y, 225, 40), 40);
      	Vector2i pos6 = ExilePather.WalkablePositionFor(getPointOnCircle(bearermob.Position.X, bearermob.Position.Y, 270, 40), 40);
      	Vector2i pos7 = ExilePather.WalkablePositionFor(getPointOnCircle(bearermob.Position.X, bearermob.Position.Y, 315, 40), 40);
      	Vector2i pos8 = ExilePather.WalkablePositionFor(getPointOnCircle(bearermob.Position.X, bearermob.Position.Y, 360, 40), 40);
      
      	Vector2i dodgepos = new Vector2i(9999,9999);
      	if (bearermob.Position.Distance(pos1) > 30)
      		dodgepos = pos1;
      	if (bearermob.Position.Distance(pos2) > 30 && LokiPoe.Me.Position.Distance(pos2) < LokiPoe.Me.Position.Distance(dodgepos))
      		dodgepos = pos2;
      	if (bearermob.Position.Distance(pos3) > 30 && LokiPoe.Me.Position.Distance(pos3) < LokiPoe.Me.Position.Distance(dodgepos))
      		dodgepos = pos3;
      	if (bearermob.Position.Distance(pos4) > 30 && LokiPoe.Me.Position.Distance(pos4) < LokiPoe.Me.Position.Distance(dodgepos))
      		dodgepos = pos4;
      	if (bearermob.Position.Distance(pos5) > 30 && LokiPoe.Me.Position.Distance(pos5) < LokiPoe.Me.Position.Distance(dodgepos))
      		dodgepos = pos5;
      	if (bearermob.Position.Distance(pos6) > 30 && LokiPoe.Me.Position.Distance(pos6) < LokiPoe.Me.Position.Distance(dodgepos))
      		dodgepos = pos6;
      	if (bearermob.Position.Distance(pos7) > 30 && LokiPoe.Me.Position.Distance(pos7) < LokiPoe.Me.Position.Distance(dodgepos))
      		dodgepos = pos7;
      	if (bearermob.Position.Distance(pos8) > 30 && LokiPoe.Me.Position.Distance(pos8) < LokiPoe.Me.Position.Distance(dodgepos))
      		dodgepos = pos8;
      
      	await Coroutines.MoveToLocation(dodgepos, 5, 700)
      }
      
      But i don't know how to check if the mob is casting the bearer skill.


      I don't know which build can stand in 5-10 of those (happened to me).
       
    7. toNyx

      toNyx Well-Known Member

      Joined:
      Oct 29, 2011
      Messages:
      3,770
      Likes Received:
      35
      Trophy Points:
      48
      Any build that can 1 hit packs and ignore those tards. Capped resistances and some dodge% can deal with them easily
       
    8. Tormiasz

      Tormiasz Community Developer

      Joined:
      Jun 16, 2014
      Messages:
      701
      Likes Received:
      5
      Trophy Points:
      18
      Yeah that's why I want to ignore them. Killing is not a problem. The problem only occurs when the bot is running to their bodies for loot. Bot enter the rings, they explode, bot dies. I don't know how many HP you would need to stay in this and how many the gear would cost. That's why everyone is trying to improve the bot. Rather than getting tanky build and do no damage I would improve the bot logic. "Get better build" is not helping with anything at all.
       
    9. StrongBG

      StrongBG Banned

      Joined:
      Mar 13, 2012
      Messages:
      428
      Likes Received:
      0
      Trophy Points:
      16
      Simple solution: instant flasks with 100 ms between use.3 of those can keep you alive from 20 explosions.Ofc capped resi and around 4k hp :).I've never seen my bots to die from those explosions(they are melee)
       
      Last edited: Oct 19, 2015
    10. darkbluefirefly

      darkbluefirefly Community Developer

      Joined:
      Nov 8, 2013
      Messages:
      1,927
      Likes Received:
      18
      Trophy Points:
      38
      See dude, the Issue is.
      Once you start ignoring those mobs, you have to account for where you will move.
      Once it moves there you have to check if one of the avoidable mobs is at your location or near, but before you do that you have to check on your way there, there are none of those mobs.

      For your task, once you add a task in front of the loot task, you have to make sure you remove it or return false so Loot task an execute. If you do things wrong, it won't loot, then you will blame something wrong for not looting.

      For your vectors, you are making way too much overhead, imagine doing those calculations per tick();

      Kinda see what i'm getting at?

      You "Can" code an avoid task, but how long will you spend trying to get it to work "good" vs just getting a better "more bot friendly" build.

      Everything has limitations, work with it or work around it, don't work harder against it.
       
    11. conebuddy

      conebuddy New Member

      Joined:
      Sep 19, 2015
      Messages:
      44
      Likes Received:
      0
      Trophy Points:
      0
      Thats why you get a paypal account via another country.
      use a virtual server connection :D
       
    12. conebuddy

      conebuddy New Member

      Joined:
      Sep 19, 2015
      Messages:
      44
      Likes Received:
      0
      Trophy Points:
      0
      Standard league.

      Max map level 71
      The bot was doing 68-70 maps no problem.
      I had 5 tabs of maps, got down to 3 tabs.
      I didn't remember seeing the bot run any of the 71 lvl maps, but i was like ok... maybe i didn't have many...
      so i raised the limit from 71 to 75...
      The bot went in stash, took a map, went to the device...
      made portals, bot went inside the portal, then bot instantly leaves back to the hideout, repeats.... goes back back into my stash, takes another map....

      so i just wasted around 2 tabs of lvl 71-75 maps....
      any idea on why the bot is doing this?

      Went inside my guild stash, and pulled out a few t1 maps..
      Bot had no problem running them, then when it game to T4 + it just did the same thing. goes in, comes back out, makes a new map...
      really realllyyy sad.

      i even took reflect off my ignore list, thinking maybe there was a bug or something.
      but nope same issue over and over and over again.

      Bot Log below.

      Edit: changed from texas server to DC
      portals open faster, bot starts moving quicker after portals are opened, and the bot isn't just doing the same stupid crap, its actually running the maps now.
      must be a server sided issue thats causing the bot to do such evil things.
       

      Attached Files:

      Last edited: Oct 20, 2015
    13. darkbluefirefly

      darkbluefirefly Community Developer

      Joined:
      Nov 8, 2013
      Messages:
      1,927
      Likes Received:
      18
      Trophy Points:
      38
      Ok, You don't have any portal scrolls in your inventory, but you have a portal gem.
      You need to turn off FillTpScrollStacks, go to Settings => OldGrindBot => Scroll down to "FillTpScrollStacks" and uncheck it. Should stop that recursive portal scroll searching loop.


      Ops Edit - Forgot to mention why this may be happening.
      Mainly it's because you have 0 portal scrolls in your inventory.

      Case 1 - if you did not have a portal gem, what would happen is, you would logout and log back in, indefinitely until you ran out of maps, the bot logs out so it can get to town to withdraw portal scrolls from stash.

      Case 2 - You have your ExplorationCompleteBahaviour[1-5] on use Portal, and the rest Auto. It will default to use Portal to get to town so it can grab portal scrolls from stash.
       
      Last edited: Oct 20, 2015
    14. StrongBG

      StrongBG Banned

      Joined:
      Mar 13, 2012
      Messages:
      428
      Likes Received:
      0
      Trophy Points:
      16
      ExVault can i suggest that you add 1 more map selling option?So the thing is me and my friends are farming only low lvl maps and because of the map selling option having only max lvl selling,we kinda run out of low lvl maps.But without that selling option we are getting stuffed with shit tons of maps(ofc bot runs out of space).So we kinda need an option to sell maps for example 70+ and keep all the low lvls ofc.It would be great if you make it.No more map manual managing will be needed :)

      Edit:We have option to sell ignored maps,can you make an option to sell maps with ignored mods?Those are my suggestions to improve the plugin,ofc if you cant add them its np.MapRunner works great :)
       
      Last edited: Oct 20, 2015
    15. darkbluefirefly

      darkbluefirefly Community Developer

      Joined:
      Nov 8, 2013
      Messages:
      1,927
      Likes Received:
      18
      Trophy Points:
      38
      Buy More stash tabs.
       
    16. StrongBG

      StrongBG Banned

      Joined:
      Mar 13, 2012
      Messages:
      428
      Likes Received:
      0
      Trophy Points:
      16
      What will more stash tabs do?Still won't save the additional managing required.

      P.S. Always love your troll comments :)
       
    17. toNyx

      toNyx Well-Known Member

      Joined:
      Oct 29, 2011
      Messages:
      3,770
      Likes Received:
      35
      Trophy Points:
      48
      GO OUT LAZY FUCKS jk, i'm lazy too. Welcome to ma hud.
       
    18. darkbluefirefly

      darkbluefirefly Community Developer

      Joined:
      Nov 8, 2013
      Messages:
      1,927
      Likes Received:
      18
      Trophy Points:
      38
      Um, that "shouldn't" happen at all
      There are various checks, Can you post a log of this happening?
       
    19. ExVault

      ExVault Moderator Moderator Buddy Core Dev

      Joined:
      Oct 23, 2013
      Messages:
      748
      Likes Received:
      57
      Trophy Points:
      28
      Just set min map amount to something big like 30 or 40.


      Its a rare bug when portals to previous map despawn so long that maprunner thinks they are ones to a newly opened map.
      I will release a fix soon.
       
    20. darlack

      darlack Member

      Joined:
      Mar 3, 2015
      Messages:
      252
      Likes Received:
      0
      Trophy Points:
      16
      i use portal gem and he not allways use it, sometimes he wants use portals scrolls, i think its because cast was canceled
       
    Thread Status:
    Not open for further replies.

    Share This Page