[Ajuda] Coisa que nunca fiz, nem sei como fazer
#1

Preciso de ajuda.

Por exemplo, tenho uma enum que armazena os dados do jogador, por exemplo PlayerInfo[playerid][Dinheiro]. Mas nгo sei como fazer um sem o [playerid].

Por exemplo, fazer uma enum de uma casa:

PHP код:
enum InfoCasa
{
    
ID,
    
Interior,
    
Entrada,
    
Etc
}; 
Como й que dou um id em vez do [playerid]? Como se fosse um [casaid], mas nгo faзo a mнnima de como fazer.
Reply
#2

Defina um maximo de casas.

Quote:

#define MAX_CASAS 101

new minhavar[MAX_CASAS][InfoCasa];

Reply
#3

Quote:
Originally Posted by darkxdll
Посмотреть сообщение
Defina um maximo de casas.
nem sempre e necessario usar um #define simplesmente ele pode usar um numer
Reply
#4

Muito obrigado, acho que era isso mesmo.

Mais uma coisa, como й que faзo para o servidor "contar" quantas casas tem e criar um ID acima? Nгo faзo ideia '-'
Reply
#5

para contar as casas algo assim

pawn Код:
// topo da gm
new proximacasa;

// quando cria
proximacasa++;

// quando deleta

proximacasa--;

// para ver exemplo:

CMD:casas(playerid)
{
    new pt[128];
    format(pt, sizeof(pt), "o server tem %d casas", proximacasa);
    SendClientMessage(playerid, -1, pt);
    return 1;
}
Reply
#6

Sim, eu sei disso. Mas o que ponho no MAX_PLAYERS??
Reply
#7

Cara , vai ter de criar um sistema grandinho , usar bastante loop.
Vai ter que verificar muitos arquivos x).
Complicadinho...

Nгo й simplismente por

PlayerCasa[houseid][preзo] igual se faz para "playerid" x)
Reply
#8

Hmm... vou ver umas coisas e vou ver se consigo. Obrigado a todos!

Serб que assim dб? Estive a dar uma olhadela nuns sistemas de casa e pareceu-me bem isto:

Й mais ou menos isto?

PHP код:
#define MAX_CASAS 200
new countercasas;
new 
InfoCasa[MAX_CASAS][cInfo];
enum cInfo
{
    
Entrada,
    
Interior,
    
Etc
};
CMD:criarcasa(playeridparams[])
{
    new 
countercasas;
    
    
InfoCasa[c][Entrada] - etc...
    return 
1;

Reply
#9

Normalmente й usado um loop.
PHP код:
for(new cMAX_CASASc++)
{
new 
Float:Pos[3];
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
if(
InfoCasa[c][Posx] == Pos[0] && InfoCasa[c][Posy] == Pos[1] && InfoCasa[c][Posz] == Pos[2])
{

}

Apenas uma base
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)