- 0
Войдите для возможности подписаться
Подписчики
0

[закрыто] Pawn.RakNet и хлам String
Вопрос от
.037
,
Вопросы
Лучший ответ
Ну во первых используй strlen вместо sizeof. ( в данном случае )
strlen() используется для получения длины строки, хранящейся в массиве.
sizeof() используется для получения фактического размера.
Во вторых ты должен предварительно записать длину строки.
Твой код должен будет выглядеть так:
CMD:TestData(playerid, params[])
{
new msg[] = "Code_Test";
new BitStream:bs = BS_New();
BS_WriteFloat(bs,0.9);
BS_WriteFloat(bs,23.4);
BS_WriteUint8(bs, strlen(msg));
BS_WriteString(bs, msg);
PR_SendRPC(bs, playerid, 179);
BS_Delete(bs);
return 1;
}
Клиентская сторона будет выглядеть так:
bool CALLBACK Hok_RPC_BYTE(stRakNetHookParams *params)
{
if (params->packetId == 179)
{
SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 0xAA, 0), "Кастомный RPC работает!!!");
float test, test1;
std::string szPlayerName;
uint8_t len;
params->bitStream->ResetReadPointer();
params->bitStream->Read(test);
params->bitStream->Read(test1);
params->bitStream->Read(len);
text.reserve(len);
params->bitStream->Read(const_cast<char*>(szPlayerName.data()), len);
params->bitStream->ResetReadPointer();
SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 0xAA, 0), "RPC - Длина %f | %f | %s | %d", test , test1, szPlayerName.c_str(), len);
}
return true;
};
В третьих, дефайн BS_WriteString принимает два аргумента ( line github pawn.raknet )

Эта тема закрыта для публикации ответов.
Войдите для возможности подписаться
Подписчики
0
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От Zelixsz
Привет, при попытке запустить сервер появляется такая ошибка.
Буду благодарен за любую помощь
MySQL: подключаюсь к localhost (Логин: root | БД: adamandrp) MySQL: не удалось подключиться к localhost
-
От gooding
Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
Основа данного мода: Cruela RP
-
От gooding
Скачать файл PAR RP | Доработанный мод Cruela RP | Без багов
Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
Основа данного мода: Cruela RP
Добавил gooding Добавлено 20.11.2024 Категория Моды Автор GOODING (Я)
-
Опубликовано (изменено) · Жалоба
в чём может быть проблема? Передаю строку через PR_String, и получаю с клиента бред
[05:57:27] RPC - Длина 30 | 0.900000 | 23.400000 | I*(!@dp
И всегда текст разный
Хотя принимаю всё нормально:
Отредактировано пользователем .037
Поделиться сообщением
Ссылка на сообщение