SA-MP Forums Archive
[Ajuda] Coisa que nunca fiz, nem sei como fazer - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Coisa que nunca fiz, nem sei como fazer (/showthread.php?tid=458642)



Coisa que nunca fiz, nem sei como fazer - bruxo00 - 17.08.2013

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.


Re: Coisa que nunca fiz, nem sei como fazer - darkxdll - 17.08.2013

Defina um maximo de casas.

Quote:

#define MAX_CASAS 101

new minhavar[MAX_CASAS][InfoCasa];




Re: Coisa que nunca fiz, nem sei como fazer - mau.tito - 17.08.2013

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


Re: Coisa que nunca fiz, nem sei como fazer - bruxo00 - 17.08.2013

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 '-'


Re: Coisa que nunca fiz, nem sei como fazer - PT - 17.08.2013

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



Re: Coisa que nunca fiz, nem sei como fazer - bruxo00 - 17.08.2013

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


Re: Coisa que nunca fiz, nem sei como fazer - darkxdll - 18.08.2013

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)



Re: Coisa que nunca fiz, nem sei como fazer - bruxo00 - 18.08.2013

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;




Re: Coisa que nunca fiz, nem sei como fazer - darkxdll - 18.08.2013

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