
16.04.2015, 14:13
|
|
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами:
6921957
Репутация:
183
|
|
Вызывать функцию samp. Но для этого тебе нужно будет инжект сделать. ИМХО.
Код отправки взял с соба
Код:
Код:
void say ( char *text, ... )
{
if ( g_SAMP == NULL )
return;
if ( text == NULL )
return;
if ( isBadPtr_readAny(text, 128) )
return;
traceLastFunc( "say()" );
va_list ap;
char tmp[128];
memset( tmp, 0, 128 );
va_start( ap, text );
vsprintf( tmp, text, ap );
va_end( ap );
addSayToChatWindow( tmp );
}
#define FUNC_SAY 0x4CA0
#define FUNC_SENDCMD 0x7BDD0
void addSayToChatWindow ( char *msg )
{
if ( g_SAMP == NULL )
return;
if ( msg == NULL )
return;
if ( isBadPtr_readAny(msg, 128) )
return;
traceLastFunc( "addSayToChatWindow()" );
if ( msg[0] == '/' )
{
uint32_t func = g_dwSAMP_Addr + FUNC_SENDCMD;
__asm push msg
__asm call func
}
else
{
uint32_t func = g_dwSAMP_Addr + FUNC_SAY;
void *lpPtr = g_Players->pLocalPlayer;
__asm mov ebx, dword ptr[lpPtr]
__asm push msg
__asm call func
__asm pop ebx
}
}
|
|
|