Hey @pudge, While i was looking to help you, I've looking into offsets that does what you asking, this works, I tested it on my account and it returned the name. enjoy.
Note : i only ran in dev tools.
var accountName = wManager.Wow.Memory.WowMemory.Memory.ReadStringUTF8(0x10D7914);
if(!string.IsNullOrEmpty(accountName))
{
Logging.Write(accountName.ToString());
}
It's CTM, it's used for everything movement related, interaction, targeting etc. That's what the WoW client uses it for under the hood.
Precision is how close you have to be to the target vector for movement to stop.
If you want to move to the first spot on the list, use
GoToTask.ToPosition(path[0]);
If you want to find nearest spot on the list, you can do it this way:
using System.Linq;
List<Vector3> closestSpots = path
.OrderBy(spot => spot.Position.DistanceTo(ObjectManager.Me.Position))
.ToList();
Vector3 closestSpot = closestSpots[0];
I haven't tested it and there's probably a more efficient way to do it, but that should work.
The problem is quite acute. All the checkboxes are marked with the code from the previous post, and here is what happens: bot just goes from flightmaster to flightmaster in an endless loop. He interacts with the flightmaster, all the nodes that he needs are open, and that's what is in the log:
17:13:48 - [FlightMaster] Cannot found npc of taxi node Orgrimmar, Durotar, disable it.
17:13:48 - [FlightMaster] Try to take taxi at
17:14:07 - [FlightMaster] Try to take taxi node Splintertree Post, Ashenvale to Valormok, Azshara, go to npc.
17:16:40 - [FlightMaster] Try to take taxi at Vhulgra
17:16:45 - [FlightMaster] No found useful destination on FlightMaster Vhulgra, skip it.
17:16:45 - [FlightMaster] Cannot take taxi, Blacklist flightmaster 30 min and taxi node for session.
17:16:46 - [Mount] Mounting ground mount Summon Charger
17:16:46 - [FlightMaster] Try to take taxi node Splintertree Post, Ashenvale to Valormok, Azshara, go to npc.
17:16:48 - [FlightMaster] Cannot found npc of taxi node Splintertree Post, Ashenvale, disable it.
17:16:48 - [FlightMaster] Try to take taxi at
17:16:56 - [FlightMaster] Try to take taxi node Splintertree Post, Ashenvale to Valormok, Azshara, go to npc.
17:17:04 - [FlightMaster] Cannot found npc of taxi node Splintertree Post, Ashenvale, disable it.
17:17:04 - [FlightMaster] Try to take taxi at
17:17:05 - [FlightMaster] Try to take taxi node Orgrimmar, Durotar to Valormok, Azshara, go to npc.
17:17:51 - [Mount] Mounting ground mount Summon Charger
17:20:49 - [FlightMaster] Try to take taxi at Doras
17:20:59 - [FlightMaster] No found useful destination on FlightMaster Doras, skip it.
17:20:59 - [FlightMaster] Cannot take taxi, Blacklist flightmaster 30 min and taxi node for session.
17:20:59 - [Mount] Mounting ground mount Summon Charger
17:20:59 - [FlightMaster] Try to take taxi node Orgrimmar, Durotar to Valormok, Azshara, go to npc.
17:21:02 - [FlightMaster] Cannot found npc of taxi node Orgrimmar, Durotar, disable it.
17:21:02 - [FlightMaster] Try to take taxi at
17:22:03 - [FlightMaster] Try to take taxi node Orgrimmar, Durotar to Valormok, Azshara, go to npc.
17:23:10 - [FlightMaster] Cannot reach position of taxi node , disable it.
17:23:10 - [FlightMaster] Try to take taxi node Orgrimmar, Durotar to Valormok, Azshara, go to npc.
17:23:12 - [FlightMaster] Cannot found npc of taxi node Orgrimmar, Durotar, disable it.
17:23:12 - [FlightMaster] Try to take taxi at
17:23:31 - [FlightMaster] Try to take taxi node Splintertree Post, Ashenvale to Valormok, Azshara, go to npc.
17:23:54 - [Mount] Dismount
17:24:06 - [Mount] Mounting ground mount Summon Charger
17:26:17 - [FlightMaster] Cannot reach position of taxi node , disable it.
17:26:17 - [FlightMaster] Try to take taxi node Splintertree Post, Ashenvale to Valormok, Azshara, go to npc.
17:26:19 - [FlightMaster] Cannot found npc of taxi node Splintertree Post, Ashenvale, disable it.
17:26:19 - [FlightMaster] Try to take taxi at
17:27:14 - [FlightMaster] Try to take taxi node Splintertree Post, Ashenvale to Valormok, Azshara, go to npc.
17:28:09 - [FlightMaster] Cannot reach position of taxi node , disable it.
17:28:09 - [FlightMaster] Try to take taxi node Splintertree Post, Ashenvale to Valormok, Azshara, go to npc.
17:28:10 - [FlightMaster] Cannot found npc of taxi node Splintertree Post, Ashenvale, disable it.
17:28:10 - [FlightMaster] Try to take taxi at
17:28:11 - [FlightMaster] Try to take taxi node Orgrimmar, Durotar to Valormok, Azshara, go to npc.
17:31:52 - [FlightMaster] Cannot reach position of taxi node , disable it.
17:31:58 - [FlightMaster] Try to take taxi node Orgrimmar, Durotar to Valormok, Azshara, go to npc.
17:31:59 - [FlightMaster] Cannot found npc of taxi node Orgrimmar, Durotar, disable it.
17:31:59 - [FlightMaster] Try to take taxi at
17:32:24 - [FlightMaster] Try to take taxi node Orgrimmar, Durotar to Valormok, Azshara, go to npc.
17:32:50 - [FlightMaster] Cannot found npc of taxi node Orgrimmar, Durotar, disable it.
17:32:50 - [FlightMaster] Try to take taxi at
17:33:08 - [FlightMaster] Try to take taxi node Splintertree Post, Ashenvale to Valormok, Azshara, go to npc.
17:35:45 - [FlightMaster] Cannot reach position of taxi node , disable it.
17:35:45 - [FlightMaster] Try to take taxi node Splintertree Post, Ashenvale to Valormok, Azshara, go to npc.
17:35:47 - [FlightMaster] Cannot found npc of taxi node Splintertree Post, Ashenvale, disable it.
17:35:47 - [FlightMaster] Try to take taxi at
17:39:11 - [FlightMaster] Try to take taxi at Kroum
17:39:16 - [FlightMaster] No found useful destination on FlightMaster Kroum, skip it.
17:39:16 - [FlightMaster] Cannot take taxi, Blacklist flightmaster 30 min and taxi node for session.
17:39:17 - [Mount] Mounting ground mount Summon Charger
17:39:17 - [FlightMaster] Try to take taxi node Valormok, Azshara to Emerald Sanctuary, Felwood, go to npc.
17:39:19 - [FlightMaster] Cannot found npc of taxi node Valormok, Azshara, disable it.
17:39:19 - [FlightMaster] Try to take taxi at
17:39:20 - [FlightMaster] Try to take taxi node Orgrimmar, Durotar to Emerald Sanctuary, Felwood, go to npc.
17:41:10 - [FlightMaster] Try to take taxi node Splintertree Post, Ashenvale to Orgrimmar, Durotar, go to npc.
Hi,
When you edit "wManager.wManagerSetting.CurrentSetting" change is instant. Maybe quest profile change settings, if you save settings when running, quester cannot restore default settings
Use item on hostile weakened mob
Add step type "PickUp" (put quest name in parameter)
Add step type "RunCode", in parameter put this code:
Thread t = new Thread(() =>
{
uint itemId = 62899;
int questId = 28000;
while (robotManager.Products.Products.IsStarted)
{
if (Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause)
{
if (!Quest.HasQuest(questId))
break;
if (ObjectManager.Target.IsValid && ObjectManager.Target.IsAlive && ObjectManager.Target.HealthPercent <= 25)
{
ItemsManager.UseItem(itemId);
}
}
Thread.Sleep(500);
}
});
t.Start();
(you need to have quest in your questlog, you can replace "62899" but the item id, "28000" by the quest id and "25" by the max target health)
Add step type "Pulse" (put quest name in parameter) (use quest type kill or interact)
Add step type "TurnIn" (put quest name in parameter)
(sample if based on this quest: http://www.wowhead.com/quest=28000/do-the-imp-possible )
Hi there,
i noticed on vanilla wow that my taxi nodes are disabled from time to time.
I checked the flightmaster coords and they were okay, i deleted the TaxiNodes.xml
so wrobot can make the file again from games data. But at the end i still saw some
taxi nodes deactivated which were used before without any problems.
I am not sure what causes these problems on vanilla.
So i wrote a small plugin to activate all taxinodes every 5 minutes.
I added my file.
Maybe it helps somebody.
Best regards
[Vanilla]TaxiNodes-EnableAll.cs
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.
@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.
// off before quest
wManager.wManagerSetting.CurrentSetting.MyMacro1.Actif = false;
wManager.wManagerSetting.CurrentSetting.MyMacro2.Actif = false;
wManager.wManagerSetting.CurrentSetting.MyMacro3.Actif = false; //4 5 6 etc
//on after quest
wManager.wManagerSetting.CurrentSetting.MyMacro1.Actif = true;
wManager.wManagerSetting.CurrentSetting.MyMacro2.Actif = true;
wManager.wManagerSetting.CurrentSetting.MyMacro3.Actif = true; //4 5 6 etc
Use Runcode before and after quest, where u need off macros. Shoud work
IsValid checks if it still exists in objectmanager. You never need it, unless you store a unit over a long period of time.
Because when you move 100 yards from the point of unit acquire, it might have disappeared from the objectmanager and not been updated either.
You need more code
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
public class Main : wManager.Plugin.IPlugin
{
[DllImport("user32.dll", SetLastError = true)]
static extern int GetWindowLong(IntPtr hWnd, int nIndex);
public const uint WS_MINIMIZE = 0x20000000;
public const uint WS_MAXIMIZE = 0x01000000;
public const int GWL_STYLE = -16;
void GetState()
{
int style = GetWindowLong(wManager.Wow.Memory.WowMemory.Memory.WindowHandle, GWL_STYLE);
if ((style & WS_MAXIMIZE) == WS_MAXIMIZE)
{
MessageBox.Show("maximized");
}
else if ((style & WS_MINIMIZE) == WS_MINIMIZE)
{
MessageBox.Show("minimized");
}
else
{
// normal style?
MessageBox.Show("Normal??? > style=" + style.ToString("x8"));
}
}
public void Initialize()
{
GetState();
robotManager.Helpful.Win32.Native.ShowWindow(wManager.Wow.Memory.WowMemory.Memory.WindowHandle, 6);
GetState();
robotManager.Helpful.Win32.Native.ShowWindow(wManager.Wow.Memory.WowMemory.Memory.WindowHandle, 3);
GetState();
robotManager.Helpful.Win32.Native.ShowWindow(wManager.Wow.Memory.WowMemory.Memory.WindowHandle, 4);
GetState();
}
public void Dispose()
{
}
public void Settings()
{
}
}
I want to change a character . I start 1st char after some time i need to change the char on the realm.
I use: logout -> press button System.Windows.Forms.Keys.Down -> System.Windows.Forms.Keys.Enter.
Earlier just restarted the bot and after restart the bot connecting to a 2nd char, now restarting bot and game.
Please will make what bot just restart himself, without game. thanks
Hello !
Today i wanted to release my copy of PQR aka Rotation here to help others.
What is PQR ?
PQR is a bot designed to perform complex DPS, healing and tanking rotations for the player. It was mainly designed to reduce the tediousness of performing a complex rotation for hours on end, which for many can be a huge relief and provide them with a better WoW experience where they may have wanted to quit in other cases.
No addons to configure.
No pixel scanning to hinder performance.
Easily customizable and shareable abilities and rotations.
Note: this copy of pqr is Undetected on ALL servers
This only works for 3.3.5a Wrath Of the Lich King.
Servers that been tested : Warmane (Undetected)
SunWell (Undetected)
Wow-Circle (Undetected)
Sirus (Semi Undetected, Read how to for Custom servers.)
Dalaran-Wow (Undetected)
How to install :
*NOTE: Since you are downloading an EXE directly, some web browsers may consider it malicious*
Download file from below,
extract folder with all files content inside to somewhere on your computer.
Select the process you would like to attach to. You must be logged into your character to do this.
Install and Select your Primary and Secondary rotations.
Press ALT+X to start your Primary rotation, and ALT+Z to start your Secondary rotation. Pressing the key(s) again will either stop the bot or switch the rotation, depending on what you have selected.
Configuring a Rotation :
Select the "Rotation Editor"
Select the Class that you wish to edit.
Select the Profile you wish to edit, or create a new profile.
Select the rotation you wish to edit, or add a new rotation.
The "Current Abilities" list is the rotation that will be used from top to bottom.
Rotations are automatically saved as you make changes.
You may also provide a static download address for your profiles to allow users to use the "Download Update" button as well as provide a note to users so they have more details on what the rotation is supposed to do.
How to use on Custom Servers :
Note : This is just a work around, and Can be Detected AnyTime :
These kind of servers using a custom Mpq file to stop users from using some lua functions, like (CastSpellByName)
i have gotten it to work by using RunMacroText(/cast Spell), you will need to modify whatever profile you are using to use this casting method.
DO NOT NEED EWT TO RUN THIS ,
Credit goes to my friend Scizzydo
Credit for the Rotation bot : Xelper
if you find any bugs or suggestions please report on my discord :PQR SUPPORT
Download LINK :
Rotation
Sometimes it returns true if you can ignore the mobs attacking you, for example if you're on mount with the correct options or you're supposed to ignore pulls while traveling or if Conditions.ForceIgnoreIsAttacked is activated.
I recommend you just decompile the binaries and see for yourself. Even with the code being obfuscated, you can usually see these simple things.