Um.. I think the state is last param instead of first if it is the right function.
Edit: It is the correct address.
Code:
typedef void ( __cdecl * tLua_DoString )( char * pszString, char * pszString2, void * pState );
tLua_DoString Lua_DoString = reinterpret_cast<tLua_DoString>( 0x0049AAB0 );
Lua_DoString("message(\"Hello World!\")","message(\"Hello World!\")", NULL) // You don't have to have pState for DoString, you can pass NULL.
Edit2: Make sure your pState is correct, because I am getting mine differently.