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] Criando seu sistema básico de administração!

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


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

    [Tutorial] Criando seu sistema básico de administração! Empty [Tutorial] Criando seu sistema básico de administração!

    Mensagem por Weslley_Script Qua 31 maio 2023 - 19:52

    Introduзгo Olб tudo
    bom?
    Eu não sou muito experiente então não venha com chingamentos e ofensas pois não vou nem ligar..

    Vamos usar neste sistema as seguintes includes que podem ser encotradas no tio ******:
    DOF2 - ZCMD - SSCANF

    C omeзando
    Primeiro vamos criar uma variável para hospedar o nível de administrador e a variável que irá hospedar se o administrador estiver trabalhando ou não. (caso nгo saiba oque й uma variбvel vocк precisa saber o basico antes deste tutorial, entгo procure o tutorial do garfild.)
    peão Код:

    Código:
    novo Administrador [ MAX_PLAYERS ] ;
    /*
    Explicação:
    new = Cria a variável.
    Administrador = Nome da variável.
    MAX_PLAYERS = Número máximo de players do servidor.
    */
    new Trabalhando [ MAX_PLAYERS ] ;


    // A Explicação da primeira variável se encaixa nessa também..

    Agora vamos entender algumas funções do DOF2:
    peão Код:

    Código:
    DOF2_GetString // Pega um valor de uma string (como o valor %s).
    DOF2_SetString // Define um valor de uma string.
    DOF2_GetInt // Obtém um valor numérico.
    DOF2_SetInt // Define um valor numérico.
    DOF2_CreateFile // Cria um arquivo.
    DOF2_FileExists // Checa se um arquivo existe.
    DOF2_SaveFile // Salva um arquivo.


    Agora vamos usar um callback(public) OnPlayerConnect para criar/carregar os dados da pasta [b]Admins/NOME DO PLAYER.ini
    [/b]
    peão Код:

    Código:
    public OnPlayerConnect ( playerid )  {
         Trabalhando [ playerid ]  =  0 ; // Caso o player seja administrador entrar em modo jogo..
        new file [ 70 ] ; // Variavel que irá hospedar os dados do player.
        novo snd [ MAX_PLAYER_NAME ] ; // Variavel que irá hospedar o nome do player.
        GetPlayerName ( playerid, snd, sizeof snd ) ; // Funзгo que geta o nome do player e hospeda na variavel snd.
        formatar( arquivo, tamanho do arquivo, "Admins/%s.ini" ,snd ) ; // Irá hospedar os dados do arquivo Admins/nomedoplayer.ini na variavel file.
        if ( DOF2_FileExists ( file ) )  {  // Se o arquivo existir..
             Administrador [ playerid ]  = DOF2_GetInt ( file, "Admin" ) ;


    /*
    Aqui vai hospedar o valor da linha 'Admin' do arquivo hospedado na variável 'file' na variável Administrador que criou no comeзo..
    */
       
    Código:
     }
        else  if ( !DOF2_FileExists ( file ) )  {  // Se o arquivo não existir..
             DOF2_CreateFile ( file ) ; // Cria o arquivo hospedado na variavel file.
            DOF2_SetInt ( arquivo, "Administrador" , 0 ) ; // Seta a linha 'Admin' para o valor '0' que seria sem admin.
            DOF2_SalvarArquivo ( ) ; // Irá salvar o arquivo acima.

            Administrador [ playerid ]  = DOF2_GetInt ( arquivo, "Admin" ) ;


    /*
    Acima criamos e carregamos o arquivo ao mesmo tempo..
    */
       
    Código:
     }
        return true;
    }


    Agora vamos para a última parte que são os comandos!
    É bem simples, basta usar a seguinte função nos comandos:
    peão Код:

    Código:
    if ( Administrador [ playerid ]  ==  0 )  return SendClientMessage ( playerid,0xC0C0C0AA, "Você não é um administrador!" ) ;


    // Isso checa se o jogador que executou o comando é administrador ou nгo..

    Agora basta criar sua criatividade [Tutorial] Criando seu sistema básico de administração! Mrgreen
    Olhe 3 comandos (/admins - /trabalhar - /kick) sem explicações(й sу uma base para você)..
    peão Код:

    Código:
    [left]CMD : admins ( playerid,params [ ] )  {
        #pragma parâmetros não utilizados
        nova string [ 128 ] ;
        for ( new x =  0 ; x < MAX_PLAYERS; x ++ )  {
            if ( Administrador [ i ]  >=  1 )  {
                format ( string, sizeof string, "• Admin: %s Nivel: [Normal] Modo: [%s ]" , Trabalhando [ i ]  ? ( "Trabalhando" )  :  ( "Jogando" ) ) ;
                SendClientMessage ( playerid, -1 , string ) ; } if ( IsPlayerAdmin ( i ) ) { format ( string, sizeof string, "• Admin: %s Nivel: [RCON] Modo: [%s]" ,Trabalhando [ i ] ? ( "Trabalhando" ) : ( "Jogando" ) ) ;             SendClientMessage
           
             
                   
    ( playerid, -1 , string ) ;
            }
        }
        retorna  1 ;
    }

    CMD : trabalhar ( playerid,params [ ] )  {
        #pragma não utilizado params
        new string [ 128 ] , snd [ MAX_PLAYER_NAME ] ;
        GetPlayerName ( playerid, snd, sizeof snd ) ;
        if ( Administrador [ playerid ]  ==  0 || !IsPlayerAdmin ( playerid ) )  return SendClientMessage ( playerid,0xC0C0C0AA, "Você não é um administrador!" ) ;
        if ( Trabalhando [ playerid ]  ==  0 )  {
             SetPlayerHealth ( playerid, cellmax ) ;
            Trabalhando [ playerid ]  =  1 ;
        }
        else  if ( Trabalhando [ playerid ]  ==  1 )  {
            SetPlayerHealth ( playerid, 100 ) ;
            Trabalhando [ playerid ]  =  0 ;
        }
        format ( string, sizeof string, ">> O Administrador %s acaba de %s." ,snd,Trabalhando [ playerid ]  ?  ( "entrar no modo de trabalho" )  :  ( "saiu do modo de trabalho" ) ) ;
        SendClientMessageToAll ( -1 , string ) ;
        retornar  1 ;
    }

    CMD : kick ( playerid,params [ ] )  {
        novo id,motivo [ 128 ] , string [ 128 ] , snd [ MAX_PLAYER_NAME ] ;
        if ( Administrador [ playerid ]  ==  0 || ! IsPlayerAdmin ( playerid ) )  return SendClientMessage ( playerid,0xC0C0C0AA, "Você não é um administrador!" ) ;
        se ( trabalhando[ playerid ]  ==  0 )  return SendClientMessage ( playerid, 0xC0C0C0AA, "Usar: /trabalhar" ) ;
        if ( sscanf ( params, "us" ,id,motivo ) )  return SendClientMessage ( playerid, 0xC0C0C0AA, "Use: /kick [playerid] [motivo]" ) ;
        GetPlayerName ( id,snd, sizeof snd ) ;
        format ( string, sizeof string, ">> O jogador %s foi chutado por %s.",snd,motivo ) ;
        SendClientMessageToAll ( -1 , string ) ;
        Chute ( id ) ;
        retornar  1 ;
    }[/left]


    Espero que gostem! Abraços HumildadeAgain.



    [Tutorial] Criando seu sistema básico de administração! D07Xwqb
    [Tutorial] Criando seu sistema básico de administração! Yjab9HN

      Data/hora atual: Qui 2 maio 2024 - 6:09