craine 0 Posted August 31, 2016 Share Posted August 31, 2016 Hello, i started looking at the classes/method list with a decompiler like DroidZ recomend in this post, To find if there was a way to go on a specific position and interact with npc without using the pathfinder and, i haven't find anything (maybe i'm just blind). Does something like, MovementManager.GoAndInteractWithNpc(Path, 33759, 2, true); exist ? It could be useful for taking quest when the pathfinder dosen't work correctly or just to follow a path and interact with npc in a scenario (or something like that). If nothing like that has been created, do you know a way to interact with an npc without moving ? Something like: wManager.wow.task.NPC.InteractWithNpc(33759, 3, false); (with gossip options or not ~) I realise now that it's a bit hard to explain in english, tell me if anything is not understandable Link to comment https://wrobot.eu/forums/topic/3743-topositionandinteractwithnpc-without-pathfinding/ Share on other sites More sharing options...
BetterSister 367 Posted September 1, 2016 Share Posted September 1, 2016 you can't go to somewhere and interact with the npc without pathfinder :/ with this you can move without pathfinder: MovementManager.MoveTo(new Vector3(123, 321, 1)); or wManager.Wow.Helpers.TraceLine.TraceLineGo(new Vector3(123, 321, 1)); Right now i can't even find how to interact with NPC outside of pathfinder... Back to sleep Link to comment https://wrobot.eu/forums/topic/3743-topositionandinteractwithnpc-without-pathfinding/#findComment-17509 Share on other sites More sharing options...
Droidz 2738 Posted September 1, 2016 Share Posted September 1, 2016 Hello, Not tested, but like this: int entryIdNpc = 123456; var path = new List<Vector3>(); // your path MovementManager.Go(path); while (MovementManager.InMovement && Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && !Conditions.IsAttackedAndCannotIgnore) { // Wait follow path Thread.Sleep(100); } MovementManager.StopMove(); if (path[path.Count - 1].DistanceTo(ObjectManager.Me.Position) < 10) { // easy way: GoToTask.ToPositionAndIntecractWithNpc(path[path.Count - 1], entryIdNpc); // no easy: /*var u = ObjectManager.GetNearestWoWUnit(ObjectManager.GetWoWUnitByEntry(entryIdNpc)); if (u.IsValid) { // can need to go to but I'll not implement it Interact.InteractGameObject(u.GetBaseAddress); }*/ } BetterSister 1 Link to comment https://wrobot.eu/forums/topic/3743-topositionandinteractwithnpc-without-pathfinding/#findComment-17524 Share on other sites More sharing options...
craine 0 Posted September 2, 2016 Author Share Posted September 2, 2016 So, i took a break and i'm back ! On 01/09/2016 at 4:50 PM, Droidz said: Hello, Not tested, but like this: int entryIdNpc = 123456; var path = new List<Vector3>(); // your path MovementManager.Go(path); while (MovementManager.InMovement && Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && !Conditions.IsAttackedAndCannotIgnore) { // Wait follow path Thread.Sleep(100); } MovementManager.StopMove(); if (path[path.Count - 1].DistanceTo(ObjectManager.Me.Position) < 10) { // easy way: GoToTask.ToPositionAndIntecractWithNpc(path[path.Count - 1], entryIdNpc); // no easy: /*var u = ObjectManager.GetNearestWoWUnit(ObjectManager.GetWoWUnitByEntry(entryIdNpc)); if (u.IsValid) { // can need to go to but I'll not implement it Interact.InteractGameObject(u.GetBaseAddress); }*/ } Well, it's not what i was expected but since it work i have to tell that you are a genius ! For futur user, i just add the wManager.Wow.Bot.Tasks. Here is the one i used: int entryIdNpc = 33759; var path = new List<Vector3>() { new Vector3(8451.504f, 1074.231f, 554.4833f, "None"), new Vector3(8449.256f, 1067.841f, 554.4672f, "None"), new Vector3(8447.452f, 1061.072f, 554.3987f, "None"), }; //path MovementManager.Go(path); while (MovementManager.InMovement && Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && !Conditions.IsAttackedAndCannotIgnore) { // Wait follow path Thread.Sleep(100); } MovementManager.StopMove(); if (path[path.Count - 1].DistanceTo(ObjectManager.Me.Position) < 10) { // easy way: wManager.Wow.Bot.Tasks.GoToTask.ToPositionAndIntecractWithNpc(path[path.Count - 1], entryIdNpc); } If somebody is interested, here is a quick quest file that show differences between the pathfinder method and the droidz one. I realy suggest you to take a look at it because the way the bot react is realy interesting (Btw: the bot will go to the silver turnament on this NPC so, don't be too far Pathfinder vs DroidZ.xml Let the quester do all until the end message open up Link to comment https://wrobot.eu/forums/topic/3743-topositionandinteractwithnpc-without-pathfinding/#findComment-17550 Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now