enum LabelEnum{ number1, text2[10], text3[200] }; new Label[5][LabelEnum] = { {1000, "Text1", "Text2"}, {1000, "Text1", "Text2"}, {1000, "Text1", "Text2"}, {1000, "Text1", "Text2"}, {1000, "Text1", "Text2"}, };
Eu diversas vezes tenho usado enum
Код:
enum LabelEnum{ number1, text2[10], text3[200] }; new Label[5][LabelEnum] = { {1000, "Text1", "Text2"}, {1000, "Text1", "Text2"}, {1000, "Text1", "Text2"}, {1000, "Text1", "Text2"}, {1000, "Text1", "Text2"}, }; Sу vi isso aqui em PAWN. |
O que vocк pretende fazer? Dependendo do que й, isso nгo й necessбrio.
|
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: Code: 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: Code: 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: Code: enum PlayerData { PDinheiro, PSkin, PVida } new ArrayGlobal[MAX_PLAYERS][PlayerData]; Para usar, seria mais fбcil, olhe: Code: 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: Code: enum PlayerData { PDinheiro, PSkin, PVida, Pvi[4] } Um exemplo de uso й: Code: 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.
Код:
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: Code: 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: Code: 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: Code: enum PlayerData { PDinheiro, PSkin, PVida } new ArrayGlobal[MAX_PLAYERS][PlayerData]; Para usar, seria mais fбcil, olhe: Code: 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: Code: enum PlayerData { PDinheiro, PSkin, PVida, Pvi[4] } Um exemplo de uso й: Code: 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. |
A enum em Pawn й uma enumeraзгo de constantes, havendo nela uma tendкncia de se estabelecer sequкncias numйricas. Quando seus elementos nгo sгo inicializados, tem-se uma progressгo aritmйtica de razгo unitбria (sequкncia 0, 1, 2, ..., como no seu cуdigo) .
Como os нndices de um vetor seguem essa ordem, й possнvel fazer a indexaзгo atravйs do identificador (nome) de determinada enum. No fim, pode-se trabalhar com essa estrutura derivada como se fosse uma struct da linguagem C, que й capaz de conter diferentes tipos de dados. No C++, uma das inspiraзхes do Pawn, a keyword struct cria uma classe com todos os membros pъblicos por padrгo. Mesmo se aplicada como a struct original do C, pela norma gera-se uma classe com somente variбveis, o que significa que sua interpretaзгo da enum do Pawn como classe faz sentido ! Espero ter ajudado . |
Eu sei como usar, mas +rep por tentar me ajudar
Entгo й como se fosse uma classe, mas sу com atributos, sem metodos (claro que nгo se instancia, se usa uma posiзгo do vetor) Nгo tinha visto isso em nenhum outro lugar, entгo isso й sу do pawn? |