Jump to content

Bot ignoring complete condition


Pudge
 Share

Recommended Posts

Hello!

I don't quite understand if it's a bug or not ...

Sometimes when a bot makes a quest with a click on an object, for example, a portal click from city 1 to city 2, it sometimes ignores the "Is complete condition" and continues to run somewhere further.

For example:

Quest: PortalFromDalaranToExodar.

The code for this quest (only 1 line):

wManager.Wow.Bot.Tasks.GoToTask.ToPositionAndIntecractWithGameObject(new Vector3(5699.33, 735.217, 641.767), 191007);
return true;

Is complete condition for this quest:

return !ObjectManager.Me.IsAlliance || Usefuls.MapZoneName == "The Exodar";

"Not required in quest log" set to true.

But, as soon as bot crosses the portal and finds himself in the Exodar - he continues to run along some coordinate! It seems this is the coordinate of Dalaran portal to Exodar, but at this moment the bot is "blind" and does not see that it is already in the Exodar!

I tried adding Thread.Sleep after the interact with portal code, but the bot still sometimes ignores Is complete condition ...

How can I fix this? Thanks for the answers, if someone understood me and knows what can be done.

Link to comment
Share on other sites

GoToTask is blocking, it will not stop walking unless you also pass a breaking condition to the "whileCondition" parameter.
Or use normal MovementManager.Go which is not blocking - but if you have a complete condition, it will just call MovementManager.Go over and over until the condition is fulfilled.

This is tick-based vs blocking.

Link to comment
Share on other sites

@pudge i do not know if you fix this problem, but i got it working by using this as a return complete condition.

return Usefuls.SubMapZoneName.Contains("The Vault of Lights");

if(GoToTask.ToPositionAndIntecractWithGameObject(new Vector3(5699.33, 735.217, 641.767), 191007))
                {
					Thread.Sleep(5000);
                }
				return true;

tested, works gread.

 

Transport to Exodar from Dalaran.xml

Edited by TheSmokie
Link to comment
Share on other sites

A few days ago before reading this thread, I added this:

wManager.Wow.Bot.Tasks.GoToTask.ToPositionAndIntecractWithGameObject(new Vector3(-1880.28, 5357.53, -12.4281), 183321);
MovementManager.StopMove();
Thread.Sleep(new System.Random().Next(1000, 3000));
robotManager.Products.Products.InPause = true;
Thread.Sleep(new System.Random().Next(1000, 3000));
robotManager.Products.Products.InPause = false;
return true;

But it seems this shit still appears again with a little chance.

Thanks for replies! I will try your ways guys.
 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...