[Tool/Web/Other] SA-MP Query Lib [C++]
#1

SA-MP Query Lib

Uma simples lib para fazer uma "query" em servidores SA-MP.

Funзхes:
PHP код:
SampQuery(std::string ip, const short port, const int timeout); // Constructor
~SampQuery(); // Destructor
unsigned char GetInformation(ServerInformation *info); // Obtйm informaзгo do servidor, como, nome do servidor, gamemode, lнnguagem, nъmero de slots, etc - Resposta do opcode 'i'.
unsigned char GetPlayersInfo(); // Obtйm informaзгo de jogadores, que й, nome e score - Resposta do opcode 'c'.
unsigned char GetServerRules(); // Obtйm as regras do servidor e valores - Resposta do opcode 'r'. 
As funзхes Get* vгo retornar esses valores:

Quote:

SAMP_QUERY_SUCCESS - 0
SAMP_QUERY_FAILED - 1
SAMP_INVALID_SOCKET - 2

Obtendo informaзгo do servidor - Exemplo 1
PHP код:
SampQuery query("samp.advanced-roleplay.com.br"77771000);
SampQuery::ServerInformation info;
memset(&info0sizeof(info));
if (
query.GetInformation(&info) == SAMP_QUERY_SUCCESS)
{
    
std::cout << info.hostname << std::endl;
    
std::cout << info.gamemode << std::endl;
    
std::cout << info.language << std::endl;
    
std::cout << info.max_players << std::endl;
    
std::cout << info.total_players << std::endl;
    if(
info.is_locked)
        
std::cout << "The server is locked" << std::endl;

Obtendo informaзгo de jogadores - Exemplo 2
PHP код:
SampQuery query("samp.advanced-roleplay.com.br"77771000);
if (
query.GetPlayersInfo() == SAMP_QUERY_SUCCESS)
{
    for (
std::vector<short>::size_type i 0!= query.ServerPlayers.size(); i++)
    {
        
std::cout << query.ServerPlayers[i].name << ' ' << query.ServerPlayers[i].score << std::endl;
    }

Aviso: Nгo esqueзa de usar Ws2_32.lib como dependкncia adicional no seu projeto.

Github
Reply
#2

Legal, testei aqui e atй que ficou bom, parabйns.
Reply
#3

Bem top bom trabalho
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)