SA-MP Forums Archive
[Off] ibits syntax - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Off] ibits syntax (/showthread.php?tid=473253)



ibits syntax - WLSF - 02.11.2013

Boas, muitos me perguntaram sobre a possibilidade de aderir ao uso de arrays(matrizes) ao ibits.

Eu fiz e refiz vбrios e vбrios testes, e acabei por achar uma sintaxe que fosse de certa forma falando a mais SIMPLES e a mais bonita tambйm.




Exemplo de cуdigo utilizando Matriz de forma padrгo e com a sintaxe nova do ibits:
pawn Код:
//padrгo
enum shibata
{
    n,
    n2,
    n3
};
new matriz[MAX_PLAYERS][shibata];


//Utilizando ibits
enum shibata
{
    n2,
    nn3,
    nnn
};

new bit_array: matriz <MAX_PLAYERS @bit4, shibata @bit2>;


sintaxe:


- Tipo array, indica que a variбvel serб uma matriz.
- Nome da variбvel.
- Tamanho de linhas da matriz, MAX_PLAYERS = 500, como eu botei @bit4, ele vai rodar apenas para 16 jogadores(limite do bit4).
- Tamanho de colunas da matriz, shibata = 3 indexes, como eu botei @bit2, ele vai rodar todos os idx do enum(limite do bit2 = 0,1,2,3).


Forma de uso(set bit):
pawn Код:
bit_array_set(matriz, playerid, n2, 4)<4>;
sintaxe:


- A matriz que vocк criou com ibits.
- Linha da matriz, no exemplo foi Id do jogador.
- Coluna da matriz, no exemplo foi um idx do enum.
- Valor a ser inserido na matriz.
- Tipo de bit a ser inserido, 4 faz parte do bit 4(limite 15)



Essa foi a sintaxe que eu mais simpatizei.
Por quк ?
Bom, porque com ela vocк pode criar matrizes com um certo agrado de forma 'dinвmica' e mantendo a ideia do iBits, que й economizar memуria de uma forma hard rock core punk metal fuck every time.


Queria ver a opiniгo de vocкs antes de completar e atualizar a include.


Re: ibits syntax - smiiir - 02.11.2013

Nossa :O

Muito boa..

jб atualizou?


Re: ibits syntax - WLSF - 02.11.2013

Quote:
Originally Posted by iSmirnoff
Посмотреть сообщение
Nossa :O

Muito boa..

jб atualizou?
Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Queria ver a opiniгo de vocкs antes de completar e atualizar a include.
errr, nгo...

Desculpa os desenhos no paint, foi a pressa...


Ficou bom mesmo, sem tirar outras vantagens que tou notando aqui, quando eu terminar as enxugada aqui eu atualizo lб no tуpico e tambйm no tуpico tutorial, explicando as novidades.


Re: ibits syntax - smiiir - 02.11.2013

Й que nгo li o tуpico todo rзз

Sу que ficou уtimo

pawn Код:
bit_array_set(matriz, playerid, n2, 4)<4>;



Re: ibits syntax - zSuYaNw - 02.11.2013

Estou ansioso para usar


Re: ibits syntax - WLSF - 02.11.2013

Quote:
Originally Posted by iSmirnoff
Посмотреть сообщение
Й que nгo li o tуpico todo rзз

Sу que ficou уtimo

pawn Код:
bit_array_set(matriz, playerid, n2, 4)<4>;
Sim, agora vocк tem como fazer o acesso com enuns e utilizar matrizes.


pawn Код:
enum INFO
{
    lvl,
    admin,
    din,
    etc,
    bananas
};

new bit_array: PlayerInfo <MAX_PLAYERS @bit4, INFO @bit2>;

public OnPlayerCommandText(playerid, commandid, params[])
{
    switch (commandid)
    {
        case iscmd("l,v,l"):
        {
            param("i");
            bit_array_set(PlayerInfo, playerid, lvl, getp($0));
        }
    }
   
    return 1;
}



Respuesta: ibits syntax - ipsBruno - 02.11.2013

Tб legal, mas tinha que ter um suporte pra enuns, tipo


enum aaa {
bit1:bruno, bit3:bruno2
}

new brunos[aaa];


Re: ibits syntax - PT - 02.11.2013

muito foda isso, gostei


Re: ibits syntax - Juniiro3 - 02.11.2013

Quote:
Originally Posted by Willian_Luigi
3є - Tamanho de linhas da matriz, MAX_PLAYERS = 500, como eu botei @bit4, ele vai rodar apenas para 16 jogadores(limite do bit4).
Se eu quisesse fazer a matriz para mais de 16 jogadores, basta trocar o numero do bit? Por exemplo @bit6 para rodar em mais jogadores?


Re: ibits syntax - WLSF - 02.11.2013

Quote:
Originally Posted by Juniiro3
Посмотреть сообщение
Se eu quisesse fazer a matriz para mais de 16 jogadores, basta trocar o numero do bit? Por exemplo @bit6 para rodar em mais jogadores?
Sim, bem isso.

Muito simples nй.