barspinoff
Известный
- 126
- 34
А как получить только свой никнейм?Код:Пример перехвата входящего (пришедшего от сервера) RPC_ScrServerJoin: bool CALLBACK incomingRPC( stRakNetHookParams *params ) // определение callback-функции, которая будет вызвана, если от сервера был получен новый RPC. { if( params->packetId == ScriptRPCEnumeration::RPC_ScrServerJoin ) // если это RPC_ScrServerJoin { short int sPlayerID; D3DCOLOR D3DPlayerColor; byte isNPC, nameLen; char szPlayerName[25]; params->bitStream->ResetReadPointer(); // обнуляем оффсет чтения. params->bitStream->Read( sPlayerID ); // читаем ID игрока. params->bitStream->Read( D3DPlayerColor ); // цвет ника игрока. params->bitStream->Read( isNPC ); // флаг, говорящий о том, NPC это или нет. params->bitStream->Read( nameLen ); // длина ника. params->bitStream->Read( szPlayerName, nameLen ); // ник. szPlayerName[ nameLen ]= '\0'; // обрезаем, чтоб не было мусора params->bitStream->ResetReadPointer(); // обнуляем оффсет чтения SF->getSAMP()->getChat()->AddChatMessage( D3DPlayerColor, "%s[%d] Подключился к серверу.", szPlayerName, sPlayerID ); // добавляем сообщение в чат. }; return true; // успешно завершаем обработку RPC. }; SF->getRakNet()->registerRakNetCallback( RakNetScriptHookType::RAKHOOK_TYPE_INCOMING_RPC, incomingRPC ); // регистрируем callback