Вопросы

Iskon
Новичок
const ID_AUTH_KEY = 12;
OInternalPacket:ID_AUTH_KEY(playerid, BitStream:bs)
{
    new auth_key[512];

    BS_IgnoreBits(bs, 8); // packetid

    BS_ReadValue(bs, PR_STRING8, auth_key, sizeof(auth_key));
    printf("incoming auth_key %s", auth_key);

    new BitStream:newBs = BS_New();

    BS_WriteValue(newBs,
     PR_UINT8, 12, PR_STRING8, "2DC8A9B16332F78"15);

    PR_SendPacket(newBs, playerid, PR_SYSTEM_PRIORITY, PR_RELIABLE_SEQUENCED);
    BS_Delete(newBs);
    return 0;
}

По идее, этот код должен не отправить оригинальный idauthkey клиенту, а подменять значение idauthkey'a на "2DC8A9B16332F78", но пакет не отправляется клиенту. Как будто функция PR_SendPacket не срабатывает, и клиент ждет ответа от сервера. Как заставить отправить пакет?

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


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

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

  • 0
Iskon
Новичок

Нашел инфу на другом форуме. Вот решение, если кому нужно. 

 

// В конфиге plugins/pawnraknet.cfg строка InterceptOutgoingInternalPacket должна быть true

OInternalPacket:ID_AUTH_KEY(playerid, BitStream:bs)
{
        new auth[] = "2DC8A9B16332F78",
                auth_len = strlen(auth);

        BS_SetWriteOffset(bs, 8);
        
        BS_WriteValue(bs, PR_UINT8, auth_len);
        BS_WriteValue(bs, PR_STRING, auth, auth_len);

        return 1;
}

 

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


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   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); // выход лссд Что я сделал не так?