[AJUDA] Random Playerid
#1

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
Reply
#2

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

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 .
Reply
#4

Obrigado aos dois, me ajudaram muito!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)