[Off] ibits syntax
#1

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.
Reply
#2

Nossa :O

Muito boa..

jб atualizou?
Reply
#3

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.
Reply
#4

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

Sу que ficou уtimo

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

Estou ansioso para usar
Reply
#6

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;
}
Reply
#7

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


enum aaa {
bit1:bruno, bit3:bruno2
}

new brunos[aaa];
Reply
#8

muito foda isso, gostei
Reply
#9

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?
Reply
#10

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й.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)