[AJUDA] Coisa simples
#1

Pessoal, estou com uma dъvida, coisa simples, mas to quebrando a cabeзa.

Por exemplo, quando nуs vamos armazenar o nome de um jogador a uma variбvel geralmente criamos a variбvel assim:

pawn Код:
new pName[MAX_PLAYER_NAME];
Pelo meu entendimento ele cria acho que 24 espaзos, para agregar letra por letra do nome do jogador, ex:

pName[ ]
pName[ ]
pName[ ]
pName[ ]
pName[ ]
pName[ ]
pName[ ]
pName[ ]...


e se por exemplo meu nome fosse Josй ela agregaria :

pName[ J ]
pName[ o ]
pName[ s ]
pName[ й ]
pName[ ]
pName[ ]
pName[ ]
pName[ ]...


porйm tenho uma dъvida, estou querendo fazer um sistema de leveis, e precisava criar uma varнavel, com um nъmero mбximo de jogadores, mas que no lugar de criar os espaзos para agregar cada letra, agregasse o nome inteiro, ex:

pawn Код:
new pName[MAX_PLAYERS];
pName[Renan]
pName[Joca]
pName[Paulinho]
pName[Mario]
pName[ ]
pName[ ]
pName[ ]
pName[ ]...


Fico grato.
Reply
#2

pawn Код:
new Name[MAX_PLAYERS][MAX_PLAYER_NAME];
GetPlayerName(playerid,Name[playerid],sizeof(Name[playerid]));
Reply
#3

Nгo intendi quase nada...
pawn Код:
new pName[MAX_PLAYERS];
Isso jб й feito para todos os players do servidor...
Exemplo:

pawn Код:
new pName[64][MAX_PLAYERS];
//----------
public OnPlayerConnect(playerid)
{
    new pNam[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pNam,sizeof(pNam));
    strins(pName[playerid],pNam,0,strlen(pNam)); // Isto й feito para armazenar o 'pNam' no 'pName[playerid]'
    printf("%s",pName[playerid]);
}
Talvez tenha um errinho, sou meio lezado AUHAhuauha
Reply
#4

Quote:
Originally Posted by [S]trong
Посмотреть сообщение
pawn Код:
new Name[MAX_PLAYERS][MAX_PLAYER_NAME];
GetPlayerName(playerid,Name[playerid],sizeof(Name[playerid]));
Entгo Strong, eu fiz assim :

pawn Код:
new Jogador[MAX_PLAYERS];
GetPlayerName(playerid,Jogador[playerid],24);
e funcionou, estб errado?
Reply
#5

Quote:
Originally Posted by [S]trong
Посмотреть сообщение
pawn Код:
new Name[MAX_PLAYERS][MAX_PLAYER_NAME];
GetPlayerName(playerid,Name[playerid],sizeof(Name[playerid]));
Ou:
PHP код:
#define MaxPlayers 40
new NameMaxPlayers ][ MAX_PLAYER_NAME ];
GetPlayerNameplayeridNameplayerid ], sizeofNameplayerid ] ) ); 
Se quiser detetar quando ele estб cheio usa:
PHP код:
if( Nameplayerid ] > MaxPlayers )
{
   
//Funcoes

Depois cada vez que for usado, se quiser que va aumentando usa:
PHP код:
NameMaxPlayers ] ++; 
Reply
#6

Guival,
Use:
pawn Код:
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid,sendername,sizeof(sendername));
Agora nгo tem erro.

# Eu e o Knight* tamo postando ao mesmo tempo Que tenso Aauhuahua
Reply
#7

Й que na verdade estou tentando fazer um sistema em Dini.

estб mais ou menos assim :

pawn Код:
new Jogador[MAX_PLAYERS]; // й uma variбvel pъblica.
    if(!dini_Exists("INFO.ini")) dini_Create("INFO.ini");
    GetPlayerName(playerid,Jogador[playerid],24);
    dini_Set("INFO.ini",Jogador[playerid],"0");
Agora o problema й, como faзo pra saber se o player jб й cadastrado no arquivo, e se nгo for, criar um player
com o level 0
Reply
#8

Quote:
Originally Posted by Carl_Thuse
Посмотреть сообщение
Guival,
Use:
pawn Код:
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid,sendername,sizeof(sendername));
Agora nгo tem erro.

# Eu e o Knight* tamo postando ao mesmo tempo Que tenso Aauhuahua
Mas Carl, isso aн sу vai armazenar o nome de um jogador por vez, eu queria que ele armazenasse o de todos.
Reply
#9

Quote:
Originally Posted by guivaldevieso
Посмотреть сообщение
Entгo Strong, eu fiz assim :

pawn Код:
new Jogador[MAX_PLAYERS];
GetPlayerName(playerid,Jogador[playerid],24);
e funcionou, estб errado?
nгo nгo estб errado, pode usar sem riscos^^.
Reply
#10

Porque isso?

pawn Код:
new Exp[MAX_PLAYERS];
pawn Код:
Exp[playerid] = dini_Get(pNome,"Exp");
Код:
C:\Documents and Settings\Administrador\Desktop\Servidor\gamemodes\sg.pwn(164) : error 006: must be assigned to an array
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)