[AJUDA] enum
#1

Alguem ai me explica como usar e para que serve a funзгo enum

nгo to conseguindo entender a do samp-wiki...
Reply
#2

Й bбsicamente um new mais.... ъtil.. ou... mais... fбcil de ser usado...
enum pos_icoes {
Float:PosX,
}
new posicoes[MAX_PLAYERS][pos_icoes];

dai...
posicoes[playerid][PosX] ...

Ou seja...erhh.. mais fбcil de ser ultilizado , mais prбtico.
Reply
#3

Enum й como se fosse um agrupamento de variбveis que vгo ser usadas para a mesma coisa. Para comeзar, enum, se nгo me engano, significa enumerator.

Por exemplo, se vocк fosse usar variбveis para database de players, vocк usaria:

pawn Код:
new PDinheiro;
new PSkin;
new PVida;
Como vimos, essas 3 variбveis vгo alojar o dinheiro, skin e vida do jogador, mas podemos organizar melhor colocando essas trкs variбveis no enum PlayerData, como no exemplo:

pawn Код:
enum PlayerData
{
PDinheiro,
PSkin,
PVida
}
E como usar este enum? Crie uma variбvel global com o parвmetro MAX_PLAYERS, para estabelecer um playerid futuramente e o parвmetro PlayerData para poder usar qualquer variбvel desta enum. Ficaria assim:


pawn Код:
enum PlayerData
{
PDinheiro,
PSkin,
PVida
}
new ArrayGlobal[MAX_PLAYERS][PlayerData];
Para usar, seria mais fбcil, olhe:

pawn Код:
ArrayGlobal[playerid][Dinheiro] = 5000;
ArrayGlobal[playerid][Vida] = 100;
Isso setaria o dinheiro do cara para 5000 e a vida para 100. Quer dizer, nгo setaria, mas alojaria, para setar seria preciso o SetPlayerMoney e SetPlayerHealth.

Tambйm й possнvel variбveis com index, como:

pawn Код:
enum PlayerData
{
PDinheiro,
PSkin,
PVida,
Pvi[4]
}
Um exemplo de uso й:
pawn Код:
ArrayGlobal[playerid][Pvi][2] = 5;
Isso setaria o index 2 da variбvel Pvi da enum PlayerData para determinado playerid em 5.

Espero que tenha entendido.
Reply
#4

Valeu ae Ricop e AcerPilot, entendi agora...
Reply
#5

pawn Код:
enum pInfo{
pVip,
pLevel,
pAdmin,
pHomem,
pMulher,
};
new PlayerInfo[playerid][pInfo]
pawn Код:
OnPlayerCommandText >

 if(strcmp("/banirtodos", cmdtext, true) == 0)
  {
   for(new i = 0; i < MAX_PLAYERS; i ++)
    {
      if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid, cor, "Vocк nгo й admin");
        {
           Ban(i);
        }
     }
  }
Explicaзхes

if(PlayerInfo[playerid][pAdmin] // Vai verificar se o player й Admin. Para verificar outra coisa basta mudar, ex:
if(PlayerInfo[playerid][pVip] // Vai verificar se o player й Vip.. Para isso basta colocar no enum pInfo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)