Перевод функции из клео в луа

3211Marlon1123

Участник
Автор темы
130
12
Версия MoonLoader
.026-beta
Какая цифра за какой тип данных отвечает тут и как задать размер битстриму при записи данных на луа?
 
Решение
2022-07-23_14-01-28.png



Код:
0B40: raknet bit_stream 1@ write 1 type 2 size 2
1@ - битстрим, write 1 -- то, что записываешь, type 2 - тип данных. size 2 - размер.

Типы данных:
BS_TYPE_BYTE = 0 (целое, один байт)
BS_TYPE_BOOL = 1 (логическое, один бит)
BS_TYPE_SHORT = 2 (целое, два байта)
BS_TYPE_INT = 3 (целое, четыре байта)
BS_TYPE_FLOAT = 4 (дробное, четыре байта)
BS_TYPE_ARRAY = 5 (указатель на строку или массив, неопределенный размер)
BS_TYPE_BITSTREAM = 6 (указатель на битстрим, неопределенный размер)

Размер:
uint16_t ---> 2 bytes.
uint8_t ---> 1 bytes.
char ---> 1 bytes.
bool ---> 1 bytes.
int ---> 4 bytes.
short int ---> 2 bytes.
unsigned int ---> 4 bytes.
unsigned short int ---> 2 bytes.
uint32_t ---> 4 bytes...​

damag

Женюсь на официантке в моем любимом баре
Проверенный
1,152
1,192
2022-07-23_14-01-28.png



Код:
0B40: raknet bit_stream 1@ write 1 type 2 size 2
1@ - битстрим, write 1 -- то, что записываешь, type 2 - тип данных. size 2 - размер.

Типы данных:
BS_TYPE_BYTE = 0 (целое, один байт)
BS_TYPE_BOOL = 1 (логическое, один бит)
BS_TYPE_SHORT = 2 (целое, два байта)
BS_TYPE_INT = 3 (целое, четыре байта)
BS_TYPE_FLOAT = 4 (дробное, четыре байта)
BS_TYPE_ARRAY = 5 (указатель на строку или массив, неопределенный размер)
BS_TYPE_BITSTREAM = 6 (указатель на битстрим, неопределенный размер)

Размер:
uint16_t ---> 2 bytes.
uint8_t ---> 1 bytes.
char ---> 1 bytes.
bool ---> 1 bytes.
int ---> 4 bytes.
short int ---> 2 bytes.
unsigned int ---> 4 bytes.
unsigned short int ---> 2 bytes.
uint32_t ---> 4 bytes.
float ---> 4 bytes.
uint16_t somevariable[2] ---> 2*2 ---> 4 bytes.
void ---> 4 bytes.
DWORD ---> 4 bytes.
float asomevariable[3] ---> 3*4 --->12 bytes.

В твоем случае реализация такая:
Lua:
raknetBitStreamWriteInt16(bs, 1) -- bs битстрим
 
Последнее редактирование: