Jump to content

Findeh

Members
  • Posts

    365
  • Joined

  • Last visited

Everything posted by Findeh

  1. Except it will look botish as hell and humanoids and beasts of the same type will be pulled all together anyway. You need to check for every pull, should it be done with a ranged weapon, or witha body pull, or skipped and blacklisted.
  2. My 5 cents There are 3 types of users here. 1) Single bot users (Guys that just level some accounts for themselves, they come and go) 2) Many bot users (Guys that make a living from this, they stay for long) 3) Developers (Guys that are selling stuff that solve your problems) I am type 2 myself. Not a developer, not buyer of a paid stuff (unless i want to support seller or just curious). I've bought Human Master Plugin from @Matenia, i'm not using it, just bought to see what it does. Bought some stuff from @Ordush, also not using it. Bought 1 profile forom @BetterSister, never used it. And bought one more plugin long ago from a guy that is not selling anymore (Edited it a little, using it, but going to rewrite it completely soon). You are type 1. Type 2 don't like you, basically. Because you don't understand what's going on and what are you doing, so you just a target practice for GM's. You make bot concept publical and then it becomes harder for type 2 to live. Type 3 are the only guys that want to help you. But they ask couple dollars for their time. I don't actually understand why do they do this sometimes, because the time they spend for teir products cost much more then the product price. I know it because i've bought some of it (even if i don't needed it) and all of it was made great. But the point is, you don't want to pay them. Then the only way for you is to become Type 2. Do everything yourself, spend couple years editing your profiles every few days. Are you ready to this? Guess not. 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.
  3. I'm sorry, but how do i do that? Plugin itself decides when to kill process and what to do next. If it also got killed, no other thread will know what to do next. Do you mean that if i do it something like: private BackgroundWorker backgroundThread; blah-blah-blah public void Start() { backgroundThread = new BackgroundWorker(); backgroundThread.DoWork += Pulse; backgroundThread.RunWorkerAsync(); } blah-blah-blah And do all the stuff inside the Pulse method, then this thread will not be killed together with the plugin thread?
  4. I've got a plugin, that checks if something specific have happened (in a complicated way, like different teleports, continent change, gm checks and so on) The idea is, i do my quest profile, while plugin is working at background. When plugin got triggered i need to stop current quest profile and load new one, totally different, for another continent and so on. The point i've stuck at. Stop quester and load anoter profile. Basicly when i stop quester product, bot brakes (stop / pouse buttons are inactive anymore, it only can be closed after that) and quest log looks like this: 18:27:30.883 - [Quester] Started 18:27:30.886 - 111111111111111111111111111111 18:27:31.886 - 222222222222222222222222222222 18:27:31.965 - [Quester] Stopped 18:27:32.489 - [Quester] Stopped 18:27:32.489 - [Quester] Closed 18:27:32.721 - Session statistics: Elapsed time: 00h:00m:04s XP/HR: 0 - 0 min Kills: 0 (0/hr) Deaths: 0 (0/hr) Stucks: 0 (0/hr) Farms: 0 (0/hr) Loots: 0 (0/hr) Money/HR: 0 G 00 S 00 C (0 G 00 S 00 C) Code i use: if (condition) { Logging.Write("111111111111111111111111111111"); Thread.Sleep(1000); Logging.Write("222222222222222222222222222222"); Products.DisposeProduct(); Logging.Write("333333333333333333333333333333"); Thread.Sleep(1000); ArgsParser.Product = "Quester"; Thread.Sleep(1000); ArgsParser.Profile = "MyProfile.xml"; Thread.Sleep(1000); Products.LoadProducts("Quester"); } So my guess is, when i stop quester product, it also stop all plugins and, as a result, my plugin can't start quester with another profile. There also may be some problems after "33333333" message, but i don't get there yet. So the question is, how do i do "condition based quester profile change"? I don't need to change product (atleast yet) only the profile. It should be able triger with a condition and should do it multiple times per run if needed. Maybe my code is wrong? Or maybe i should do it not with a plugin but how then? This is probably the hardest one of my "stucks" with a wrobot so far, because i can't see workaround, even the bad ones, so any advics are much appreciated. Thank you in advance.
  5. No, it's not minimum. That's if you want someone to solve your problem for you. The minimum is to make everything youself as you need it. It's free. But to be fair, while i have not tryed any payed prifile i'm most certiant they are bad just because of lack of testing. You need to level literaly hundreds characters with a profile to test and fix everithing. It may took you monthes, or years. No one will do so much work for 5$ As @Matenia said, try to do it yourself and you everything will become clear )
  6. Okay, seems like i have found one more problem. I can stop movement now, but if after i've stoped it, i'll do any Thread.Sleep then it automatically set cancelable.Cancel to false. Another words, i need to stop current even to preven bot from running. I do stop it. Then i do my own work, but if in a process i will use any Thread.Sleep (wich i will use for elevators or to check something, for example). Then it just unsubscribes from event and bot once again start to run wherever he wants. I't almost imposible to do not use thread.sleep. Or i will run in circles like a mad, instead of standing still, or i'll burn my cpu. Any ideas how to avoid that behavior?
  7. var playersList = new List<WoWUnit>(); playersList.AddRange(ObjectManager.GetObjectWoWUnit().Where(u => // Here you may also need something like u != Me u.Type == WoWObjectType.Player && u.GetDistance < 100).ToList()); // Or you can change 1 to 2 here in the IF, if it will be always positive, because 1 is your bot himself. if (playersList.Count() >= 1) { // Do work or pause bot here } You will need to wrap it in to the cikle or subscribe to some event of your choice. For example, maybe you would like to do it only on the fight end, or only when bot is not in combat. Else you will die when any player arrives at a horizont if you are in combat at this moment. After 10 deaths your equipment will broke and then your bot will decide to run for repair with your plugin still on because bags are still not full ?
  8. The problem is. Resurrect state seems to be from "Player is dead" and till you push "Release spirit". So when bot arrives at the graveyard, it is not Ressurect state anymore, and he just runs. But i will recheck that today to confirm.
  9. That's what i do. But i can't stop inbuilt corpse run event. Only by pausing the bot, but if i pause it, half of functionality will not work as intended.
  10. So nothing? I will try to explain. Wrobot does not resurect at some points. Bug on wrobots side that have been reported but have not been solved. Bot also don't know how to pass some elevators, caves, mountains and such. It is also a bug on wrobots side. Also have been reported, also have not been solved. I am trying to make fix both bugs with a plugin, but i can't intercept a resurect part, wich is also seems like a bug on wrobot side. What should i do?
  11. There is no such by default function, but i belive it is possible to do a plugin like that. You will need to scan like 100 meters radius for every unit, every 0.5 second. Then check if any of those units are players, then decide what to do. Also it will be constantley trigered in towns and major hubs, like roads, so you will need to add an exceptions when to ignore those players. To do so you will need or, check your current region (like If i'm in Orgrimmar), or, add a list of zones "by hands", like if (me.Position.DistanceTo(new Vector3(x, y, z) < 100) then you are at the road and you should ignore players. First problem here, it's really pain in the ass to wright such thing, add all black list locations, edit them constantly and so on. The second problem, it will constantly scanning and will do a lot of work (i supese). This will increase your CPU load and, as a result, may reduse you bot amount per pc, wich is also not good.
  12. I like how you advertising in every thread the idea, that users should basically code their own bot, missing the point, that users are already paying for the bot ) Like it should not do what it have to do, but every user have to code it himself )
  13. @Droidz, can you tell me please, is there no such event as "running to retrieve the corpse" and that's why i just can't intercept it, or am i do something wrong? If there is no such event, then how to retrive corpse with my own code? There is like 20 places atleast, where bot can't get his corpse back, rumming in to the wall or ignores elevator. can you tell me please, is there no such event such "running to retrive the corpse" and that's why i just can't intercept it, or am i do something wrong?
  14. It's kind of opposite. I would even say that we are less prioretized here then the "Mom, i'm gona be botter tooday!" type of guys. Some critical thing for us are not implemented literaly in years. It's simple, those type of guys are more profitable. Even if bot will be instant bannable at every realm, they will buy it anyway to try it. And they will buy paid stuff. And then they will quit in 3 month and new will come and cicle will repeat. While massboters will not buy much paid stuff and will not accept instant-bannable bot.
  15. 5 июн 2019 17H01.log.html Here is a video and a log. I'm trying to make bot to go opposite derection from the corpse. But he does not ever reach first waypoint. Code that i was testing it with: public void Initialize() { Logging.Write("Corpse Runner is ON"); isRunning = true; robotManager.Events.FiniteStateMachineEvents.OnBeforeCheckIfNeedToRunState += (engine, state, cancelable) => { if ((Me.HaveBuff("Ghost"))) { Logging.Write("Resurrect state is cancelled"); cancelable.Cancel = true; MovementManager.StopMove(); MovementManager.Go(OppositeDirectionSpiritPath); while (MovementManager.InMovement && Conditions.InGameAndConnected && !Conditions.IsAttackedAndCannotIgnore) { Thread.Sleep(300); }; MovementManager.StopMove(); Logging.Write("WAIT 5000ms"); Thread.Sleep(5000); } }; }
  16. Thank you for reply, not sure what it will work. I'll try it today and will film a video for you how it goes.
  17. Technically true, but also do everything yourself is not an acceptable solution for every single situation.
  18. Might be very stupid question, i'm kind of ill today, so it's hard to think right, sorry for that. Anyway, simple code like this is not working for me:  robotManager.Events.FiniteStateMachineEvents.OnBeforeCheckIfNeedToRunState += (engine, state, cancelable) => { if (condition) { cancelable.Cancel = true; Logging.Write("Message1"); // Do something here Logging.Write("Message2"); cancelable.Cancel = false; } }; The goal is to release spirit but then intercept the act of the corpse-run with a plugin. Problem is: I do get "Message1", so state is canceled, then bot tryes to do the job (// section), but then, for some reason, bot decides to run for a corpse. If i test it like this:  cancelable.Cancel = true; Logging.Write("Waiting"); Thread.Sleep(1000*500); Logging.Write("Message2"); cancelable.Cancel = true; Then i'll get "Waiting" message. Bot will stay for 2-3 seconds but then will run for a corpse anyway. So it's not my code starting the thread again, the thread is starting by itself or (more likely) its a separate thread wich i can't cancel, for some reasone. Also it doesn't matter wich way i do this, with OnBeforeCheckIfNeedToRunState or OnRunState, result is the same. I've tryed to cnahge "condition" of my if, to be always true. It spams "Message1", constantly canceling the state, but does not stop the corpse run. I can pause the bot instead of canceling the state, It will stop the corpse run for sure, but then i will not be able to move it with methods like MovementManager (if i'm not mistaken). To sum up, is it some sort of state that i can't cancel, or am i just stupid and do it wrong? Maybe the Products.InPause is the way to do it instead, but how do i move then? Thank you in advance for any tips. 
  19. Thread.Sleep(1000 * 30); This is your timer. 1000ms = 1 second. Multiplied by 30 = 30 seconds. You can change it.
  20. Yeah, you right, but this is not the same as follow path from point to point 3 meters away from one to another, wich my follow path do.
  21. Some new info. I might be wrong, but 5 days ago or so, i've noticed that some of bots are stuck in the open field during follow path step. They just stop moveing and start to jump at the same place, rtying to avoind invisible wall. Things like that may happen when you killing mobs or traveling using pathfinder (There are some bug reports about that), but the weird thing, is that i don't kill mobs there and follow path is not using pathfinder. Maybe it's just a coincedence and for some reasone my profile have buged couple times, but if anyone of you have seen something similar, please, let me know.
×
×
  • Create New...