Вывод параметров ClientJoin

biGliGma

Участник
Автор темы
78
5
Как можно реализовать вывод или в игре или в консоль, параметров рпс ClientJoin(мод, ауткей, версия клиента)?
 
Решение
C++:
IRPC:25(playerid, BitStream:bs)
{
    new iVersion,
    byteMod,
    byteNameLen,
    NickName[24],
    uiClientChallengeResponse,
    byteAuthBSLen,
    auth_bs[4*16],
    iClientVerLen,
    ClientVersion[30];

    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,
        PR_STRING, ClientVersion, iClientVerLen
    );
    printf("%d %d %d %s %d %d %s %d %s", iVersion, byteMod, byteNameLen, NickName, uiClientChallengeResponse, byteAuthBSLen, auth_bs, iClientVerLen, ClientVersion)
}

repugnantbytheway

Известный
138
39
C++:
IRPC:25(playerid, BitStream:bs)
{
    new iVersion,
    byteMod,
    byteNameLen,
    NickName[24],
    uiClientChallengeResponse,
    byteAuthBSLen,
    auth_bs[4*16],
    iClientVerLen,
    ClientVersion[30];

    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,
        PR_STRING, ClientVersion, iClientVerLen
    );
    printf("%d %d %d %s %d %d %s %d %s", iVersion, byteMod, byteNameLen, NickName, uiClientChallengeResponse, byteAuthBSLen, auth_bs, iClientVerLen, ClientVersion)
}
 
Последнее редактирование:

biGliGma

Участник
Автор темы
78
5
Вставил я твой код, вот такие ошибки вылезли. Заранее извиняюсь за возможно глупые вопросы, впервые пробую работать с павно.
C++:
IRPC:25(playerid, BitStream:bs)
{
    new iVersion,
    byteMod,
    byteNameLen,
    NickName[24],
    uiClientChallengeResponse,
    byteAuthBSLen,
    auth_bs[4*16],
    iClientVerLen,
    ClientVersion[30];

    BS_ReadValue(bs,
        RNM_INT32, iVersion,
        RNM_UINT8, byteMod,
        RNM_UINT8, byteNameLen,
        RNM_STRING, NickName, byteNameLen,
        RNM_UINT32, uiClientChallengeResponse,
        RNM_UINT8, byteAuthBSLen,
        RNM_STRING, auth_bs, byteAuthBSLen,
        RNM_UINT8, iClientVerLen,
        RNM_STRING, ClientVersion, iClientVerLen
    );
    printf("%d %d %d %s %d %d %s %d %s", iVersion, byteMod, byteNameLen, NickName, uiClientChallengeResponse, byteAuthBSLen, auth_bs, iClientVerLen, ClientVersion)
}


sPYH1YuGGew.jpg
Разобрался, подключил плагин. Но осталась еще одна ошибка.
MFOfCW3tgCA.jpg
 
Последнее редактирование:

biGliGma

Участник
Автор темы
78
5
RNM на PR везде замени. RNM_UINT8 -> PR_UINT8, и вот так в каждом аргументе в BS_ReadValue.
Спасибо заработало, но теперь после того как мне в консоль выдает эти значения, меня дальше к серваку не подключает и не происходит событие OnPlayerConnect.
hCqTa6LczzY.jpg
zx4DfAwB0Gc.jpg
 

Majunti

Известный
527
165
Та же версия, ты правильно установил? .inc надо ставить в павно-инклуд, а .dll в папку плагинс.
Когда я поставил pawn.raknet 1.4.1 при компиляции выбежали ошибки
Pawn.RakNet.inc(961) : error 017: undefined symbol "INVALID_PLAYER_ID"
В строке
stock PR_SendPacketToVehicleStream(BitStream:bs, vehicleid, excludedplayerid = INVALID_PLAYER_ID, PR_PacketPriority:priority = PR_HIGH_PRIORITY, PR_PacketReliability:reliability = PR_RELIABLE_ORDERED)