
22.04.2017, 15:10
|
|
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,262
С нами:
6935116
Репутация:
183
|
|
Сообщение от Снежок
Пытаюсь сделать хук на входящие сообщения, проблема старая - не могу нормально считать строки. Думал проблема в том что буффер значительно больше строки, решил вычесть отступ в два байта (согласно логу рэклоггера) из общего размера пакета, чтобы получить размер строки, которая там будет находиться (ею кончается пакет, как я понял)
Но мне не разрешает выставлять переменную в качестве размера другой переменной.
Если же поставить как раньше - размер в 144 байта, будет выводиться пустая строка в чат
Сил уже нет никаких с этими строками воевать, скажите что я не так делаю-то, фыр
C++:
Код:
bool
CALLBACK
irpc
(
stRakNetHookParams
*
params
)
{
if
(
params
->
packetId
==
101
)
{
params
->
bitStream
->
ResetReadPointer
(
)
;
int
qwe
=
params
->
bitStream
->
GetNumberOfBitsUsed
(
)
;
int
qq
=
(
qwe
-
16
)
;
params
->
bitStream
->
IgnoreBits
(
16
)
;
int
ww
=
BITS_TO_BYTES
(
qq
)
;
char
ttt
[
ww
]
;
params
->
bitStream
->
Read
(
ttt
)
;
std
::
string
str
(
ttt
)
;
SF
->
getSAMP
(
)
->
getChat
(
)
->
AddChatMessage
(
555555
,
"%s"
,
ttt
)
;
//byte packId;
//params->bitStream->Read(packId);
//D3DCOLOR color;
//params->bitStream->Read(color);
}
return
true
;
}
C++:
Код:
D3DCOLOR color
=
-
1
;
int
length
=
0
;
char
message
[
256
]
{
0
}
;
param
->
bitStream
->
Read
(
color
)
;
param
->
bitStream
->
Read
(
length
)
;
param
->
bitStream
->
Read
(
message
,
length
)
;
|
|
|