You can find it with ida or ollydbg
You can find it with ida or ollydbg
Correct pointers for [4.2.2.14545]
Code:public static uint Direct3D9__Device = 0xA80D04; public static uint Direct3D9__Device__OffsetA = 0x27E8; public static uint Direct3D9__Device__OffsetB= 0xA8; public static uint ClntObjMgrGetActivePlayerObjAddress = 0x3410; public static uint Lua_DoStringAddress = 0x426870; public static uint Lua_GetLocalizedTextAddress = 0x1B2140;
so the whole purpose of this mess is to call a function within the context of the main thread right?
why not enumerate the threads in start time order.
write your bytecode to some arbitrary memory location.
hijack the context and profit?
Im just confused why everyone is hooking endscene to call stuff like scriptexecutbuffer.
[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
I must just be lucky then ;p
haven't had anything happen yet as far as a crash is concerned![]()
Hey!
First of all, thanks for writing iHook, it's great, I'm noob enough to have a problem with it
My goal was to code a program in c# which warns the user, if his random dungeon group is ready.
Using your attached example, I managed to hook with the Wow.exe, tested some API stuff (got them from here) (Google <3) .
My problem is, that I can't manage to get "GetLFGProposal" to work.
I tried this ^ but it doesn't return anything.Code:Hook.DoString("lfg = GetLFGProposal()"); Console.WriteLine(Hook.GetLocalizedText("lfg"));
What I noticed is that "proposalExists" is a flag, not a string, still I don't know how to handle this problem. I tried with multiple syntaxes, etc, none working for me. I'm sure this is possible somehow, because the rest of the API is working flawlessly, (primitive stuff like dancing etc.) I'm just stuck with this.
Thanks in forward!
|Leacher:11/2009|Donor:02/2010|Established Member:09/2010|Contributor:09/2010|Elite:08/2013|
Still doesnt return anything
P.s: I found another way: I check the minimap displaywith GetMinimapZoneText(), start a loop, scan it again until it changes, and if it changes, play sound etc. Don't know if it works, but it should, in theory. Yet I want to know how this GetLFGProposal(); works.
..just do:
Code:Hook.DoString("if GetLFGProposal() then proposalExists = \"1\" else proposalExists = \"0\" end"); bool proposalExists = Hook.GetLocalizedText("proposalExists") == "1";
[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
[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
Three chances can cause 'doesnt work' or 'doesnt return anything'. 'DoString()', 'GetLFGProposal()' or 'GetLocalizedText()' work incorrectly. I think it is helpful to debug them individually.
e.g.
1. Execute the code below IN GAME, instead of using 'DoString()', to check what happened on 'GetLFGProposal()'
2. If 'GetLFGProposal()' works fine, try C# code below, and check the result in game:Code:/run print(GetLFGProposal())
3. Check anything else, etc.Code:Hook.DoString("print(GetLFGProposal())");
GL