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

  #6  
Старый 04.03.2020, 00:13
tlwsn
Постоянный
Регистрация: 24.11.2016
Сообщений: 537
С нами: 4982429

Репутация: 78


По умолчанию

Как из строки

Цитата:

Администратор Nick_Name добавил 50000 материалов на склад фракции Grove Gang. Текущее состояние склада: 100000
Достать Nick_Name, 50000, Grove Gang, 100000?

C++:





Код:
bool
CALLBACK
incomingRPC
(
stRakNetHookParams
*
params
)
{
if
(
params
->
packetId
==
ScriptRPCEnumeration
::
RPC_ScrClientMessage
)
{
DWORD color
;
DWORD strlen
;
char
msg
[
144
]
;
params
->
bitStream
->
ResetReadPointer
(
)
;
params
->
bitStream
->
Read
(
color
)
;
params
->
bitStream
->
Read
(
strlen
)
;
params
->
bitStream
->
Read
(
msg
,
strlen
)
;
msg
[
strlen
]
=
'\0'
;
std
::
cmatch res
;
if
(
std
::
regex_search
(
msg
,
res
,
std
::
regex
(
"Администратор (.+) добавил (\\d+) материалов на склад фракции (.+). Текущее состояние склада: (\\d+)"
)
)
)
{
for
(
auto
element
:
res
)
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
-
1
,
"%s"
,
element
)
;
}
SF
->
LogConsole
(
msg
)
;
return
true
;
}
}
;
 
Ответить с цитированием