Jump to content

Zer0

Elite user
  • Posts

    213
  • Joined

  • Last visited

Posts posted by Zer0

  1. The first video is perfectly showcasing the biggest issue I have with wRobot paid profiles: the missing mob IDs. Because the "Attack before being attacked" option doesn't work properly, it makes those profiles a nightmare.

    Imagine you make a grinding path with mobs along the way, and you add them all to the profile. The bot runs around and kills everything around, one by one. All good. Then a user contacts you and say "I'm playing a warrior and those scorpids which disarm you on the path are too hard to kill, fix it". What do you do? Well, one of the big vendor here just removes the mob ID from the profile. Then what happens? Sure you don't engage those mobs anymore, now, instead, you just run straight into their face while pulling other mobs. And when I reported the issue, the vendor told me he wouldn't fix it, because "it's much better like that" and "his profiles has leveled HUNDREDS (yeah, right) of characters without problem", basically putting the blame on me. And that's not even mentioning the enemy packs, the failure to take a zep, to go to Outlands etc...

    How is that even tolerated?

  2. Agreed. The profile ratings are very unreliable. I expected high quality/support from a 5 star vendor, and got none of that. I couldn't believe the amount of praise the seller had, considering my mediocre experience. Not sure what's happening there.

    What also bothered my when I started using wRobot is that there is no basic Fight Classes to start off with. Which is something I didn't know beforehand. Glider used to come packed up with a basic fight class for every single class. They were not advanced, obviously, but they did the job. I'm botting on TBC and I couldn't find a single frost mage class that was not paid. I ended up creating my own, but... I shouldn't have to do that.

    To be honest, I thought I was the only one who had complaints here, although I kept it private, but reading through this thread and other, I realize that there is a problem with the community.

    As @Marsbar said, "If there was more competition the requirement for quality profiles would be higher." which is very accurate. So I'm hoping we can somehow turn the tide and create actual competition in the future. Again, I believe pay-what-you-want/donations would move wRobot forward with much higher quality, but that requires we move on from the greedy state of mind of creators and rely on cooperation, instead of competition.

  3. I'm all in favor of the community putting effort into bettering wRobot. An in-depth documentation would be awesome. But re-writing the API? That wouldn't be a good idea. And that comes from a perspective of a new creator that has pretty much nothing to remake. Also the crowdfunding part is unrealistic. I can tell you right off the bat that you'll never gather enough money to fund competent devs into working on such a complex and time-consuming project.

    I believe it's Gandhi who said "Be the change you want to see in the world". If you want something done. Do it yourself, and hopefully inspire people to join you.

  4. 15 hours ago, Findeh said:

    P.S. Payd stuff solves alot of problems, not all of them, but a lot. I'm agreed with :"i should know what am i buying". Payd stuff should have detailed description,  but you also should remember that there will be problems that are still not solved anyway.

    P.P.S Most of developers (actually all of them, except for those that have not logged in for year) are gladly communicate and fixing the bugs. They are also helping you to understand even basic concepts if you are complete noob, that is definitely not theyr job, but they do it anyway. Try it if you're stuck with their product.

    I don't know man, my experience has been a bit different from that. I've had glaring issues with a big grinding profile. I've reported bugs (things that I KNOW can be fixed) to a dedicated channel and I was just met with disbelief. It was a bit disheartening to realize that nothing would be fixed.

    Reporting bugs is part of my real job, and I know much too well that if you can't put your ego aside when a report comes in, you're in for a bad time. I understand the frustration for big vendors. Maintaining all those profiles sounds like a nightmare, and a lot of users probably don't know what they're doing, but it seems, sometimes, vendors are quick to put the blame on the buyers, too.

  5. 17 minutes ago, calmwhiteguy said:

    I tweaked a bunch of stuff over the past couple of hours again and with Anduido's questing profile, Matenias Humanizer, and Matenias combat rogue fightclass it's running fine right now. I'm still running into packs of mobs depending on the grinder. Having it set to 90% regen minimum is basically a requirement so I'm spending a huge amount on food just because the fightclass isn't able to keep up with energy regen for attacks making combat last forever.

    As it stands like $75 in and the bot is good enough for me to have to watch it constantly. I know Honorbuddy is different and had a paid staff however glider was pretty consistent in letting me go to work and just leave it on IN BLIZZARD servers...

    If it's the first character you level up on the server, it will be hassle at first because of the lack of gold. On early expansions, it's not uncommon for some classes to eat/drink every 2 fights, especially if you're undergeared. Once you start racking up a lot of gold, you can have your next level 1s start with big bags and a big stack of gold. At this point, it won't matter if your toon buys 1 or 100 stacks of food/drinks.

    I'd advise you start leveling with an easier class, like a hunter. If you're playing on TBC, I can provide you with a free fight class.

  6. 7 hours ago, tonycali said:

    Post an overwolf recording of stream of your toon in game can mask name but i just want to see cause your settings or lack of  good fight class / plugins or settings is obvious

    This.

    There is a problem with your setup. Provide us with some footage so we can help you sort it out.

  7. 45 minutes ago, The Smokie. said:

    I think this fourm post is kinda getting out of hand, (no disrespect to anyone.) @Droidz or @BetterSister can we have this thread locked?

    Please don't. It's obviously not a very healthy conversation, but it's raising valid points all around and i'm interested in hearing them. If controversial threads are instantly hammered down, then that means there is no possible conversation.

  8. I understand your frustration, although my experience hasn't been as bad as yours. It's underwhelming at first, but you can still have a decently running bot with some patience and elbow grease. If you die 10 times per hour on a low level char, then there might be something wrong other than the FC or profile. If you need help setting up your bot, feel free to shoot me a PM. I'm pretty new to wRobot but I was still able to fully level 2 chars. I now know what works and what doesn't and yes, sometimes you have to manually take over in order to bridge the gap or code your own stuff.

    It's just things that newcomers don't know before buying the product. There are flaws, a lack of documentation and there's pretty much no quality control over third-party elements. Things obviously break, deprecate update after update and are sometimes poorly maintained or straight up abandoned. Once you've made peace with it, you do with what you have because there's no alternative. Hopefully you can turn your frustration into lines of code to share with the community. That's what I do. Even if it's nothing big, even if it's not perfect, it slowly helps us all move forward.

    I believe a good overall solution would be a "pay-what-you-want" system which would reward reliable and competent sellers while at the same time releasing the customer service pressure off their shoulder, but that would mean a decrease of revenue for them, so that won't happen.

    9 hours ago, Matenia said:

    If you think I'm going to release fightclasses I've spent 30-100 hours on each (not to mention all the time that went into the framework, which is a lot more advanced for TBC and WotLK) for free, so someone asshole who isn't capable of writing their own can call them shit tier coding because they aren't willing to shell out 6.50 (of which I get less than 5 bucks after taxes and fees), you're delusional. 

    The amount of support I have to give for people who don't  even understand that my fightclass doesn't decide when and whom the bot picks a fight but handles the rotation when the bot engages combat, can't follow the instructions to enter the order id, don't set up wRobot's regen settings properly and blame the fightclass for not eating, etc alone is already hardly worth the 5 bucks for all the frustration I have to deal with.

    What Matenia said right here is pretty telling. Everyone seems frustrated, from vendor to buyer. Incompetent buyers are infuriated because they put money into what they think is a magical out-of-the-box solution, only to be disappointed, competent buyers are angry because they're assumed to be incompetent, and sellers become tired and jaded of it all. There's toxicity within the community, and money has everything to do with it. That's just my 2 cents.

  9. Honestly, I'm with you on that one. I remember back in the glider days, everything apart from Glider was free and the forum was full of surprisingly good profiles/FCs. I leveled a lot of characters on the retail server without much issues. Now I'm back to botting with wRobot and it's a whole different world. wRobot itself is a pretty impressive beast, but you have to put quite a bit of money in profiles/FCs/Plugins to have a somewhat decent botting experience and even then, there are glaring issues and lots of tweaking required.

    If you play an early expansion, almost nothing's free. I couldn't even find Fight Classes at all for my chars. I've resorted to creating my own (which I'll release soon). 
    Also I don't like the "if you're not happy, try making a profile yourself and you'll see" argument. I know how insanely hard it is to make a quester profile, and I'm even ready to be a "beta tester", despite paying for a supposedly finished product. But please, just stop advertising your 1-X profile it as "THE ONLY TRUE 100% AFK PROFILE", cause it's never true, and be ready to fix the bugs that people report. 
    It's really bad for the community growth when new wRobot users get baited into thinking the profiles do exactly what they advertise and feel robbed when they don't.

    On the bright side, wRobot is cheap and offers lots of options. It's just... the botting community is not much of a community anymore, it's mostly people trying to make money off of it, and some of them went too far. There are still cool people around trying to help for free and hopefully a few can lead by example. If you can code a bit, and if you enjoy botting, be one of them.

  10. Yep. The more I dive into the bottom of the code, the more I realize I would indeed have to hack the original behavior pretty hard, which is not really my intention, mainly for maintenance reasons. I guess I'll leave it at that and focus on other things for now. Thanks again for your help.

  11. Hah, pretty counter-intuitive, but smart ?. Unfortunately the problem is the same. The bot doesn't even seem to check if other states should be running and just keeps walking, even though my RadarFight state does indeed need to run (I'm checking in the log right on enemy detection).

  12. I think it is linked to this piece of code in the NeedToRun() method of the ToTown state:

    
    if (!wManager.Wow.Helpers.Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause || wManager.Wow.Helpers.Conditions.IsAttackedAndCannotIgnore)
    {
    	return false;
    }

    So I need to work my way around that. Anyway, I shot a message to Droidz. Thanks for your insight.

  13. I've managed to add my own state properly and it's working well in normal traveling conditions, but during the ToTown state, even when the Radarfight state NeedToRun is True and has a higher priority than the ToTown state, it doesn't trigger (unless isAttacked gets triggered, then the ToTown state is halted, and the Radarfight state takes over, since it has a higher priority than isAttacked).

    How come the IsAttacked state forces the ToTown state to pause, but not my RadarFight state? I'm trying a lot of things, but so far, no dice. Any idea?

    To expand on this, it seems like during the ToTown state, the engine isn't even checking for other states, unless actually attacked. Is there a way to force a state check?

  14. Following your advice, I have been playing a bit with the State idea, yesterday. Both the grinder example and the PartyHelper plugin have been of tremendous help. Thank you again, both of you. Although things are getting clearer, I have a few questions and instead of running in circles and slowly losing faith for a week, I'm gonna ask directly.

    FYI, I'm conducting all my tests using the Grinder engine, and occasionally the Automaton. When I start the bot; my character needs to go to Town and has enemies on its way.

    Here's my observation: It seems like 2 engines are running at the same time.
    Let's say engine1, which only has "NPCScanState" and which refreshes every 3 seconds or so. After I add my RadarFight state with a higher weight to it, while the ToTown state is running, on enemy detection, the RadarFight state triggers and the bot tries to attack the mob, but seems to be confused and wanting to go back to its ToTown state. Basically same problem as before.
    And engine2, which has all the other states (IsAttacked, Pause, ToTown, MovementLoop etc...). After I add the RadarFight to this one with a high weight, when the bot is on its way to town and detects an enemy to fight, the RadarFight state doesn't trigger at all. BUT, if I get attacked and the weight of RadarFight is higher than the weight of IsAttacked, the RadarFight state takes over and things works perfectly.

    Does that make sense to you? It seems like engine2 only checks for states to run when engine 1 is somehow interrupted. Any idea how to overcome this?

  15. Hi guys,

    Although the radar works. Engaging in a clean radar fight is still quite a hassle and triggers a cascading amount of issues that I have to quick fix (blacklisting vendors and flightmasters, messing with running states...). I'm really looking to have a better, more reliable system. 

    I have looked around in the forum and other places but I didn't find exactly what I wanted. So here's my question. Is it possible to add a State to the wRobot engine when the plugin initializes, and would it be a good idea? A whole new state that would be called RadarFight for example and that would have a very high priority. Does a state only run based on a set of conditions, or can you trigger one (Run(), or NeedToRun()) manually? Also what happens if two states have the same priority?

    I'm getting a bit desperate here, and I'm not sure if I can go any deeper than that. The lack of documentation is starting to be a real problem, so any help will be very much appreciated.

  16. After further investigation, turns out there's a simpler way to handle the issue. Much cleaner, and works way better. It is confirmed that when you try to aggro a NPC that is not explicitly listed in the profile, AND when you're in a movement loop, the bot just tries to get back in the loop. The 3D radar helped a lot to understand what was going on. I still have a few (hopefully) minor bugs, and then I can release the plugin. Thanks again for your help, everyone.

            // Pull hook
            robotManager.Events.FiniteStateMachineEvents.OnBeforeCheckIfNeedToRunState += (engine, state, cancelable) =>
            {
                if (state.DisplayName == "Movement Loop" && inRadarCombat)
                {
                    cancelable.Cancel = true;
                }
            };

     

  17. I found a solution. It's not the most elegant and a bit too crafty to my taste, but it works pretty well so far. Again, if anyone has a better idea, please let me know. I have done a ton of tests and I had to search and guess into the API until I found useful pieces of code.

    What happens is pretty much what I suspected. When you call Fight.startFight on an enemy NPC that is not in the DB (profile) and that is not attacking you, the bot starts a new Move thread to approach the unit. After a second, during the approach, the bot thinks it's still traveling, despite Fight.InFight being true and starts a second Move thread to return to its travel path. Then the 2 threads run at the same time until somehow you're flagged in combat and the bot interrupts the travel Move thread.

    Here's what I've done :

    First :

    MovementManager.StopMove();
    Fight.StartFight(closestUnit.Guid);

    Then the Event hook takes over whenever a new path is created during a pull. I pause the one that is not going to the enemy in a loop for the entire fight. Then, when the fight is over, I stop every movement and launch a new movement thread that will re-calculate the travel path. This last part is not absolutely necessary, but it keeps the bot from running back to its original place after every fight, which looks unnatural. In case you wonder, I tried to use cancelable.Cancel = true;... no dice, it makes the bot move eternally in a direction after reaching the first node, post-fight.

    wManager.Events.OthersEvents.OnPathFinderFindPath += (Vector3 from, Vector3 to, string continentNameMpq, CancelEventArgs cancelable) =>
    {
        if (inRadarCombat && Fight.InFight && enemyToFight.Position != to)
        {
            while (Fight.InFight && enemyToFight.IsAlive && inRadarCombat)
            {
                Thread.Sleep(250);
            }
            MovementManager.StopMove();
            MovementManager.StopMoveTo();
            MovementManager.LaunchThreadMovementManager();
            Thread.Sleep(2000);
        }
    };

    It works for both melee and ranged. I'll keep testing and adjusting. Feel free to share your inputs if any. Also if anyone wants to test the plugin, please let me know. I should mention I'm developing it on a TBC server. No idea if it would work on other versions.

  18. 9 hours ago, Mykoplazma said:

    It looks like two working modules are sending different kind of orders to the player toon. Maybe you should suspend one and let other do the job. Now one is stating go left the other go right and well it looks like wrobot in action ^^.

    To me, it seems that it's a conflict within the same "module", actually. The MoveTo one. The bot is sending conflicting information to it when I try to force a fight. It's going "Go fight. Oh wait, no, go travel, no wait, go fight, no wait, go travel...". I'm pretty new to wRobot and I don't know the ins and outs of its engine, so if you have any more concrete info about all this, feel free to share :).

    I'm willing to share the file if needed, since I'll release it for free once it's done.

  19. 9 hours ago, Matenia said:

    Start fight, then cancel all movement, then start fight again.
    Maybe force fight by setting Fight.InFight = true;
    maybe add a MovementManager.MoveTo(closestUnit.Position) for good measure. I have no idea how any of the interals work together.

    From my observation, once you launch Fight.startFight(), the next line of code isn't executed until the fight is over.

    I've tried setting Fight.InFight to true in many different places, and it doesn't work, unfortunately.

    I've also tried MovementManager.MoveTo(closestUnit.Position), but the bot takes over and tries to get back on its traveling path as soon as it starts moving to its target.

    I've also hooked the wManager.Events.MovementEvents.OnMoveToPulse event and maybe there's some hope in there but it's getting really complicated for such a simple task.

     

    I'm running out of ideas here. Do you think there is a way to temporarily deactivate the profile path, or the profile altogether?

  20. Thanks a lot for your help, but I'm still really stuck here. Here's what I tried :

    Logging.Write("[Z.E.Radar] Enemy too close (" + closestUnit.GetDistance + "), attacking : " + closestUnit.Name);
    
    // Start Fight
    Logging.WriteDebug(MovementManager.CurrentMoveTo.ToString());
    MovementManager.StopMove();
    Logging.WriteDebug(MovementManager.CurrentMoveTo.ToString());
    MovementManager.StopMoveTo(false, 500);
    Logging.WriteDebug(MovementManager.CurrentMoveTo.ToString());
    MovementManager.CurrentPath.Clear();
    Logging.WriteDebug(MovementManager.CurrentMoveTo.ToString());
    
    Fight.StartFight(closestUnit.Guid);

    And here's my log :

    21:18:07 - [Z.E.Radar] Enemy too close (48,20433), attacking : Kolkar Scout
    [D] 21:18:07 - -776,1435 ; 1188,599 ; 98,48631 ; "None"
    [D] 21:18:07 - -776,1435 ; 1188,599 ; 98,48631 ; "None"
    [D] 21:18:07 - -776,1435 ; 1188,599 ; 98,48631 ; "None"
    [D] 21:18:07 - -776,1435 ; 1188,599 ; 98,48631 ; "None"
    21:18:12 - [Fight] Player Attacked by Kolkar Scout (lvl 31)

    I'm really getting confused here. Nothing seems to work, yet it looks like it shouldn't be an issue at all. Any idea what is going on?

    I've also noted that once I'm actually in combat (for example my pet attacks or is attacked), the bot starts acting normally again. To me it seems like when I force engage a fight, unless I'm actually "In fight" in the game, the bot tries to take back control and follow its normal path, and I can't find a way to cancel it.

  21. I'm getting very close to what I want. There's one more bug that I can't seem to shake off. When the bot detects an enemy to attack, I run :

    MovementManager.StopMove();
    Fight.StartFight(closestUnit.Guid);

    Then, if the bot is not in combat range, it starts moving erratically back and forth. I think it's still running its current move to the next node, as well as its move in range towards the enemy, both at the same time, or one after the other, or they keep interfering with each other, I don't know. 

    I've tried setting Fight.InFight to true, I've tried checking the movements events, I've tried different things with MovementManager and it's led to nothing so far. I'm probably missing something very obvious, so any input will be much appreciated.

×
×
  • Create New...