i'm only startig it when i'm ingame
can you give me a hint on how to do that?You need to ensure the device is the correct one
i'm only startig it when i'm ingame
can you give me a hint on how to do that?You need to ensure the device is the correct one
[16:15:41] Cypher: caus the CPU is a dick
[16:16:07] kynox: CPU is mad
[16:16:15] Cypher: CPU is all like
[16:16:16] Cypher: whatever, i do what i want
Replace
withCode:IntPtr endSceneAddr = DirectX.GetEndScenePointer();
than add to ObjectManager class:Code:IntPtr endSceneAddr = m.GetObjectVtableFunction(m.Read<IntPtr>(0x00C776B8, 0x397C), 42);
and replace:Code:private static ulong ActivePlayer { get { return GetActivePlayerDelegate(); } } public static bool IsInWorld { get { return ActivePlayer != 0; } }
withCode:ObjectManager.Pulse();
and report back if it still crashing at 0x0047B95F.Code:if(ObjectManager.IsInWorld) ObjectManager.Pulse();
Last edited by TOM_RUS; 02-27-2010 at 08:36 AM.
[16:15:41] Cypher: caus the CPU is a dick
[16:16:07] kynox: CPU is mad
[16:16:15] Cypher: CPU is all like
[16:16:16] Cypher: whatever, i do what i want
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
"I cried a little earlier when I had to poop" - Sku
How should he even be able to hook the WPF endscene? because he shouldn't be injecting a WPF window directly, but rather inject a lib and let that create instances of objectmanager and hooking endscene then create a thread to launch the injected WPF window in
[16:15:41] Cypher: caus the CPU is a dick
[16:16:07] kynox: CPU is mad
[16:16:15] Cypher: CPU is all like
[16:16:16] Cypher: whatever, i do what i want
Ah okay i wasn't aware of that... but i wonder if that might be what causes my WPF window to crash wow when i resize it...
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
"I cried a little earlier when I had to poop" - Sku
As MaiN somewhat pointed out, certain elements of WPF will use DirectX directly. So you'll need to filter out the calls. You'll have EndScene being called from 2 different devices, but using the same function. (That's how vfuncs work!) You'll need to grab WoW's EndScene pointer first (easiest way is to check the current thread ID against WoW's main thread. Your GUI shouldn't be running off WoW's main thread anyway). If it's WoW's device, do all your bot logic. Otherwise, just let it pass through, as it's WPF rendering its controls.
thanks apoc i'll try that now
Last edited by skra; 02-27-2010 at 05:12 PM.
i'ts probably a stupid question but how do i determine which one the mainthread is?