Matenia
-
Posts
2226 -
Joined
-
Last visited
Content Type
Forums
Articles
Bug Tracker
Downloads
Store
Bug Report Comments posted by Matenia
-
-
Would it be a problem if the default was always the current continent id?
Then for every vector, I can individually decide if I need to change the continent or not.Ideally, I would like to switch the continent within 1 profile. For example, I am in Wetlands. The next quest is in Ashenvale.
I just check movement events => if List<Vector3> .Last().ContinentId != Usefuls.ContinentId => () do continent switch.You don't have to change the current Vector3 constructor, it will be a non-breaking change. I think it's easiest if vector have the continent id. But if you think something else is better, then setting a continent id for each quester profile would be fine, as long as I can easily check CurrentProfile.ContinentId (or similar).
-
Boat in Auberdine (Kalimdor):
new Vector3(6592.985, 754.534, 0);
Boat in Darnassus (Kalimdor):
new Vector3(8533.65, 1025.055, 0);
Both in its idle position. I think it's actually Z position 0.
-
Nevermind, coordinates on transport are correct.
However, pathfinding on transport is impossible. -
Player coordinates on transport are still wrong. Problem with this is as follows:
You can't use pathing, because the bot never knows where it is.
You need to add the transportmatrix from Zzukbot. -
-
Edit: This post is not an update, I just broke something.
Will come back if I know more. -
Zzukbot has working transport for vanilla:
https://github.com/Zz9uk3/ZzukBot_V3
https://github.com/Zz9uk3/ZzukBot_V3/blob/master/ZzukBot_WPF/Objects/WoWGameObject.cs
-
Lots of coordinates seem to be a bit off:
-
GM ported your character and I guess they didn't ban you because you used your hearthstone.
wRobot killed the client, is what that error means. -
It's either your fightclass or your graphic settings.
Enable CTM, force WoW to 60 hz. Enable vsync for 60 fps. -
For now, I solved this by manually setting Fight.InFight = true and it will just continue working normally.
But I have noticed that whenever you crowd control a mob in vanilla (fear, polymorph, repentance) it will un-target you adn the bot will stop fighting it and completely ignore it.
I'll get back to you with memory info if I find the time. -
Try ObjectManager.Me.InCombatFlagOnly
-
Does this mean that he can't find the fight master in my taxi db or it can't find the node when interacting with the npc?
It was in my taxi db but deactivated. What causes this? -
I figured out swimming ONLY bugs if you have vertical sync NOT turned on in your video options.
With vsync enabled, it actually works. Same with CTM in vanilla, it 200% bugs out without vsync. -
I don't modify this list on an extra thread anymore - but maybe applying a lock to it or choosing a CopyOnWrite implementation of List might be a good idea anyway.
-
working solution
-
For anyone wondering, this works:
EventsLua.AttachEventLua((LuaEventsId)Enum.Parse(typeof(LuaEventsId), "PLAYER_DEAD"), m => { LastDeath = DateTime.Now; Logging.WriteDebug("Died, set new timestamp for last death"); });
-
Maybe the problem is that I reference TBC libraries of wRobot? I compile 1 dll for vanilla + tbc.
It shouldn't really change anything, but maybe it does? I thought events remained the same
Maybe same problem as here:I use TBC LuaEventsId.PLAYER_DEAD and it's different in different expacs.
-
For the following code:
class AntiDrown { private static DateTime BreathExpires = DateTime.MaxValue; public static void Start() { EventsLuaWithArgs.OnEventsLuaWithArgs += AntiDrownEventHandler; } public static void Stop() { EventsLuaWithArgs.OnEventsLuaWithArgs -= AntiDrownEventHandler; } private static void AntiDrownEventHandler(LuaEventsId id, List<string> args) { if (id == LuaEventsId.MIRROR_TIMER_START) { Logging.WriteDebug(args[0] + " " + args[1]); } if (id == LuaEventsId.MIRROR_TIMER_START && args[0] == "BREATH") { //sets BreathExpires to be in the future by x milliseconds BreathExpires = DateTime.Now.AddMilliseconds(double.Parse(args[1])); Logging.WriteDebug("Breath has " + double.Parse(args[1]) + " milliseconds left"); } } public static void DontDrown() { //check if we drown in less than 5 seconds while (Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && DateTime.Now.AddSeconds(5) > BreathExpires) { Move.JumpOrAscend(); Thread.Sleep(500); } } }
I call Start and Stop methos from plugin.
-
public static void Start() { EventsLuaWithArgs.OnEventsLuaWithArgs += AntiDrownEventHandler; } public static void Stop() { EventsLuaWithArgs.OnEventsLuaWithArgs -= AntiDrownEventHandler; } private static void AntiDrownEventHandler(LuaEventsId id, List<string> args) { if (id == LuaEventsId.MIRROR_TIMER_START) { Logging.WriteDebug(args[0] + " " + args[1]); } if (id == LuaEventsId.MIRROR_TIMER_START && args[0] == "BREATH") { //sets BreathExpires to be in the future by x milliseconds BreathExpires = DateTime.Now.AddMilliseconds(double.Parse(args[1])); Logging.WriteDebug("Breath has " + double.Parse(args[1]) + " milliseconds left"); } }
This code is also "bugged". Ingame Lua event handler: works perfectly, it shows event id, "BREATH" and even 4 arguments.
But using this in the bot, it's never called.@Droidz maybe you need to add this event manually?
-
I had this problem once on TBC. But ages ago and once I sold ONE item manually on TBC, it would instantly fix itself.
On Vanilla, this does not fix it and this problem occurs more frequently. I think it's related to the exception being thrown. -
[E] 15:22:22 - SpellInfo GetSpellInfo(uint id): System.MissingMethodException: Method not found: 'SpellRec wManager.Wow.Helpers.DBC`1.GetRowByIndex(Int32)'.
at wManager.Wow.Helpers.DBC`1..ctor(UInt32 offset)
at wManager.Wow.Helpers.SpellDBC..ctor(UInt32 id)
at wManager.Wow.Helpers.SpellManager.SpellInfoCreateCache(List`1 listId) -
[E] 15:17:57 - WoWFactionTemplate(uint id): System.MissingMethodException: Method not found: 'FactionTemplateDbcRecord wManager.Wow.Helpers.DBC`1.GetRowByIndex(Int32)'. at wManager.Wow.Helpers.DBC`1..ctor(UInt32 offset) at wManager.Wow.Helpers.WoWFactionTemplate..ctor(UInt32 id) [E] 15:15:48 - WoWFactionTemplate(uint id): System.MissingMethodException: Method not found: 'FactionTemplateDbcRecord wManager.Wow.Helpers.DBC`1.GetRowByIndex(Int32)'. at wManager.Wow.Helpers.DBC`1..ctor(UInt32 offset) at wManager.Wow.Helpers.WoWFactionTemplate..ctor(UInt32 id)
-
After testing, it seems it is fired more often in C# events than ingame.
[Vanilla] Selling items at Innkeeper bug
in Bug Tracker
Posted
To clarify, the bot DOES open the vendor window, which is how it purchases drink/food. But it just doesn't sell.