Просмотр полной версии : HandleRPCPacketFunc
plakapenka
27.03.2017, 22:07
Помогите распарсить пакет RPC_SetObjectMaterial
тип вот так ведь делать нужно?
C++:
char
data
[
255
]
;
bsData
.
Read
(
data
)
;
но в пакете длина строки не передается, а без неё как?
или как-то по другому можн?
скажите в каком направлении копать хотябы
И вообще как узнать в каком виде пакет передается?
знаю что в pawn функция выглядит так
PHP:
SetObjectMaterial
(
myobject
,
0
,
19341
,
"egg_texts"
,
"easter_egg01"
,
0xFFFFFFFF
)
;
значит и в пакете как-то так должно передаваться
Dark_Knight
27.03.2017, 22:16
Читай каждый параметр отдельно. По другому никак.
BlackKnigga
27.03.2017, 22:49
Помогите распарсить пакет RPC_SetObjectMaterial
тип вот так ведь делать нужно?
C++:
char
data
[
255
]
;
bsData
.
Read
(
data
)
;
но в пакете длина строки не передается, а без неё как?
или как-то по другому можн?
скажите в каком направлении копать хотябы
И вообще как узнать в каком виде пакет передается?
знаю что в pawn функция выглядит так
PHP:
SetObjectMaterial
(
myobject
,
0
,
19341
,
"egg_texts"
,
"easter_egg01"
,
0xFFFFFFFF
)
;
значит и в пакете как-то так должно передаваться
Разбирай рпц RakLogger'ом
plakapenka
27.03.2017, 23:19
Чот яснее не стало:wall:
http://blob:https://www.blast.hk/86bc2eab-2f39-4193-a489-05c720c8f9a0
plakapenka
27.03.2017, 23:53
как так же распарсить через соб?
C++:
BitStream
bsData
(
rpcParams
->
input
,
rpcParams
->
numberOfBitsOfData
/
8
,
false
)
;
int
asd1
;
bsData
.
Read
(
asd1
)
;
intasd2
;
bsData
.
Read
(
asd2
)
;
char
asd3
[
20
]
;
bsData
.
Read
(
asd3
)
;
char
asd4
[
20
]
;
bsData
.
Read
(
asd4
)
;
addMessageToChatWindow
(
"%d, %d, %s, %s"
,
asd1
,
asd2
,
asd3
,
asd4
)
;
дает набор каракуль
https://forum.antichat.xyz/attachments/27141502/
itsLegend
28.03.2017, 00:06
У тебя массив не закрыт нуль-терминирующим символом, поэтому и выводит лишнее.
Dark_Knight
28.03.2017, 01:37
Плюс сначала надо читать длину строки, а потом уже строку.
plakapenka
28.03.2017, 01:38
но я ведь не знаю длинну получаемой строки. Как его тогда закрыть?
как узнать длину?
itsLegend
28.03.2017, 02:04
Обычно перед строкой записывается её длина (byte/short/integer, зависит от структуры RPC/пакета)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot