[Ajuda] Variбveis -
luizfel2 - 03.04.2012
1 є Duvida; Bom, como faзo para puxar, para dar armas e etc, sу para os players que estгo setados a uma variбvel. Exemplo :
pawn Код:
CMD:pqp(playerid)
{
pqp = 1;
return 1;
}
Entгo, eu queria dar dinheiro, dar armas para todos que estivessem pqp =1; mais tipo eu fazer assim /armaspqp [id][quantia] ai so iam receber todos que tivessem pqp = 1; (OBS: Eu nгo quero que faзam o comando /armaspqp, sim dizer como dar as armas sу para eles, puxar so eles e etc.
---------------------------------------------------------------------------------------------------------------
2 є Duvida; Eu queria que aos players digitassem /guerra, ai eles entrariam na guerra, sу que 4 vгo ser exercito, e 4 terrorista, ou seja, definir eles de acordo com a quantia que ja existe, ou seja, se ja tem 4 exercito, ir + 4 pra terrorista, e se tiver no total 8, nгo pode entrar mais.
Re: [Ajuda] Variбveis -
[R] ousenber [K] - 03.04.2012
Da uma olhada e ve se entende
PHP код:
new bool: pqp[MAX_PLAYERS];
CMD:puxartodos(playerid, params[])
{
new
Float: pX,
Float: pY,
Float: pZ
;
GetPlayerPos(playerid, pX, pY, pZ);
for(new x; x < GetMaxPlayers(); x++)
{
if(pqp[x] == true)
{
SetPlayerPos(x, pX, pY, pZ);
}
}
return true;
}
Re: [Ajuda] Variбveis -
ViniBorn - 03.04.2012
pawn Код:
new bool: pqp[MAX_PLAYERS];
CMD:armastodos(playerid, params[])
{
for(new i, j = GetMaxPlayers(); i ! = j; i++)
if(pqp[i] == true)
//RecebeArmas
return true;
}
Re: [Ajuda] Variбveis -
luizfel2 - 03.04.2012
Me explica uma coisa, qual a diferenзa de um para o outro ;
pawn Код:
for(new i, j = GetMaxPlayers();i++)
//
for(new x; x < GetMaxPlayers(); x++)
Re: [Ajuda] Variбveis -
ViniBorn - 03.04.2012
Eu cometi um pequeno erro, olhe lб emcima o modo correto.
Quote:
Originally Posted by luizfel2
Me explica uma coisa, qual a diferenзa de um para o outro ;
pawn Код:
for(new i, j = GetMaxPlayers(); i != j; i++) // for(new x; x < GetMaxPlayers(); x++)
|
Na primeira a funзгo GetMaxPlayers й usada apenas no inнcio do loop, e seu valor й armazenado na variбvel j.
Na segunda, a funзгo GetMaxPlayers й usada durante todo o loop, a cada vez que a variбvel i й incrementada.
Re: [Ajuda] Variбveis -
[R] ousenber [K] - 03.04.2012
Quote:
Originally Posted by Viniborn
Eu cometi um pequeno erro, olhe lб emcima o modo correto.
Na primeira a funзгo GetMaxPlayers й usada apenas no inнcio do loop, e seu valor й armazenado na variбvel j.
Na segunda, a funзгo GetMaxPlayers й usada durante todo o loop, a cada vez que a variбvel i й incrementada.
|
Entгo da minha maneira й mais lenta? ou tanto faz?
Re: [Ajuda] Variбveis -
ViniBorn - 03.04.2012
Quote:
Originally Posted by luizfel2
---------------------------------------------------------------------------------------------------------------
2 є Duvida; Eu queria que aos players digitassem /guerra, ai eles entrariam na guerra, sу que 4 vгo ser exercito, e 4 terrorista, ou seja, definir eles de acordo com a quantia que ja existe, ou seja, se ja tem 4 exercito, ir + 4 pra terrorista, e se tiver no total 8, nгo pode entrar mais.
|
Essa funзгo divide todo o servidor em duas equipes
pawn Код:
new bool:Equipe[MAX_PLAYERS];
stock DuasEquipes(t1,t2)
{
static bool:loop;
for(new i, j = GetMaxPlayers(); i != j; i++)
{
if(loop == true)
{
Equipe[i] = true;
loop = false;
SendClientMessage(i,-1,"Vocк foi para a Equipe 1.");
SetPlayerTeam(i,t1);
}
else
{
Equipe[i] = false;
loop = true;
SendClientMessage(i,-1,"Vocк foi para a Equipe 2.");
SetPlayerTeam(i,t2);
}
}
}
Quote:
Originally Posted by [R] ousenber [K]
Entгo da minha maneira й mais lenta? ou tanto faz?
|
Й mais lenta. Imagine sу um servidor com 500 slots definidos.
A funзгo GetMaxPlayers seria executada 500 vezes ...
Re: [Ajuda] Variбveis -
luizfel2 - 03.04.2012
Quote:
Originally Posted by Viniborn
Essa funзгo divide todo o servidor em duas equipes
pawn Код:
new bool:Equipe[MAX_PLAYERS];
stock DuasEquipes(t1,t2) { static bool:loop; for(new i, j = GetMaxPlayers(); i != j; i++) { if(loop == true) { Equipe[i] = true; loop = false; SendClientMessage(i,-1,"Vocк foi para a Equipe 1."); SetPlayerTeam(i,t1); } else { Equipe[i] = false; loop = true; SendClientMessage(i,-1,"Vocк foi para a Equipe 2."); SetPlayerTeam(i,t2); } } }
|
Mais eu nгo queria todo servidor, й tipo um evento, que so vai entrar no mбximo 8 players, e vai dividir os times.
Re: [Ajuda] Variбveis -
ViniBorn - 03.04.2012
Use o que vocк aprendeu na sua primeira pergunta e aplique na segunda : )
Re: [Ajuda] Variбveis -
luizfel2 - 03.04.2012
Jб consegui, rep + pra vocк e pro [R] ousenber [K]