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] O Básico do para começar um projeto!

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


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

    [Tutorial] O Básico do para começar um projeto! Empty [Tutorial] O Básico do para começar um projeto!

    Mensagem por Weslley_Script Sáb 6 maio 2023 - 6:14

    Bom, sou Antonio Rodrigues mais conhecido como Toni Santolia..

    Eu espero dar dicas básicas e ensinar a base de alguns sistemas para começar seu gamemode..

    • Sinopse:
    -- Dicas iniciais.
    -- Enumeradores e Variáveis.
    -- Macros.
    -- Cálculos.
    -- Rotações.
    -- Comandos (ZCMD - SSCANF2).


    • Dicas Iniciais:

    Bom, o interessante para se montar um projeto é planejar bem o que vai ter no servidor.. Como por exemplo, sistema de registro, sistema de administrador dinâmico, sistema para defecar (vai que..) e etc..

    Então o legal era fazer uma lista como esta:

    De que será o servidor:
    Sistemas iniciais:
    Sistemas complexos:
    Novidades:
    Organização Administrativa:

    e oque vier na sua cabeça [Tutorial] O Básico do para começar um projeto! Smile

    • Variáveis:

    Bom, vamos começar falando sobre as variáveis..

    Variáveis ​​como o próprio nome já diz.. São símbolos simples que são criados para receber valores variados.

    Exemplo:

    Temos uma questão de matemática onde X = Y + 10 logo que Y = 10.. Como fazer para imprimir esses valores?
    peão Код:

    Código:
    X = Y +  10
     Y =  10 ;
    X =  10  +  10
     X =  20


    Simples.. nгo?

    Já na linguagem peão as variáveis ​​são concomitantes de uma new (função que cria a variável) e no final recebe ponto e virgula ( ; ) que faz o compilador entender que a linha terminou ali.

    Exemplo:
    peão Код:

    Código:
    novo Toni_Gostoso;


    Já para definir um valor nessa variável eu poderia ir em qualquer comando ou callback e fazer da seguinte forma:
    peão Код:

    Código:
    public OnPlayerConnect ( playerid )
    {
         Toni_Gostoso =  1 ; // Logo a variável Toni_Gostoso irá receber o valor 1.
        return true;
    }


    Ai você pergunta.. Mais iai tiu? Como fazer para definir esse valor para um jogador específico?

    Para definir um valor para um jogador específico, você antes deve saber que cada jogador que entra em seu servidor recebe um ID ъnico para em quanto ele está conectado. Exemplo: 3 Jogadores entram no servidor na seguinte ordem.. João_Pedro , Clebinho_PauPreto e Ze_Bruno.

    No servidor a ordem de ID seria:

    João_Pedro ( 0 )
    Clebinho_PauPreto ( 1 )
    Ze_Bruno ( 2 )

    Lembrando que a contagem se inicia de 0.. Exemplo: 0 1 2 3 4 5 6 7 8 9 [ ... ]

    No SA: MP existe o MAX_PLAYERS não qual pode ser usado da seguinte forma:
    peão Код:

    Código:
    novo Toni_Gostoso [ MAX_PLAYERS ] ;


    ai quando o jogador conecta-se ele irá receber no seu ID prуprio o valor 1.. Para isso teria que fazer da seguinte maneira:
    peão Код:

    Código:
    public OnPlayerConnect ( playerid )
    {
         Toni_Gostoso [ playerid ]  =  1 ;
        retornar  1 ;
    }


    playerid é a função que irá getar o ID do player para que o valor da variável fique 1 para ele..

    Bom, as variáveis ​​são classificadas da seguinte forma:

    Comum - Booleana - Float - String - Estética

    Variavel Comum: A Variavel comum é como a que nуs vimos acima..
    peão Код:

    Código:
    novo Toni_Gostoso [ MAX_PLAYERS ] ;


    Não tem muito o que explicar..

    Variável Booleana: Para entender mais sobre ela pode ler o tutorial não sou muito bom para explicar [Tutorial] O Básico do para começar um projeto! Smile

    Variavel Float: A Variavel do tipo Float é ideal para receber dados como coordenados.. Exemplo usando GetPlayerPos:
    peão Код:

    Código:
    new  Float : PosicaoPlayerid [ 3 ] ;


    GetPlayerPos ( playerid, PosicaoPlayerid [ 0 ] ,PosicaoPlayerid [ 1 ] , PosicaoPlayerid [ 2 ] ) ;

    Variável String: Uma Variável do tipo string é ideal para armazenar qualquer tipo de texto.. Um Exemplo para formatar uma mensagem usando string, float e a função GetPlayerPos:
    peão Код:

    Código:
    new
        Float : PosicaoPlayerid [ 3 ] ,
        String [ 128 ] ; // 128 é a quantidade de caracteres que pode ser usada no máximo na sua mensagem . format ( string, sizeof string, "Posição atual: %f.%f.%f" , PosiçãoPlayerid [ 0 ] , PosiçãoPlayerid [

    1 ] , PosicaoPlayerid [ 2 ] ) ;
    SendClientMessage ( playerid, 0xFFFFFF, string ) ;


    Variável Estética: Não me aprofundei no assunto.. Então se alguém quiser colocar uma explicação deixe nos comentários [Tutorial] O Básico do para começar um projeto! Smile

    As Variáveis ​​podem ser tanto Globais como Locais:

    Variáveis ​​Locais: Uma variável local sу pode ser usada em um único lugar, por exemplo:
    peão Код:

    Código:
    CMD : teste ( playerid )  {
        novo teste;
        if ( teste == 1 )  return SendClientMessage ( playerid, 0xFFFFFF00, "Está variável só pode ser usada dentro deste comando." ) ;
        retornar verdadeiro;
    }


    Variaveis Globais: Elas podem ser usadas em qualquer parte do gamemode.. Exemplo:
    peão Код:

    Código:
    // Topo do Script:
    new VariavelGlobal;
    CMD : teste ( playerid )  {
        if ( VariavelGlobal == 1 )  return SendClientMessage ( playerid, 0xFFFFFF00, "Posso usar ela nesse comando" ) ;
        retornar verdadeiro;
    }
    CMD : teste1 ( playerid )  {
        if ( VariavelGlobal == 2 )  return SendClientMessage ( playerid, 0xFFFFFF00,"Posso usar ela nesse comando também." ) ;
        retornar verdadeiro;
    }


    • Enumeradores:

    Oque sгo?
    Enumeradores em peão são uma forma de agrupar várias variáveis ​​que vão ser utilizadas para a mesma função ou com o mesmo intuito.

    Ai você me pergunta: Mas como assim?

    Exemplo:
    peão Код:

    Código:
    nova variavel1 [ MAX_PLAYERS ] ;
    nova variavel2 [ MAX_PLAYERS ] ;


    você poderia usar:
    peão Код:

    Código:
    enum GrupoVariaveis {
         var1,
        var2
    } ;
    novo VariavelGlobal [ MAX_PLAYERS ] [ GrupoVariaveis ] ;


    Como chamar a var1 e a var2 que estão dentro do grupo?
    Simples!
    peão Код:

    Código:
    VariavelGlobal [ id do jogador ] [ var1 ]
     Variavel Global [ id do jogador ] [ var2 ]


    Simples assim..

    Enfim, os enumeradores são muito simples de se usar então não precisa de muita explicação..
    Mas é sempre bom lembrar que os enumeradores tem que ser chamados através de enum nomedoenumerador

    • Macros:
    Macros são uma forma mais otimizada e mais rápida para certas funções..
    Alem de ajudar a economizar linhas! Razz

    Uma mensagem usando o formato como esta:
    peão Код:

    Código:
    novo str [ 128 ] , snd [ MAX_PLAYER_NAME ] ;
    GetPlayerName ( playerid, snd, sizeof snd ) ;
    format ( str, sizeof str, "Meu nome é %s." ,snd ) ;
    SendClientMessage ( playerid, 0xFFFFFF00, str ) ;


    poderia ser:
    peão Код:

    Código:
    //Topo do Gamemode:
    #define MsgFormat(%0,%1,%2,%3) format(str, sizeof(str),%2,%3) && SendClientMessage(%0, %1, str)
    new str [ 128 ] ;

    //sem script:
    new snd [ MAX_PLAYER_NAME ] ;
    GetPlayerName ( playerid, snd, sizeof snd ) ;
    MsgFormat ( playerid, 0xFFFFFF00, "Meu nome é %s" , snd ) ;


    Você não compreendeu o macro?

    Explicação:
    peão Код:

    Código:
    [size=14][size=13]#define SendFormattedMsg(%0,%1,%2,%3) format(strt, sizeof(strt),%2,%3) && SendClientMessage(%0, %1, strt)[/size][/size]


    [center][size=14]%0 equivale a playerid[/size]
    [size=14]%1 equivale a cor[/size]
    [size=14]%2 equivale ao texto[/size]
    [size=14]%3 equivale a string.[/size][/center]



    Sendo que, os itens %0,%1,%2 ... são os representantes dos parâmetros da função dentro da macro.

    Logo entгo da para criar varias funзхes utilizando macros.
    Por exemplo, crie uma função para redefinir o dinheiro do jogador e dar uma certa quantia?
    peão Код:

    Código:
    #define GivePlayerCash(%0,%1) ResetPlayerMoney(%0), GivePlayerMoney(%0,%1) // %0 playerid | %1 valor.


    Exemplo de uso:
    peão Код:

    Código:
    public OnPlayerSpawn ( playerid )  {
         GivePlayerCash ( playerid, 350 ) ;
        retornar verdadeiro;
    }


    Pronto!

    Bom, por hoje é isso!

    Ainda não completei o tutorial mais aos poucos esta se desenvolvendo [Tutorial] O Básico do para começar um projeto! Smile

    Então deixe suas dicas[Tutorial] O Básico do para começar um projeto! Smile

    Creditos: tonisantolia



    [Tutorial] O Básico do para começar um projeto! D07Xwqb
    [Tutorial] O Básico do para começar um projeto! Yjab9HN

      Data/hora atual: Seg 6 maio 2024 - 9:18