SA-MP Forums Archive
[AJUDA] Random Playerid - 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] Random Playerid (/showthread.php?tid=351871)



[AJUDA] Random Playerid - ShakeTH4T - 17.06.2012

Olб. Fiz um sistema de evento de zumbis, que inicia o evento e com um SetTimerEx escolhe um random player pra ser um zumbi e infectar os outros. O random deu atй certo. Mas eu queria que o random sу escolhesse quem estivesse no evento. E isso nгo acontece. Escolhe qualquer player online do servidor. O cуdigo que fiz foi este:

pawn Код:
public ComecarZombie()
{
new Name[MAX_PLAYER_NAME];
new randomzm = -1;
new string[256];
while(!IsPlayerConnected(randomzm)) randomzm = random(40);//numero de slots do server
if(InZombieMode[randomzm] == 1)
{
GetPlayerName(randomzm, Name, sizeof(Name));
format(string, sizeof(string), "*ZOMBIE: %s foi infectado e agora й um zumbi!", PlayerName(randomzm));
SendClientMessageToAll(COLOR_ZOMBIE, string);
zombievivos += 1;
humanovivos -= 1;
IsAHuman[randomzm] = 0;
IsAZombie[randomzm] = 1;
ResetPlayerWeapons(randomzm);
GivePlayerWeapon(randomzm,4,1);
SetPlayerSkin(randomzm,160);
SetPlayerHealth(randomzm,100);
SetPlayerArmour(randomzm,100);
KillTimer(timerzombie);
return 1;
}
return 0;
}

o cуdigo de base que usei foi este


pawn Код:
new rand = -1;
while(!IsPlayerConnected(rand)) rand = random(MAX_PLAYERS);
GivePlayerCash(rand, 5000); //for example



Re: [AJUDA] Random Playerid - steki. - 17.06.2012

pawn Код:
stock GetRandomEventPlayer()
{
    new player,
        maxplayers = GetMaxPlayers();
       
    do {
        player = random(maxplayers);
    }
    while(!IsPlayerConnected(player) || !InZombieMode[player])
   
    return player; 
}



Re: [AJUDA] Random Playerid - rjjj - 17.06.2012

A funзгo randomplayer deste post retorna o ID de um jogador online aleatoriamente : https://sampforum.blast.hk/showthread.php?pid=1295516#pid1295516


Troque esta linha da mesma :


pawn Код:
if(IsPlayerConnected(z))

Por:


pawn Код:
if(IsPlayerConnected(z) && InZombieMode[z] == 1)

E aplique-a no seu cуdigo.



Espero ter ajudado .


Re: [AJUDA] Random Playerid - ShakeTH4T - 17.06.2012

Obrigado aos dois, me ajudaram muito!