SA-MP Forums Archive
[Tool/Web/Other] SA-MP Query Lib [C++] - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+----- Forum: Lançamentos/Releases (https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tool/Web/Other] SA-MP Query Lib [C++] (/showthread.php?tid=652343)



SA-MP Query Lib [C++] - BrunoBM23 - 08.04.2018

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


Re: SA-MP Query Lib [C++] - ThiagoScottish - 08.04.2018

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


Re: SA-MP Query Lib [C++] - PT - 08.04.2018

Bem top bom trabalho