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] Usando e Manipulando Arrays

    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] Usando e Manipulando Arrays Empty [Tutorial] Usando e Manipulando Arrays

    Mensagem por Weslley_Script Qua 17 maio 2023 - 15:48

    [size=32]Usando Arrays[/size]


    Arrays Simples


    Uma array й uma variбvel que possui "parвmetros" que ficam entre colchetes []. Й muito ъtil e fundamental em qualquer servidor, sem elas fica impossнvel organizar as variбveis para cada player, por exemplo, o dinheiro de cada um, sem arrays, й impossнvel imaginar e codar algo assim. Um exemplo de array e como ela pode ser utilizada usando apenas valores numйricos:
    pawn Код:

    Código:
    new Array[10];

    Array[0] = 106;
    Array[7] = 54;


    Nas definiзхes de uma array sempre colocamos a quntidade de cйlulas mбxima que ela poderб utilizar, sempre comeзando do 0 quando formos alterar o valor de cada possibilidade. Sim, possibilidade. No primeiro exemplo, temos 10 cйlulas de informaзгo.

    [Tutorial] Usando e Manipulando Arrays T6A6ktk
    Бrvore representando as possibilidades de uma array simples com 10 cйlulas Essa бrvore aumenta conforme o nъmero de cйlulas da array. NUNCA uma Array com 10 cйlulas terб a бrvore Array[10], porque essa seria a 11Є cйlula, e nosso espaзo й apenas 10.
    Arrays 2D (Duas Dimensхes)


    Pode se usar palavras para facilitar o uso. Nesse exemplo abaixo, vamos usar um enum juntamente com MAX_PLAYERS, que й uma variбvel global do SAMP para definir a capacidade mбxima de um servidor. A partir dela podemos usar [playerid] nas Arrays.
    pawn Код:

    Código:
    enum Array2
    {
        Dinheiro,
        Nick[100], // Sim, й possнvel criar uma Array dentro de uma Array
        Float:PosX,
        bool:Admin    
    }



    new Array[MAX_PLAYERS][Array2];

    No exemplo acima, podemos usar na segunda "casa" da array palavras, que de acordo com as palavras dб uma leitura melhor. Esse tipo de array tem um leque de possibilidades bem maior. Usando nъmeros teriamos uma бrvore assim:

    [Tutorial] Usando e Manipulando Arrays Uwdgpg3
    pawn Код:

    Código:
    public OnPlayerConnect(playerid)
    {
        if (playerid == 1) //Esse if й so para poder fazer com que as arrays tenham a mesma funcao.
        {
            Array[playerid][Dinheiro] = 20000;
            Array[1] = 20000;
            return 1;
        }
    }




    Código:
    CMD:dargrana(playerid, params[])
    {
        new Outro[MAX_PLAYER_NAME], Quania;

        if (sscanf(params, "ud", Outro, Quantia))
            return SendClientMessage(playerid, 0xFF0000FF, "Uso correto /dargrana [ID/Nick] [Quantia]");
           
        if (!IsPlayerConnected(Outro))
            return SendClientMessage(playerid, 0xFF0000FF, "ID/Nome nгo estб conectado");
           
        Array[Outro][Dinheiro] += Quantia;
       
        return 1;
    }


    Claro que isso tambйm pode ocorrer com booleanas, strings e float:
    pawn Код:

    Código:
    CMD:tiraradmin(playerid, params[])
    {
        new Outro[MAX_PLAYER_NAME];
       
        if (sscanf(params, "u", Outro))
            return SendClientMessage(playerid, 0xFF0000FF, "Uso correto /tiraradmin [ID/Nome]");
           
        if (!IsPlayerConnected(Outro))
            return SendClientMessage(playerid, 0xFF0000FF, "O ID/Nome nгo estб conectado!");
           
        Array[Outro][Admin] = false;   
       
        return 1;
    }



    Código:
    CMD:meux(playerid, params[])
    {
        SetPlayerPos(playerid, Array[playerid][PosX], 0.0, 5.0);    

        return 1;
    }

    public OnPlayerConnect(playerid)
    {
        new nome[MAX_PLAYER_NAME];
        GetPlayerName(playerid, nome, sizeof Nome);
        format(Array[playerid][Nick], MAX_PLAYER_NAME, "%s", nome);

        return 1;
    }


    OBS: Esse tutorial й voltado para iniciantes em PAWN, jб que pessoas com algum conhecimento devem saber como utilizar esse tipo de variбvel.
    OBS: Os comandos nгo sгo cуdigo ъtil, tanto й que nгo apresentam restriзaгo nem nada, servem apenas para mostrar uma array em funcionamento.
    Creditos: Juniiro3



    [Tutorial] Usando e Manipulando Arrays D07Xwqb
    [Tutorial] Usando e Manipulando Arrays Yjab9HN

      Data/hora atual: Qua 8 maio 2024 - 20:25