ingame msgbox problems.....

Posts 1–15 of 17 · Page 1 of 2
ingame msgbox problems.....
I cant get this to work anymore....

here is how i have it.....


Code:
#include <windows.h>
#include "exports.h"
void ShowMessage(char* string, DWORD CShell);
Code:
DWORD CShell          = (DWORD)GetModuleHandleA("CShell.dll");
    ShowMessage("JusCaus TEST!!",CShell); 
   
	while(true)
Code:
return TRUE;
}
void ShowMessage(char* string, DWORD CShell)
{
                DWORD MsgBoxFunc = CShell +0xA4180;
                __asm
		{			push string;
		        	push 0;
	            	push 0x70;
                	push 0x1C;
                	call MsgBoxFunc;
			       add esp, 16;
		}
}

anyhelp?
i think it was 0x71 and 0x1D now
ahhhhh i didnt check it in olly, i just used them from giniyats post... ill check it now....

send error report with those....

---------- Post added at 11:29 PM ---------- Previous post was at 11:22 PM ----------

10146FBC |. 6A 00 PUSH 0 ; |Arg3 = 00000000
10146FBE |. 6A 71 PUSH 71 ; |Arg2 = 00000071
10146FC0 |. 6A 1D PUSH 1D ; |Arg1 = 0000001D
10146FC2 |. E8 B9D1F5FF CALL CShell_u.100A4180 ; \CShell_u.100A4180


yep thats what it is but its not working for me....aghhh
are you talking actually in game? Or just before the game starts?
Quote Originally Posted by StupidFuck View Post
are you talking actually in game? Or just before the game starts?
he is talking about in game msg box not the windowed time.. in game.
this source musst put alter dll main
Code:
void ShowMessageNA(char* string, DWORD CShell)
{
                DWORD MsgBoxFunc = CShell +0xA4180;
                __asm
		{			push string;
		        	push 0;
	            	push 0x70;
                	push 0x1D;
                	call MsgBoxFunc;
			        add esp, 16;
		}
}
try it
its 0x1D not ^^
you dont need to change 0x70
copy whole the vertex lcok failed first lines and you are ready
ill see what happens
Quote Originally Posted by JusCaus View Post
ill see what happens
the functoin for the msg box is c+p from vertex lock failed... here it works
afff not working...
it work for me on cffg
Code:
'void ShowMessage(char* string, DWORD CShell)
{
                DWORD MsgBoxFunc = CShell +0x95C90;
                __asm
		{			push string;
		        	push 0;
	            	push 0x70;
                	push 0x1E;
                	call MsgBoxFunc;
			       add esp, 10;
		}
}
Code:
enum eOffsets
{
   OFFS_IngameMsgBox = 0xA4180
} // ==> eOffsets

void IngameMsgBox(DWORD dwCShellBase, const char *szMessage)
{
   typedef void(__cdecl *pGameMsgBox_t)(DWORD, DWORD, DWORD, const char*);
   pGameMsgBox_t pGameMsgBox = (pGameMsgBox_t)(dwCShellBase + OFFS_IngameMsgBox);
   pGameMsgBox(0x1D, 0x71, 0, szMessage);
} // ==> IngameMsgBox
Why not using a function pointer instead of inline ASM?
Quote Originally Posted by Ende! View Post
Code:
enum eOffsets
{
   OFFS_IngameMsgBox = 0xA4180
} // ==> eOffsets

void IngameMsgBox(DWORD dwCShellBase, const char *szMessage)
{
   typedef void(__cdecl *pGameMsgBox_t)(DWORD, DWORD, DWORD, const char*);
   pGameMsgBox_t pGameMsgBox = (pGameMsgBox_t)(dwCShellBase + OFFS_IngameMsgBox);
   pGameMsgBox(0x1D, 0x71, 0, szMessage);
} // ==> IngameMsgBox
Why not using a function pointer instead of inline ASM?
i can answer your question becouse they leeched the sources (this one is from giniyat) and feel cool
i fixed it a different way...... so pssst
Posts 1–15 of 17 · Page 1 of 2

Post a Reply

Similar Threads

Tags for this Thread

None

Talk with us