Jump to content

Findeh

Members
  • Posts

    365
  • Joined

  • Last visited

Posts posted by Findeh

  1. 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 ?

  2. 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?

  3. 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.

  4. @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?

  5. 1 hour ago, 79135 said:

    can make this bot only for wholesalers?)

    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.

  6.  

    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);
                }
            };
    		
    		
           
        }

     

  7. On 6/3/2019 at 12:57 PM, Mykoplazma said:

    You can write custom product and create your own 'grinder' module. And is better to do that because standard one is well standard and if everybody use it well it's quite visible to gms because of well 'wrobot' quirks.

    Technically true, but also do everything yourself is not an acceptable solution for every single situation.

  8. 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. 

  9. 1 hour ago, Bambo said:

    Are you sure? If i only set one hotspot and use followpath it will find it from anywhere on that continent. Thats the pathfinder no? 

    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.

  10. 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.

  11. 3 hours ago, Matenia said:

    Smokie, what you just posted literally does the exact opposite.
    Yes, there's a hidden blacklist. Just clear product session blacklist every 5 seconds and you should be fine @maukor

    As far as i remember, this is not a solution at all. Clearing blacklist will also clear all blacklisted things that you have put there for reason. Mobs that are blacklisted by profile, locations, mobs that are blacklisted because they are stuck/bugged and so on.

  12. On 5/11/2019 at 12:04 PM, Inaru said:

    Druid fight class already in addition to everything automatically goes travel form out od combat and switches back to cat form in combat ? this will save a lot of time grinding as bot will move faster to each mob. Especially noticable in vast areas. 

    This is obviously not my buisness, but you know that features like this will simply burn characters mana, making him drink or die often, that will totally nulify any boon of a form/aspect speed. Also it makes combat longer because you will start it with empty energy bar after shapeshift. Also it make a bot behaver more obvious, because noone will shape-shift between mobs while hand-playing.

    Also in vanilla, if your bot is feral (for example) you already have 30% speed in cat form wich is already almost like travel form.

    431316160_-.jpg.1d2d213069592f6ac6515638263e6e76.jpg

  13. You can't import grinder profile in to a quester profile with a "tool". But you can grind with a quester profile (wich is much better then grind with a grinder).

    To "import", you can try to copy your grinder profile coordinates in to the quester quest. Just copy from one file to another by hands. But i'd rather recomend you to just wright a new quester profile for a grind. This will be easyer and, most likely, faster.

  14. Sorry for reviving this thread. But i've got the same problem and i'm not sure how to solve it.

    I need to create a follow path analog with C#. The question is, is it possible to create an instance of QuestFollowPathClass with preset Path, IsCompleteWhenAtLastPath, and other parameters, hold it file and then just call it from the code with something like MyFollowPathQuest.Pulse() ?

    Let's say even call it from the same file. It's not a library question.

×
×
  • Create New...