SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 13 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Tutorial] Implementaзгo Discord + SA:MP [Rank/Comandos/Informaзхes]

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11643
    Moedas : 1032951
    Data de inscrição : 06/10/2011
    Idade : 29
    Localização : Brasil

    [Tutorial] Implementaзгo Discord + SA:MP [Rank/Comandos/Informaзхes] Empty [Tutorial] Implementaзгo Discord + SA:MP [Rank/Comandos/Informaзхes]

    Mensagem por Weslley_Script Qua 22 Mar 2023 - 10:56

    [Tutorial] Implementaзгo Discord + SA:MP [Rank/Comandos/Informaзхes] SmileBom dia galera!

    este tutorial ira trazer algo bacana, e muito legal para seus servidores, poderб interagir com um bot, criado de maneira simples, e que interage com seu servidor!

    INTRODUЗГO:
    aqui vocк ira aprender a fazer com que o bot do discord, de-em informaзхes simples como IP do servidor, site, quantos estгo online, e quem estб jogando... alem de muitas coisas!

    NOTAS:
    • й necessбrio que vocк tenha o serviзo SSL instalado com ou sem certificado, para que o bot funcione!
      (nгo irei explicar aqui, por que cada distro tem modo de instalaзгo entгo procure por seu SO)


    • vocк tem que ser dono do servidor para convidar bot (ou ter um cargo elevado)


    • sempre busque o plugin mais atualizado para evitar falhas, e manter estabilidade


    • se forem mostrar para alguйm, me marque nos crйditos, eu ficarei muito feliz por isso!


    • se vocкs melhorarem o cуdigo, nгo guarde para si! coloque aqui para compartilhar seu conhecimento! ^^[/I]


    Criando um bot:

    Vocк precisarб criar um bot primeiro para saber o token de seu bot para o plugin.


    Instalaзгo:

    Configurando o seu bot:

    na sua server cfg, coloque o token de seu bot deste modo, para que
    Código:
    discord_bot_token YOUR_BOT_TOKEN_HERE


    Instale o Plugin Discord Connector

    Baixe a versгo mais atualizada: https://github.com/maddinat0r/samp-d...ector/releases
    e extraia a pasta em seu servidor.

    apуs isso configure a sua server.cfg para carregar o plugin deste modo:
    Código:
    plugins discord-connector


    Instale o processador de comandos DDCMD:

    Instale o DDCMD para que possa trabalhar facilmente com comandos no discord!

    em seu gamemode ficara assim:

    Code:
    Código:
    new DCC_COMMAND_PREFIX[]= {'!','+','/'}; //opcional se quiser personalizar seus prefixos!

    #include <discord-connector> //livraria do bot no discord!
    #include <discord-cmd> //comandos discord


    Colocando funcionalidades ao plugin:

    Sicronizar chat:
    [Tutorial] Implementaзгo Discord + SA:MP [Rank/Comandos/Informaзхes] Unknown
    PHP Code:

    Código:
    #define DC_CHATGLOBAL     "323103597942276096"    //chatid (clique com botao direito nele e copiar o id no discord)
    static DCC_Channel:g_ChatGlobal;
    forward DiscordMessage(DCC_Channel:channel, DCC_User:author, const message[]);
    hook OnGameModeInit()
    {
        g_ChatGlobal     = DCC_FindChannelById( DC_CHATGLOBAL);    //localisar seu chat pretendido
        return Y_HOOKS_CONTINUE_RETURN_1;
    }
    hook OnPlayerText(playerid, text[])
    {
        new message[200];
        format(message, 200, "**`%s`** [%d] -> *`%s`*", GetPlayerNameEx(playerid), playerid, text);//formate de acordo com seu gosto
        DCC_SendChannelMessage(g_ChatGlobal,message);    //envia a menssagem do SA:MP no discord
        return Y_HOOKS_CONTINUE_RETURN_1;
    }
    //DCC_OnChannelMessage(DCC_Channel:channel, DCC_User:author, const message[])  se nгo utilizar o DDCMD
    public DiscordMessage(DCC_Channel:channel, DCC_User:author, const message[])
    {
        if(IsDiscordBot(author)) 
            return 1;    //nгo enviara mensagem de outros bots
        if(g_ChatGlobal != channel)
            return 1;    //caso a mensagem for fora do seu canal escolhido, nгo mostrara no servidor
        new msg[512];
        format(msg, sizeof(msg), "[Discord] {00AAFF}%s{FFFFFF}: %s", GetNickDiscord(author), message);    //formate de acordo com seu gosto
        SendClientMessageToAll(0xFFFFFFFF, msg);    //enviara mesnagem para todos os players
        return 1;
    }
    stock IsDiscordBot(DCC_User:author)    //funзгo simplificada
    {
        new bool:Isabot;
        DCC_IsUserBot(author, Isabot);
        return Isabot;


    Rank de jogadores:
    [Tutorial] Implementaзгo Discord + SA:MP [Rank/Comandos/Informaзхes] Unknown
    Código:
    DDCMD:rank(DCC_Channel:channel, DCC_User:userid, params[])//quando alguem der o comando !rank no discord chamara esta funзгo
    {
        if(!strcmp(params, "pvp", true))
            return DCC_SendChannelMessage(channel,"exemplo");
        else if(!strcmp(params, "score", true))
        {
            //consulta no banco de dados, para pegar 10 primeiros usuarios, com  maior score
            mysql_function_query(mysql, "SELECT `score`,`usuario` from `contas` order by `score` desc LIMIT 10", true, "RankScore_D", "d", channel);
            return 1;
        }
        else if(!strcmp(params, "grana", true))
            return DCC_SendChannelMessage(channel,"exemplo");
        else if(!strcmp(params, "online",true))
            return DCC_SendChannelMessage(channel,"exemplo");
        //parametros incompativeis
        return DCC_SendChannelMessage(channel,"`utilize: /rank [pvp/online/grana/score]`");    //mostrara as suas oзхes de rank
    }
    forward RankScore_D(DCC_Channel:channel);
    public     RankScore_D(DCC_Channel:channel)//resultado da consulta
    {
        new rows,fields;
        cache_get_data(rows,fields);//captar numero de linhas e colunas    
        
        //str -> serб formataзгo da menssagem
        //temp-> formataзгo da linha antes de inserir na str
        //score-> valor obetido do player
        //nick-> nome do jogador
        //``` -> criara campo [code] no discord (design mais bonito)
        //PHP -> deixar uma cor legal no campo CODE
        new str[1010]="```PHP",nick[MAX_PLAYER_NAME],temp[100], score;
        for(new i = 0; i < rows; i++)//looping para os 10 mais pontuados (caso nгo houver 10 contas mostrara a menos!)
        {
            cache_get_field_content(i, "usuario", nick);    //receber nome do jogador
            score = cache_get_field_content_int(i, "score");//receber o score
            // %c -> char 
            //0xD, 0xA -> char quebra linha 
            //I+1 -> a contagem comeзa do 0, entгo adiciona +1 para ser de numeraзгo 1° ao 10°
            //nick-> nome do jogador
            format(temp, sizeof(temp), "%c%c[%02d] %s", 0xD, 0xA, i+1, nick);
            strcat(str, temp);//colocara a linha formata na string str
            //conta o tamanho do nick
            new e = ESPACO_RANK - strlen(nick);//e -> espaзos
            //conforme tamanho do nick, sera adiciona X espaзos para que fique alinhado
            for(new o = 0; o < e; o++)//o looping secundario
                strcat(str, " "); //adiciona espaзos
            //mostrar o score do jogador depois de alinhas os caracteres
            format(temp, sizeof(temp), "#SCORE: %d", score);
            strcat(str, temp);//finalizaria aquela linha para repetir looping no proximo jogador
        }
        strcat(str, "```");// fechara campo [code] apуs o looping acabar de todos os jogadores estarem no rank
        DCC_SendChannelMessage(channel,"**`TOP 10 JOGADORES DE MAIOR SCORE:`**");//personalize de acordo sua preferencia
        DCC_SendChannelMessage(channel,str);//mostrara resultado do TOP 10
        return 1;
    } [/code]

    [center]CREDITOS:[/center]
    [center]RazorG Tutorial & Codigos[/center]
    [center]Xeon:tm: DDCMD[/center]
    [center]maddinat0r DiscordConnector[/center]
    [/code]



    [Tutorial] Implementaзгo Discord + SA:MP [Rank/Comandos/Informaзхes] D07Xwqb
    [Tutorial] Implementaзгo Discord + SA:MP [Rank/Comandos/Informaзхes] Yjab9HN

      Data/hora atual: Seg 25 Nov 2024 - 21:54