Вопросы

.037
Освоившийся

Добрый день

В чём может быть проблема, RPC не как не передаётся через Pawn.RakNet

new BitStream:bs = BS_New(), RPC_InvClient = 301;
BS_WriteValue(bs, PR_INT16, id_obj, PR_INT8, strlen("Testing"), PR_STRING, "Testing");
PR_SendRPC(bs, playerid, RPC_InvClient);
BS_Delete(bs);

301 - Кастомный ид RPC, но на стороне клиента, его вообще не ту (не доходит)

В чём может быть проблема?
Со стороны клиента ловлю через SF
 

bool CALLBACK incomingRPC(stRakNetHookParams *params) 
{
    if (params->packetId == 301) 
    {
        SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 0xAA, 0), "Сервер прислал RPC");
    };
    return true; 
};

 

Отредактировано пользователем .037

Поделиться сообщением


Ссылка на сообщение

4 ответа на этот вопрос

  • 0

@.037 проверьте работоспособность каждой из частей системы по отдельности. Например, на клиенте, попробуйте не только 301 пакет отлавливать, а вообще любой, и посмотреть, будет что-то написано в чат или нет. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@.037 значит проблема находится скорее всего на стороне отправителя (еще возможен случай, когда SampFuncs библиотека перед вызовом вашего коллбэка фильтрует параметр пакета и при нестандартном значении игнорирует, но это маловероятно). 

Попробуйте использовать вместо SendRPC вызов SendPacket. 

Если не поможет, попробуйте еще в WriteValue первым добавить номер отправляемого пакета, т.е.

BS_WriteValue(bs, PR_INT32, RPC_InvId, ...)

И также протестить этот вариант с SendRPC и SendPacket

Поделиться сообщением


Ссылка на сообщение
  • 0
.037
Освоившийся

@DEST

 

Тестировал сейчас на мобильном клиенте, также не ловит его...
Проблема в северной части как я понимаю 
P.S: Найду решение, напишу урок

Отредактировано пользователем .037

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Владислав Малиновский
      От Владислав Малиновский
      SWEEK RUSSIA — онлайн игра на телефон с открытым миром, в котором Вы можете создать персонажей вместе со своими друзьями и начать весело проводить время. Вы можете продвигаться по сюжету квестовых миссий или же начать игру с зарабатывания денег в транспортной компании. Создавать организации, подниматься по карьерной лестнице. Заполучив влияние над другими игроками - попробуй себя в роли Президента.
       
      Нам нужны ответственные люди на должность главного администратора. Если вы считаете себя адекватным и ответственным, отпишите в vk.com/devmaksim или t.me/raphmarci.
       
      Официальный сайт проекта - sweekrussia.ru
      Официальный форум проекта - forum.sweekrussia.ru
      Официальное сообщество VK - vk.com/sweekrussia.game
      Официальный TG канал - t.me/sweek_dev
    • bogdan295@gmai
      От bogdan295@gmai
      Здраствуйте, я создавал новую организации когда дело дашло до пикапов они не создаются 
      new lssd1; new lssd2;  else if(pickupid == lssd2)// Вход     {         SetPlayerInteriorEx(playerid,0);         SetPPos(playerid,1567.5510,-1657.9956,5.3859);         SetPlayerFacingAngle(playerid, 500);         return true;     } else if(pickupid == lssd1)// Вsход     {         SetPlayerInteriorEx(playerid,0);         SetPPos(playerid,630.0542,-572.0032,16.3359);         SetPlayerFacingAngle(playerid, 500);         return true;     }     lssd2 = CreatePickupAC(1318,1,626.9653,-571.8394,17.9207, 147); // вход лссд     lssd1 = CreatePickupAC(1318,1,1567.4720,-1660.6494,5.3859, 147); // выход лссд Что я сделал не так?