SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

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

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 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] Como criar um sistema temporário

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11378
    Moedas : 1031977
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] Como criar um sistema temporário Empty [Tutorial] Como criar um sistema temporário

    Mensagem por Weslley_Script Sex 12 maio 2023 - 11:26

    Aqui vai um rápido tutorial de como criar um sistema temporário.
    • O que vou precisar?

    [list="box-sizing: border-box; margin-bottom: 10px; color: rgb(51, 51, 51); font-family:"][*]De uma include para o Salvamento, será usado no tutorial a DOF2.

    [*]Da inclui a_samp.

    [*]Da include ConvertDays, Download Aqui .

    [*]De uma include de processamento de comandos, no tutorial vou esperar ZCMD + SSCANF.

    [/list]
    • Criando o sistema temporario


    [list="box-sizing: border-box; margin-bottom: 10px; color: rgb(51, 51, 51); font-family:"][*]Instalaremos como inclui no GameMode
    peão Код:

    Código:
    #include <a_samp>
    // Usaremos alguns callback's e nativos dela.
    #include <ConvertDays>
    // Trabalharemos os sistemas temporários com ela.
    #include <DOF2>
    // Salvaremos as informações com ela.
    #include <zcmd>
    // Criamos os comandos com ela.
    #include <sscanf>
    // Trabalharemos com os parâmetros do ZCMD com ela.



    [*]Criando um TempSystem definido
    peão Код:

    Código:
    #define TempSystem "/TempSystem/%s.ini" // Troque TempSystem pela pasta em que permaneceram os seus sistemas temporários.



    [*]Criando a variável que armazenamos os dados do sistema temporário
    peão Код:

    Código:
    novo Sistema Temporário [ MAX_PLAYERS ] ;



    [*]Vamos setar o TemporarySystem assim que ele conectar(Logicamente que se for um sistema de ban ele, nгo continuarб online e precisarб ser kickado.):
    peão Код:

    Código:
    public OnPlayerConnect ( playerid )  // Este callback é chamado quando o jogador se conecta ao servidor
    {
         TemporarySystem [ playerid ]  =  0 ; // Definiremos o tempo de TemporarySystem para 0, para não haver bug's
        new string [ 70 ] , pname [ MAX_PLAYER_NAME ] ; // criaremos uma variavel para armazenar os textos a serem enviados e o nome do jogador.
        GetPlayerName ( playerid, pname, sizeof ( pname ) ) ;// Pegamos o nome do jogador
        format ( string, sizeof ( string ) , TempSystem, pname ) ;  // salvamos na string um texto que equivale a um arquivo que esta ou não salvo como nickdojogador.ini
        if ​​( DOF2_FileExists ( string ) )  // Caso o arquivo exista continueб
        {
             TemporarySystem [ playerid ]  = DOF2_GetInt ( string, "Dias" ) ; // Pegaremos os dias do TemporarySystem.
            if ( VerifyExpiredDays (TemporarySystem [ playerid ] ) )  // Caso tenha expirado
            {
                 SendClientMessage ( playerid, - 1 , "Seu tempo de TemporarySystemName expirou!" ) ; // Enviamos a mensagem ao player.
                TemporarySystem [ playerid ]  =  0 ; TemporarySystem [ playerid ]  =  0 ; // Setamos o tempo de TemporarySystem para 0, pois não existe mais TemporarySystemName pro playerid.
            }
            else  // caso não tenha expirado
            {
                format ( string, sizeof ( string ) , "Você tem %s de TemporarySystemName" , ConvertToDays ( TemporarySystem [ playerid ] ) ) ; // formataremos a mensagem a ser enviada
                 SendClientMessage ( playerid, - 1 , string ) ; // Enviamos a mensagem
            }
        }
        return  1 ; // retornamos o valor 1(verdadeiro)
    }


    [*]Criando o comando de setagem do sistema temporario
    peão Код:

    Código:
    CMD : settempsystem ( playerid, params [ ] )  // definimos um comando, também definimos que nele usaremos o playerid e os params(parametros).
    {
        novo id, dias, pname [ MAX_PLAYER_NAME ] ; // o id do jogador que recebeá o benefício do sistema temporário, uma também para o nome do jogador, e os dias do sistema temporário.

        if ( sscanf ( params, "ud" , id, days ) )  // Pega os parametros e joga nas variaveis.
            return SendClientMessage ( ID do jogador, 0xFF0000AA,"Uso Correto: /setvip [id] [dias]" ) ; // Envia caso nгo for possivel pegar os parametros e jogar nas variaveis.

        if ( IsPlayerAdmin ( playerid ) )  // Se o jogador estiver logado na rcon continuarб.
        {
            if ( dias <  0 )  return SendClientMessage ( playerid, 0xFF0000AA, "Digite um número de dias válidos!" ) ; // Se os dias menores foram que 0 retornará este erro.
            if ( IsPlayerConnected ( id ) ) // Se o jogador (id) estiver conectado continueб.
            {
                 GetPlayerName ( id, pname, sizeof ( pname ) ) ; // Pegamos o nome do jogador
                 TemporarySystem [ id ]  = ConvertDays ( days ) ; // Daremos ao jogador o total de dias ja convertidos.
                nova string [ 85 ] ; // criaremos uma variável para armazenar os textos a serem enviados.
                formato ( string, sizeof ( string ) ,"** Você deu %d dias de TemporarySystemName para %s." , dias, pname ) ; // pegaremos o texto e enviaremos para string.
                SendClientMessage ( playerid, -1 , string ) ; // Enviaremos uma mensagem ao jogador que solicitou o comando format ( string, sizeof ( string ) , "** Vocк recebeu %d dias de TemporarySystemName." , days, pname ) ; // pegaremos o texto e enviaremos para string.             SendClientMessage ( playerid, -1 , string
               
    ) ; // Enviaremos uma mensagem ao jogador que solicitou o comando

                format ( string, sizeof ( string ) , TempSystem, pname ) ; // salvamos na string um texto que equivale a um arquivo que esta ou não salvo como nickdojogador.ini
                 DOF2_CreateFile ( TempSystem ) ; // Criaremos o arquivo.
                DOF2_SetInt ( TempSystem, "Dias" , TemporarySystem [ id ] ) ; // Salvaremos os dias.
                DOF2_SalvarArquivo ( ) ;// Salvaremos o arquivo.
            }
            else  // Caso não esteja conectado na conexão...
                return SendClientMessage ( playerid, 0xFF0000AA, "ERRO: Este jogador não está conectado!" ) ; // retornará este ERRO.

        }
        else  // Caso não esteja logado no Rcon...
            return SendClientMessage ( playerid, 0xFF0000AA, "ERRO: Você não está logado na RCON" ) ; // retornará este ERRO.

        retornar verdadeiro; // retornamos que o comando foi executado com sucesso.
    }



    [/list]
    Se Tiver dúvidas, comente, as explicações estão do lado das funções.
    • Creditos


    [list="box-sizing: border-box; margin-bottom: 10px; color: rgb(51, 51, 51); font-family:"][*]DanDRT - Tutorial

    [*]Willian Luigi - Apoio moral e ajuda na include ConvertDays :3

    [/list]



    [Tutorial] Como criar um sistema temporário D07Xwqb
    [Tutorial] Como criar um sistema temporário Yjab9HN

      Data/hora atual: Qua 8 maio 2024 - 19:04