Ошибка в функции от плагина Pawn.RakNet

biGliGma

Участник
Автор темы
78
5
Мне надо узнать число не прочитанных бит из рпс. Для этого нужна функция
native BS_GetNumberOfUnreadBits(BitStream:bs, &number); Но когда я вставляю ее в код, появляются такие ошибки, в той строке, куда я ее поставил:
grandlarc.pwn(100) : error 029: invalid expression, assumed zero
grandlarc.pwn(100) : warning 215: expression has no effect
grandlarc.pwn(100) : error 001: expected token: ";", but found ")"
grandlarc.pwn(100) : error 029: invalid expression, assumed zero
grandlarc.pwn(100) : fatal error 107: too many error messages on one line
C++:
IRPC:25(playerid, BitStream:bs)
{
    new iVersion,
    byteMod,
    byteNameLen,
    NickName[24],
    uiClientChallengeResponse,
    byteAuthBSLen,
    auth_bs[4*16],
    iClientVerLen,
    ClientVersion[30],
    number;

    BS_ReadValue(bs,
        PR_INT32, iVersion,
        PR_UINT8, byteMod,
        PR_UINT8, byteNameLen,
        PR_STRING, NickName, byteNameLen,
        PR_UINT32, uiClientChallengeResponse,
        PR_UINT8, byteAuthBSLen,
        PR_STRING, auth_bs, byteAuthBSLen,
        PR_UINT8, iClientVerLen
    );
    BS_GetNumberOfUnreadBits(bs, &number);
    printf("%d %d %d %s %d %d %s %d %s %d", iVersion, byteMod, byteNameLen, NickName, uiClientChallengeResponse, byteAuthBSLen, auth_bs, iClientVerLen, ClientVersion, &number);
    return true;
}
 
Решение
&number это аргумент от нативной функции, ты должен поменять его на свой.
& означает указатель, то есть полученный результат будет записан в какую-то переменную.

C++:
new unread_bits;
BS_GetNumberOfUnreadBits(bs, unread_bits);

repugnantbytheway

Известный
140
38
&number это аргумент от нативной функции, ты должен поменять его на свой.
& означает указатель, то есть полученный результат будет записан в какую-то переменную.

C++:
new unread_bits;
BS_GetNumberOfUnreadBits(bs, unread_bits);
 
  • Нравится
Реакции: biGliGma