SA-MP Forums Archive
[AJUDA] Variбveis - 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] Variбveis (/showthread.php?tid=288660)



[AJUDA] Variбveis - pimentgabriel - 08.10.2011

Eu queria saber como faзo para setar uma variavel nгo sу para o playerid mas para todo o server que tem uma outra variavel = 1. Obrigado.


Re: [AJUDA] Variбveis - Falcon. - 08.10.2011

use um loop.

pawn Код:
new variavel[MAX_PLAYERS];

for(new ii; jj = GetMaxPlayers(); ii != jj; ii++)
{
    variavel[ii] = 1;
}



Re: [AJUDA] Variбveis - WLSF - 08.10.2011

Quote:
Originally Posted by [Y]Falcon
Посмотреть сообщение
use um loop.

pawn Код:
new variavel[MAX_PLAYERS];

for(new ii; jj = GetMaxPlayers(); ii != jj; ii++)
{
    variavel[ii] = 1;
}
Falcon qual a diferenзa desse pra um

pawn Код:
for(new x; x< GetMaxPlayers();x++)
Pode me tirar essa dъvida?


Re: [AJUDA] Variбveis - WLSF - 08.10.2011

Quote:
Originally Posted by Exploit
Посмотреть сообщение
Simples, vai guardar o valor na variбvel, e nгo vai precisar ficar chamando a funзгo toda hora.
Nгo entendi,
se eu fizesse
pawn Код:
new var[MAX_PLAYERS];
for(new x; x<GetMaxPlayers();x++)
{
    var[x] = 1;
}
Nгo guardaria o valor da mesma forma? '-'


Re: [AJUDA] Variбveis - pimentgabriel - 08.10.2011

Obrigado. Mas vocкs poderiam adaptar essa funзao loop ao meu codigo? eu preciso entregar o GM a um amigo mais tarde e nao vou ter tempo para estudar essa funзгo loop
Code:
public OnPlayerEnterRaceCheckpoint(playerid)
{
DisablePlayerCheckpoint(playerid);
RemovePlayerAttachedObject(playerid, 0);
alimento[MAX_PLAYERS] = 4;
SendClientMessageToAll(0x99FFFFAA, "[ZRP] Os Humanos receberam um suprimento de alimentos e nгo passam mais fome.");
}
eu quero que a variavel alimento seja setada para 4 para todos os players que tenho a variavel PlayerInfo[playerid][pOrgh] = 1 ou = 2 e somente para eles. Obrigado


Re: [AJUDA] Variбveis - Falcon. - 08.10.2011

pawn Код:
new variavel[MAX_PLAYERS];

for(new ii, jj = GetMaxPlayers(); ii != jj; ii++)
{
    variavel[ii] = 1;
}
Assim que iniciar o loop, ele irб pegar a quantidade de player com a funзгo GetMaxPlayers(); e irб armazenar na variavel jj.

Em seguida irб realizar o loop, e nгo irб chamar a parte em vermelho do loop, somente a verde:

for(new ii; jj = GetMaxPlayers(); ii != jj; ii++)

Assim irб comparar o valor entre as duas variбveis oque й mais rбpido do que ficar usar assim:

pawn Код:
new var[MAX_PLAYERS];
for(new x; x<GetMaxPlayers();x++)
{
    var[x] = 1;
}
Pois irб sempre chamar esta parte do loop:

for(new x; x<GetMaxPlayers();x++)


entгo irб ficar pegando o valor de maxplayers sempre que iniciar um novo ciclo no loop.

Agora й sу parar para pensar oque й mais rбpido, comparar duas variaveis com os valores estabelecidos, ou comparar uma variavel e executar uma funзгo para pegar um valor

-----------------------------------------

EDIT:

aqui estб pimentgabriel:

pawn Код:
public OnPlayerEnterRaceCheckpoint(playerid)
{
    DisablePlayerCheckpoint(playerid);
    RemovePlayerAttachedObject(playerid, 0);
    for(new ii, jj = GetMaxPlayers(); ii != jj; ii++) alimento[ii] = 4;
    SendClientMessageToAll(0x99FFFFAA, "[ZRP] Os Humanos receberam um suprimento de alimentos e nгo passam mais fome.");
}

Atenciosamente,
Falcon.


Re: [AJUDA] Variбveis - WLSF - 08.10.2011

Quote:
Originally Posted by [Y]Falcon
Посмотреть сообщение
pawn Код:
new variavel[MAX_PLAYERS];

for(new ii; jj = GetMaxPlayers(); ii != jj; ii++)
{
    variavel[ii] = 1;
}
Assim que iniciar o loop, ele irб pegar a quantidade de player com a funзгo GetMaxPlayers(); e irб armazenar na variavel jj.

Em seguida irб realizar o loop, e nгo irб chamar a parte em vermelho do loop, somente a verde:

for(new ii; jj = GetMaxPlayers(); ii != jj; ii++)

Assim irб comparar o valor entre as duas variбveis oque й mais rбpido do que ficar usar assim:

pawn Код:
new var[MAX_PLAYERS];
for(new x; x<GetMaxPlayers();x++)
{
    var[x] = 1;
}
Pois irб sempre chamar esta parte do loop:

for(new x; x<GetMaxPlayers();x++)


entгo irб ficar pegando o valor de maxplayers sempre que iniciar um novo ciclo no loop.

Agora й sу parar para pensar oque й mais rбpido, comparar duas variaveis com os valores estabelecidos, ou comparar uma variavel e executar uma funзгo para pegar um valor


Atenciosamente,
Falcon.
Entendi, obrigado Falcon & Exploit (:


Re: [AJUDA] Variбveis - pimentgabriel - 08.10.2011

AH! acho que entendi... vou tentar colocar o comando aqui


Re: [AJUDA] Variбveis - pimentgabriel - 08.10.2011

[/QUOTE]
pawn Код:
public OnPlayerEnterRaceCheckpoint(playerid)
{
    DisablePlayerCheckpoint(playerid);
    RemovePlayerAttachedObject(playerid, 0);
    for(new ii, jj = GetMaxPlayers(); ii != jj; ii++) alimento[ii] = 4;
    SendClientMessageToAll(0x99FFFFAA, "[ZRP] Os Humanos receberam um suprimento de alimentos e nгo passam mais fome.");
}
[/QUOTE]

OK falcon mas esse comando sу estб setando a variavel de todos para 4... mas eu quero setar a variavel para quatro somente para quem tem a variavel PlayerInfo[playerid][pOrgh] = 1 ou = 2 nao quero que os outros players tambem recebam essa variavel = 4
Obrigado.


Re: [AJUDA] Variбveis - Falcon. - 08.10.2011

Olб pimentgabriel,

aqui estб:

pawn Код:
public OnPlayerEnterRaceCheckpoint(playerid)
{
    DisablePlayerCheckpoint(playerid);
    RemovePlayerAttachedObject(playerid, 0);
    for(new ii, jj = GetMaxPlayers(); ii != jj; ii++)
    {
        if(!IsPlayerConnected(ii)) continue;
        if(PlayerInfo[ii][pOrgh] == 1 || PlayerInfo[ii][pOrgh] == 2) alimento[ii] = 4;
    }
    SendClientMessageToAll(0x99FFFFAA, "[ZRP] Os Humanos receberam um suprimento de alimentos e nгo passam mais fome.");
}

Atenciosamente,
Falcon.