Показать сообщение отдельно

  #1690  
Старый 24.06.2017, 15:33
iAmerican
Постоянный
Регистрация: 17.02.2014
Сообщений: 611
С нами: 6438231

Репутация: 133


По умолчанию

Цитата:
Сообщение от Vesca  

Как обрабатывать сообщения чата? Я имею в виду, как изменить сообщение, которое появляется в чате, прежде чем он это сделает?
Ставишь хук на RPC_ScrClientMessage. В нём добавляешь проверку , на необходимые тебе сообщения.

Если сообщение пришло возвращаешь return false; и выводишь своё сообщение.

C++:





Код:
bool
CALLBACK
incomingRPC
(
stRakNetHookParams
*
params
)
{
if
(
params
->
packetId
==
ScriptRPCEnumeration
::
RPC_ScrClientMessage
)
{
D3DCOLOR color
=
-
1
;
int
length
=
0
;
char
message
[
144
]
{
0
}
;
params
->
bitStream
->
Read
(
color
)
;
params
->
bitStream
->
Read
(
length
)
;
params
->
bitStream
->
Read
(
message
,
length
)
;
if
(
!
strcmp
(
message
,
" "
)
)
return
false
;
if
(
strstr
(
message
,
"Какое то сообщение пришло"
)
!=
NULL
)
{
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
">> Какое то сообщение отредактировано"
)
;
return
false
;
}
return
true
;
}
;


в mainloop , до init = true;

C++:





Код:
SF
->
getRakNet
(
)
->
registerRakNetCallback
(
RakNetScriptHookType
::
RAKHOOK_TYPE_INCOMING_RPC
,
incomingRPC
)
;
 
Ответить с цитированием