- 0
Войдите для возможности подписаться
Подписчики
0
[закрыто] Pawn.RakNet и хлам String
Вопросы
Лучший ответ
Ну во первых используй 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 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От Korochansky
Я рад объявить о выпуске первой публичной версии современной IDE с открытым исходным кодом под лицензией GPLv3 для разработки open.mp и SA-MP, которая отличается интеграцией с SAMPCTL, управлением зависимостями и встроенной поддержкой Git.
Особенности:
• Разработано специально для open.mp и SA-MP разработки.
• Встроенная интеграция с SAMPCTL для создания, запуска и управления проектами.
• Менеджер зависимостей для удобной установки и обновления серверных пакетов и компонентов.
• Встроенная поддержка Git с индикаторами состояния репозитория и историей коммитов.
• Маркеры истории изменений для отслеживания измененных и сохраненных строк.
• Автоматическое сопоставление и выделение скобок
• Предварительный просмотр цвета для значений RGBA и HEX прямо в редакторе.
• Интеграция инструмента выбора цвета для быстрой вставки цветов в код Pawn.
• Режим 'Разделенный редактор кода' для одновременной работы с несколькими файлами.
• Дерево проекта, оптимизированное для крупных проектов.
• Интегрированные панели вывода результатов сборки и консоли сервера.
• Автоматический мониторинг и обновление файлов проектов.
• Портативная версия (установка не требуется).
В репозитории: https://github.com/daniilkorochansky/spawn
-
От Margiela
устал от vs code + он часто конфликтует с маками, конкретно с версией M3(как у меня).
имеются ли аналоги pawno на mac?
-
.037 Освоившийся 4
в чём может быть проблема? Передаю строку через PR_String, и получаю с клиента бред
[05:57:27] RPC - Длина 30 | 0.900000 | 23.400000 | I*(!@dp
И всегда текст разный
Хотя принимаю всё нормально:
Отредактировано пользователем .037
Поделиться сообщением
Ссылка на сообщение