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] Variбveis - Definiзгo, uso e tipos.

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


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

    [Tutorial] Variбveis - Definiзгo, uso e tipos. Empty [Tutorial] Variбveis - Definiзгo, uso e tipos.

    Mensagem por Weslley_Script Qua 22 Mar 2023 - 11:38

    Bem, neste tutorial irei explicar passo a passo como criar uma variбvel e como elas podem ser ъteis .


    Considero este um tema muito importante na linguagem Pawn, por isso, leiam com atenзгo:





    1 - O que sгo variбveis ?





    Variбveis sгo sнmbolos criados para assumir algum valor, elas podem variar (daн o nome variбvel) dependendo de onde e de como estamos usando-as .



    Em uma questгo de Matemбtica por exemplo, se ela diz que X = 2, entгo sabemos que quando o X aparecer em algum lugar da conta que fizermos, poderemos substituн-lo por 2.



    Essa questгo de Matemбtica, como voce resolveria se a questгo dissesse que Y = 10 e voce tivesse que achar o valor de X ?



    X = 3 + Y

    E aн [Tutorial] Variбveis - Definiзгo, uso e tipos. Mrgreen ? Quanto valeria o X ?


    Resposta: X valeria 13, pois:



    X = 3 + Y

    Й igual б:



    X = 3 + 10

    que й igual б:




    X = 13


    Nгo entendeu ? Leia de novo .






    2 - Variбveis na linguagem Pawn:




    No Pawn, as variбveis sгo usadas em quase tudo .


    Como exemplo, vamos restringir um comando chamado /pum, sу usando vбriavйis [Tutorial] Variбveis - Definiзгo, uso e tipos. Razz:



    - Primeiro criamos uma variбvel:

    Código:
    new Futebol;//Ao criarmos a variбvel, ela automaticamente ganha o valor 0.



    - Agora vamos fazer com que ela ganhe um valor (4, por exemplo), ao usar qualquer comando (no caso, o comando /ei):



    Código:
    if(strcmp("/ei",cmdtext,true,3)==0)
        {
            Futebol = 4;//Ao usar o comando /ei, a variбvel ganha valor igual б 4
            return 1;
        }



    E finalmente, o comando /pum que querнamos restringir:



    Código:
    if(strcmp("/pum",cmdtext,true,4)==0)
        {
            if(Futebol == 4)//Isso checarб se a variбvel "Futebol" й igual б 4, sу se for igual б 4, acontecerб o que tem dentro das chaves do if, ou seja, o print("PUMMM!");
            {
                print("PUMMM!");
            }
            return 1;
        }



    Agora vamos pensar..., a linha if(Futebol == 4) checou se variбvel й igual б 4 certo ?


    Mas, tem um porйm aн, A VARIБVEL SУ SERБ 4 SE O CARA TIVER USADO O COMANDO /ei ANTES, POIS ELA SУ VIRA 4 QUANDO ESSE COMANDO Й USADO, LEMBRA ? [Tutorial] Variбveis - Definiзгo, uso e tipos. Razz



    Viu ? [Tutorial] Variбveis - Definiзгo, uso e tipos. Mrgreen, agora o comando /pum sу pode ser ativado se o comando /ei for usado antes, em outras palavras, ele estб restrito agora .






    3 - Tipos de variбveis I (Locais e Globais) :






    * Variбveis Locais.



    Uma variбvel local sу pode ser usada em um ъnico lugar, por exemplo:




    Código:
    if(strcmp("/afff",cmdtext,true,5)==0)
        {
            new TENSO; //A variбvel TENSO foi criada dentro do comando /afff
            return 1;
        }//A variбvel TENSO й destruнda quando esta chave й lida apуs o processamento do comando.



    Se a variбvel foi criada dentro do comando /afff e destruнda quando a chave foi lida, entгo nem podemos pensar em usar a TENSO em outro comando, pois ela sу й criada dentro do comando /afff e destruнda no final dele. 



    Por isso chamados esse tipo de variбvel de Variбvel Local, pois sу podemos usб-la em um local do GM/FS (no caso acima, sу poderнamos usar a variбvel dentro do comando, e antes do final dele [Tutorial] Variбveis - Definiзгo, uso e tipos. Mrgreen).




    * Variбveis Globais.


    As globais normalmente sгo criadas no Topo do GM ou FS, um lugar que й livre de chaves que possam destruir essas variбveis.


    Se criamos uma variбvel no Topo do GM, por exemplo:



    Código:
    new PQP;



    Como ela estб no topo do GM e nгo foi destruнda por nenhuma chave, entгo podemos usa-lб em qualquer lugar do GM/FS que seja, sem precisar criб-la de novo pois ela jб existe no Topo do GM.


    Se й assim, poderнamos usб-la em um comando:



    Código:
    if(strcmp("/xiu",cmdtext,true,4)==0)
        {
            PQP = 3; //A variбvel jб foi criada no Topo do GM, por isso vamos igualб-la aqui no comando.
            return 1;
        }



    Obs: Variбveis Globais nгo podem ser destruнdas por chaves de nenhuma public, comando etc.






    4 - Tipos de variбveis II (new, static e const) :




    * New


    Mйtodo de criaзгo de uma variбvel comum, bastando colocar new + nome da variбvel + ponto e vнrgula [Tutorial] Variбveis - Definiзгo, uso e tipos. Mrgreen:


    Exemplo:

    Código:
    new Eita; //variбvel criada.





    * Static


    Mйtodo de criaзгo de uma variбvel com uma caracterнstica especial: quando local ela nгo й destruнda :


    Exemplo:


    Código:
    if(strcmp("/noob",cmdtext,true,5)==0)
        {
            for(new x = 0; x < 5; x++)
            {
                static LOL;//Variбvel LOL й criada
                LOL = 3;
            }//Mesmo sendo local ela nгo й destruнda aqui. Por essa razгo, no prуximo giro do loop ela nгo й criada novamente e contйm o mesmo valor que tinha antes do momento no qual era para ser apagada.
            return 1;
        }





    * Const



    Mйtodo de criaзгo de uma constante, ou seja, uma variбvel que sempre terб o mesmo valor:



    Código:
    const Pickup = 2;//Sempre terб o valor 2



    Se depois for usado algo como:




    Código:
    Pickup = 26;



    O pawno gerarб um error pois nгo й possнvel mudar o valor de uma constante.






    5 - Tags e Arrays :





    *Tags



    As Tags sгo formas de classificar uma variбvel com uma caracterista especial, elas normalmente aparecem na variбvel na forma de um complemento no comeзo do nome da mesma [Tutorial] Variбveis - Definiзгo, uso e tipos. Razz.


    Float e bool sгo tags padrхes do Pawn.


    Exemplo de uso de Float:


    Código:
    new Float:Exemplo = 1.222; //Caracterista especial: conseguem se igualar б nъmeros fracionбrios.


    Exemplo de uso de bool:


    Código:
    new bool:Exemplo = true; //Caracterista especial: sу podem se igualar б dois valores, true e false.





    *Arrays



    Sгo multi-variбveis, com variбveis arrays й possнvel criar vбrias variбveis de uma vez sу .


    Exemplo:

    Ao invйs de usar:

    Código:
    new Sanduiche1;
    new Sanduiche2;
    new Sanduiche3;



    Pode se fazer com variбvel array [Tutorial] Variбveis - Definiзгo, uso e tipos. Mrgreen:

    Código:
    new Sanduiche[3];



    Daн a igualaзгo seria assim:

    Código:
    Sanduiche[0] = 1;
    Sanduiche[1] = 1;
    Sanduiche[2] = 1;



    Ops, mas por que serб que nгo coloquei ali Sanduiche[3] = 1; [Tutorial] Variбveis - Definiзгo, uso e tipos. Mrgreen ?


    Por que nunca deve-se igualar uma variбvel no seu mбximo de cells permitidas, ou seja, como criamos assim:



    Código:
    new Sanduiche[3];


    Nгo poderemos usar:


    Código:
    Sanduiche[3] = 1;



    Apenas valores dentro dos colchetes [ ], que forem menores do que 3, pois a cell da array quando a criamos era 3 .


    Mas mesmo assim, 3 valores da array foram igualados assim como seriam se tivessem sido criadas 3 variбveis comuns para cada valor.


    Tambйm hб casos como:

    Criamos uma variбvel array:


    Código:
    new Sorriso[MAX_PLAYERS]; //Mesma coisa que VariavelArray[500];, pois MAX_PLAYERS estб definido assim no a_samp.inc


    E a usamos como:


    Código:
    Sorriso[playerid] = 1;


    Ou seja, para cada ID diferente a variбvel vai ter um valor, por exemplo, se o playerid (ou ID no jogo) de um jogador й 5, entгo a variбvel ficaria assim quando fosse lida na execuзгo do jogo:


    Código:
    Sorriso[5] = 1;


    Pois, playerid = 5, no caso de um jogador, se fosse outro jogador de ID 9, entгo seria playerid = 9, entre outros.


    Variбveis arrays tambйm sгo as ъnicas que podem armazenar texto, como por exemplo:


    Código:
    new Jornal[10] = "й nуis";



    Lembrando que o total de caracteres do texto deve ser menor do que a cell da array, no caso, menor que 10.



    FIM, e este foi meu tutorial sobre variбveis [Tutorial] Variбveis - Definiзгo, uso e tipos. Mrgreen


    Espero ter ajudado 
    Creditos:  Rjj



    [Tutorial] Variбveis - Definiзгo, uso e tipos. D07Xwqb
    [Tutorial] Variбveis - Definiзгo, uso e tipos. Yjab9HN

      Data/hora atual: Sáb 11 maio 2024 - 22:18