Question

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 не срабатывает, и клиент ждет ответа от сервера. Как заставить отправить пакет?

Share this post


Link to post

1 answer to this question

  • 0

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

 

// В конфиге 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;
}

 

Share this post


Link to post
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Мемен Томорли
      Как сделать табличку после бана аккаунта? Типо как на малиновке, когда тебя банят, выдают табличку(скрин приложил), и при входе на сервер такую же табличку давало??