Season 15 and Demonbuddy, working as of 21th September 2018!
  • Visit Rebornbuddy
  • Visit Demonbuddy

[Plugin 3.0] ProfiledAutoPassive

Discussion in 'Archives' started by alcor75, Aug 1, 2015.

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

    alcor75 Community Developer

    Joined:
    Nov 22, 2012
    Messages:
    376
    Likes Received:
    24
    Trophy Points:
    18
    [Plugin 2.0] ProfiledAutoPassive

    Disclaimer
    If you post your build, you must be 100% sure that it is working without error, you must have tested it at least with 1 toon and you must be sure all the points are allocated correctly. Faulty build will upset me alot, and a upset developer, do not develop.

    Hello, this is a little contrib to the community.

    ProfiledAutoPassive

    ProfileAutoPassive.jpg

    This plugin is a modded version of the default AutoPassives Plugin, it has the ability to add/remove and store different profiles.

    To add a profile, simply type the name you want in the profile select box, and click Add Profile.

    To remove a profile, simply select it from the drop pox, and click Remove Profile.

    To select a profile, simply select it from the drop down box.

    To edit a profile, simply select it from the drop down box, Select the "Add Node" option, then open the passive tree in Poe client, now each time you place the arrow over a passive point, and press "Alt+Shift+A" that point get Dumped by EB and tnx to pushedx brain it get recorded in the profile. (you can keep "Alt+Shift" Hold, move the cursor and press "A" and so on until all the tree is filled). Or edit it like you used to do with AutoPassive.

    Once done editing the profile, i strongly advice you to remove the "Add Node" option, this way, if you later press the "Alt+Shift+A" hotkey to browse a point or collect info for some reason, the point do not get added to the profile, otherwise every time you press the "Alt+Shift+A" hotkey the point you are looking at is added to whatever profile is selected.

    You can now Export a profile to a file (you select where to export once you press the "Export" button). A file NameYouSelected.json is created and it contain the list of ID composing the build.

    You can now Import a profile from a file. the profile is added to your profile list. If the profile name (the file name without extension) is already in your list, you are prompted to select a different name.

    There is a special Option to Automatically load the first profile that match the loaded player class.. it do exactly that, feel free to ask questions.

    Can we share Builds?
    Use the Export/Import Button.

    So this is all we need to share, i hope to see some cool build coming, it would be great if you add the link with info about the build when you share a profile.

    ChangeLog:
    Ver. 0.3.0.1
    Compatible with EB 3
    V 0.0.2.3:
    Reactivate the plugin since Eb has support for passive again.

    V 0.0.2.2:
    Fixed a bug that were executing a task while not in game.
     
    Last edited: Aug 23, 2017
    flairdevil likes this.
  2. krone6

    krone6 Member

    Joined:
    Jun 11, 2012
    Messages:
    441
    Likes Received:
    0
    Trophy Points:
    16
    Thanks for creating this. Now when the leveling plugin is working we can really take advantage of this profile.
     
  3. Opkhilus

    Opkhilus New Member

    Joined:
    Jan 26, 2013
    Messages:
    17
    Likes Received:
    0
    Trophy Points:
    0
    thanks ! Gonna be useful for new start :)
     
  4. alcor75

    alcor75 Community Developer

    Joined:
    Nov 22, 2012
    Messages:
    376
    Likes Received:
    24
    Trophy Points:
    18
    Soon(tm) to be posted a very cool update for this.. let you add id while you dump your build.. you will see.
     
  5. Opkhilus

    Opkhilus New Member

    Joined:
    Jan 26, 2013
    Messages:
    17
    Likes Received:
    0
    Trophy Points:
    0
    Oh really !!! It would be such an easy way to enter the build :)
     
  6. thisoneguy

    thisoneguy New Member

    Joined:
    Sep 2, 2015
    Messages:
    25
    Likes Received:
    0
    Trophy Points:
    1
    I cannot for the life of me remember how to get the ID's for each passive node.
     
  7. toNyx

    toNyx Well-Known Member

    Joined:
    Oct 29, 2011
    Messages:
    3,783
    Likes Received:
    35
    Trophy Points:
    48
    AltShiftA
     
  8. alcor75

    alcor75 Community Developer

    Joined:
    Nov 22, 2012
    Messages:
    376
    Likes Received:
    24
    Trophy Points:
    18
    The plugin is been update with the ability to add points directly from the Poe client passive tree, place the mouse pointer over a point and press "Alt+Shift+A".
    Added also the ability to Export and Import profiles to and from files, this make it more easy to share Builds.

    Let me start with my favorites build:
    Marauder RF Incinerator

    View attachment Marauder_Inc.zip

    I really hope to see some cool build, since i spent alot of my free-time to give you this tool..for free.

    Enjoy.
     
  9. Opkhilus

    Opkhilus New Member

    Joined:
    Jan 26, 2013
    Messages:
    17
    Likes Received:
    0
    Trophy Points:
    0
    Yeahh :) Thanks for this great plugin !

    Have made my own whitout loosing my eyes and mine mind trying to catch up numbers whitout error :)
    I haven't noticed error while I was creating it ... every clic seems to be added correctly, however, I've not try to use it so it might be errors .. (I should have missclicked or forgot a passive).

    So here it is :
    Ranger_Tornado_Shot

    and the magic files :


    EDIT : So, I will test further and post-it when it will be ready :)
     
    Last edited: Oct 21, 2015
  10. alcor75

    alcor75 Community Developer

    Joined:
    Nov 22, 2012
    Messages:
    376
    Likes Received:
    24
    Trophy Points:
    18
    This is not the way to go, friend, if you post a untested build and i try it and i end with error, it will be a hell to find the messed point and correct it, and i'll probably get upset.

    Quality of Service is what i try to keep up with (not that i always success), but it cost me time, lots of time, and i Pretend the same from those posting builds.

    A untested build is totally useless, do you want other to test and correct your build for you?

    I can post 100 builds within the next hour, creating them Brainless, and drive you believe they are working and i'm a pro, and in few hours the whole topic will rain with "This don't work that don't work" and we will end with 90 pages of flames! i say no, tnx you.

    I pretend you to post Only tested builds, what i usually do is craft a build with 60/65 points (enough to get far in merciless) and test it (1,2..maybe even 3 days and it should be there), and then post it, there is no need to craft a 100 points build that you will newer really test.

    Again, i don't want to discourage anyone, but really i don't want to encourage faulty builds, this tool is to save time, not to spend more time testing your shit.

    Pls, no offense to anyone, but again this is fruit of my FREE WORK, if i do my best to offer you Quality, you should at least pay me back with the same cash.

    /bow
     
  11. testeree123

    testeree123 New Member

    Joined:
    Apr 17, 2015
    Messages:
    34
    Likes Received:
    0
    Trophy Points:
    0
    thanks for your hard work alcor75 great plugin
     
  12. gdub87

    gdub87 Member

    Joined:
    Nov 9, 2015
    Messages:
    76
    Likes Received:
    0
    Trophy Points:
    6
    Hey alcor, any idea why I'm getting this error:

    2015-11-29 20:07:00,047 [7] DEBUG CustomLogger (null) - [StuckDetection] {666, 968} => 3
    2015-11-29 20:07:00,047 [7] DEBUG CustomLogger (null) - [StuckDetection] {666, 971} => 2
    2015-11-29 20:07:00,047 [7] DEBUG CustomLogger (null) - [StuckDetection] {666, 966} => 7
    2015-11-29 20:07:00,048 [7] DEBUG CustomLogger (null) - [StuckDetection] {666, 973} => 2
    2015-11-29 20:07:00,048 [7] DEBUG CustomLogger (null) - [StuckDetection] {666, 975} => 3
    2015-11-29 20:07:00,048 [7] DEBUG CustomLogger (null) - [StuckDetection] {666, 970} => 2
    2015-11-29 20:07:00,049 [7] DEBUG CustomLogger (null) - [StuckDetection] bounds: {3, 18}
    2015-11-29 20:07:00,049 [7] INFO CustomLogger (null) - [StuckDetection] The bounds threshold trigger has been actived. We are most likely stuck.
    2015-11-29 20:07:00,049 [7] DEBUG CustomLogger (null) - [StuckDetection] TimeInInstance: 00:02:45.4783844
    2015-11-29 20:07:00,049 [7] DEBUG CustomLogger (null) - [StuckDetection] TimeInArea: 00:02:45.4785587
    2015-11-29 20:07:00,140 [7] INFO CustomLogger (null) - [SetNewInstanceOverride] 1_3_1 = True
    2015-11-29 20:07:00,141 [7] DEBUG CustomLogger (null) - [ActivateEscapeState] !IsEscapeStateActive. Attempting to open it.
    2015-11-29 20:07:01,366 [7] ERROR CustomLogger (null) - [Tick] Exception during execution:
    Buddy.Coroutines.CoroutineUnhandledException: Exception was thrown by coroutine ---> System.Exception: Only part of a ReadProcessMemory or WriteProcessMemory request was completed, at addr: 00000000, Size: 644
    at GreyMagic.ExternalProcessMemory.ReadByteBuffer(IntPtr addr, Void* buffer, Int32 count)
    at GreyMagic.MemoryBase.Read[T](IntPtr addr)
    at Loki.Game.LokiPoe.?????????????????????????????????????????.get_Ui()
    at Loki.Game.LokiPoe.InGameState.get_UiMain()
    at Loki.Game.LokiPoe.InGameState.SkillsPanel.get_IsOpened()
    at ProfiledAutoPassives.AssignPassivesTask.<Logic>d__2.MoveNext() in c:\#INSTALL\POE\EB\EOB CommandBeta\Plugins\ProfiledAutoPassives\AssignPassivesTask.cs:line 54
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Loki.Bot.TaskManager.X(xdtTx!-`vWe:\[^H(996GA1.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
    at ProfiledAutoPassives.ProfiledAutoPassives.<Logic>d__2.MoveNext() in c:\#INSTALL\POE\EB\EOB CommandBeta\Plugins\ProfiledAutoPassives\ProfiledAutoPassives.cs:line 162
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.PyfNDB#VEO9S9Kndjg( v\.Aq).MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at Buddy.Coroutines.Coroutine.q{tfQsj\*:UVO/\]yc~e#P\&2b`.up}0^6>{}T_V|ZF!_"V1?_\*r!.MoveNext()
    --- End of inner exception stack trace ---
    at Buddy.Coroutines.Coroutine.?????????????????????????????????????????(Boolean )
    at Buddy.Coroutines.Coroutine.?????????????????????????????????????????(Boolean )
    at Buddy.Coroutines.Coroutine.Resume()
    at Loki.Bot.Logic.Bots.OldGrindBot.OldGrindBot.Tick()
    at Loki.Bot.BotManager.?????????????????????????????????????????(IBot )

    I'll post the whole log if you need me too**, but it appears that whenever stuck detection triggers something is hanging it up -- I saw it mentioned the autopassives routine and wasnt sure if it was part of the issue.

    If this is in the wrong place, sorry. Figure'd I'd ask you first since it mentioned the profiled passives routine only.

    Thanks!
     
  13. alcor75

    alcor75 Community Developer

    Joined:
    Nov 22, 2012
    Messages:
    376
    Likes Received:
    24
    Trophy Points:
    18
    [ActivateEscapeState] !IsEscapeStateActive. Attempting to open it.

    This indicate that Stuck detection triggered and you probably went to char select screen, the error after indicate that the Passive routine tried to execute while not ingame, so i assume i forgot a .IsInGame somewhere.
    I'll fix it asap, tnx for the report, in the meantime, that should not harm you in any way, if not corrupting your log with my error spam :)
     
  14. gdub87

    gdub87 Member

    Joined:
    Nov 9, 2015
    Messages:
    76
    Likes Received:
    0
    Trophy Points:
    6
    Thanks! :)

    Awesome plugin btw, should absolutely be part of the bot!
     
  15. alcor75

    alcor75 Community Developer

    Joined:
    Nov 22, 2012
    Messages:
    376
    Likes Received:
    24
    Trophy Points:
    18
    While i was updating stufs for Talisman, idecided to fix this bug, pls re-download and see if it is gone.

    /bow
     
  16. bob2004

    bob2004 New Member

    Joined:
    Mar 22, 2015
    Messages:
    12
    Likes Received:
    0
    Trophy Points:
    0
    Thank you for the update, I'll try to post an srs build as soon as I'm done testing it.
     
  17. Notmyreal

    Notmyreal Member

    Joined:
    Apr 22, 2014
    Messages:
    62
    Likes Received:
    0
    Trophy Points:
    6
    Hi alcor, at first i want to thank you for the nice plugin. I have a problem importing the TornadoShot Ranger mentioned in the main post and get this error:

    Code:
    [Application_DispatcherUnhandledException] Unhandled exceptionNewtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.ObjectModel.ObservableCollection`1[ProfiledAutoPassives.Passive]' because the type requires a JSON array (e.g. [1,2,3]) to deserialize correctly.
    To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.
    Path 'name', line 3, position 8.
       at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
       at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
       at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
       at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
       at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
       at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
       at ProfiledAutoPassives.Functions.Helper.Load() in c:\Users\""\Desktop\SomeSortOfFolder\ test\Plugins\ProfiledAutoPassives\Functions\Helper.cs:line 118
       at ProfiledAutoPassives.Gui.Import_Profile_Click(Object sender, RoutedEventArgs e) in c:\Users\""\Desktop\SomeSortOfFolder\test\Plugins\ProfiledAutoPassives\Gui.xaml.cs:line 151
       at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
       at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
       at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
       at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
       at System.Windows.Controls.Primitives.ButtonBase.OnClick()
       at System.Windows.Controls.Button.OnClick()
       at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
       at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
       at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
       at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
       at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
       at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
       at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
       at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
       at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
       at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
       at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
       at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
       at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
       at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
       at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
       at System.Windows.Input.InputManager.ProcessStagingArea()
       at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
       at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
       at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
       at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
       at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
       at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
    
    this website says that the json is valid https://jsonformatter.curiousconcept.com/

    //edit got it. had to remove everything before "[" at the top and everything behind "]" at the bottom
     
    Last edited: Dec 19, 2015
  18. alcor75

    alcor75 Community Developer

    Joined:
    Nov 22, 2012
    Messages:
    376
    Likes Received:
    24
    Trophy Points:
    18
    Gland you made it bro
     
  19. Nyynuh

    Nyynuh New Member

    Joined:
    Aug 19, 2015
    Messages:
    82
    Likes Received:
    1
    Trophy Points:
    0
    Thanks for sharing this up, man. Appreciate that.
     
  20. dynastyo

    dynastyo Member

    Joined:
    Sep 15, 2015
    Messages:
    61
    Likes Received:
    1
    Trophy Points:
    8
    awesome plugin! thanks man

    sadly i cant use Export option (nothing happens when i click on button)
    and my list was gone after a restart of exilebuddy :(

    any clue what im doing wrong? i feel so noob oO
     
Thread Status:
Not open for further replies.

Share This Page