Question

qqaaalll
Новичок

Проблема изложена в названии темы.

 

Код из мода

public OnIncomingPacket(playerid, packetid, BitStream:bs)
{
    new data[100], string[100], byteNameLen;

    BS_IgnoreBits(bs, 8);
    BS_ReadValue(bs, PR_STRING, data);

    /* format(string, 10, "%d", packetid);
    SendClientMessage(playerid, -1, string); */

    switch(packetid)
    {
        case PACKET_TEST:
        {
            format(string, 100, "Received %d packet: %s len: %s", packetid, data, byteNameLen);
            SendClientMessage(playerid, -1, string);
            return 1;
        }
    }
    return 1;
}

Код из .lua

PACKET_CUSTOM = 251
PACKET_DATA = "78"
COLOR = 0x00BFFF

function main()

    if not isSampLoaded() or not isSampfuncsLoaded() then
        return
    end

    while not isSampAvailable() do
        wait(100)
    end

    sampAddChatMessage("Скрипт загружен", COLOR)

    while true do

        wait(0)
        if isKeyJustPressed(0x42) then

            bs = raknetNewBitStream()
            raknetBitStreamWriteInt8(bs, PACKET_CUSTOM)
            raknetBitStreamWriteString(bs, PACKET_DATA)
            raknetSendBitStream(bs)

            sampAddChatMessage("Пакет отправлен", COLOR)

        end
    end
end

 

Если передавать число ( в моде указываю PR_INT8, new data[100] меняю на new data, в format меняю %s на %d; в .lua raknetBitStreamWriteString меняю на raknetBitStreamWriteInt8 и передаю число вторым параметром ) то всё получается, и в сампе мне приходит сообщение с цифрой которую я указал в .lua. Также заметил, что если заменить PR_STRING на PR_INT8 и передать строку, то в data записывается ASCII код первого символа из передаваемой строки, подозреваю что здесь проблема в PR_STRING.

Share this post


Link to post

1 answer to this question

  • 0
qqaaalll
Новичок

Я разобрался - нужно было в BS_ReadValue(bs, PR_STRING, data); четвёртым аргументом передать длину строки в байтах.

Её можно получить в функции BS_GetNumberOfUnreadBits(bs, <переменная в которую нужно записать байты>);

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • vicegame
      By vicegame
      Доброго времени суток уважаемые форумчане
      Хочу представить наши услуги и цены:
      GTA SAMP от 75руб
      GTA CRMP от 75 руб
      GTA MTA от 120 руб
      Для каждого тарифа неограниченные слоты, оплата только за ресурсы 
      Удобная панель управления и широкий функционал 
      Работаем с 2023 года!
       
      Также имеются БЕСПЛАТНЫЕ тарифы для (ознакомительных целей)
       
      Мощные процессоры Ryzen 5950X (Германия)
       
      Платежная система YooKassa на борту:
      Банковские карты
      SberPay
      TinkoffPay
      Yoomoney

      Ссылка на хостинг: ТЫК
    • hatriyikko
      By hatriyikko
      Требуется мобильная сборка мод + клиент + лаунчер

      Копия Радмира, Блэк Раши или что-то другое с аналогичным функционалом. Основной упор на бизнесы, чтобы всё исправно работало
       
      Напишите сколько это будет стоить?

      В дальнейшем также могут понадобиться какие то доработки мода, если всё ок рассматриваю долгосрочное сотрудничество

      Связь тут или в тг @kovart7
    • whccompany
      By whccompany
      World Hosting Corporations 
                                                                GTA Game Host 
                                               CRMP PC& Mobile Project 
                                           Rostov Role Play | Rostov RP 
      Друзья, нашему проекту срочно требуется маппер для масштабного маппинга, нам требуется сделать:
      1) Городской маппинг (удалить города и создать новые города, сначало необходимо создать город Ростов-на-Дону ; посёлок Коксовый и село Ряженое, создать используя стоковые фотографии из Яндекса и Гугла)
      2) Фракционный маппинг ( Текстуры + Экстерьер + Интерьер )
      3) Маппинг работ ( Текстуры + Экстерьеры + Интерьеры )
      Бюджет до 60 000 рублей
      Возможно заключение трудового контракта 
      Пишите: ВКонтакте

    • gooding
      By gooding


      Скачать файл PAR RP | Уникальный мод без багов
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
       
       

      Добавил gooding Добавлено 20.11.2024 Категория Моды Автор GOODING (Я)  
    • gooding
      By gooding
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.