GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: filip95 - 2013. október 06. - 18:34:03

Cím: Random Player Infection
Írta: filip95 - 2013. október 06. - 18:34:03
Üdv :) Egy zombie módot készítek. Player4Player
Códom:
 

if(Zombies == 0 && Infection == 0)
{
SCM(playerid, PIROS, \"Játék indítása 1 perc múlva. Zombi kisorsolása....\");
tZm = SetTimer(\"SetZombie\", 60000, false);
}
return 1;
}
public SetZombie(playerid)
{
            new randomplayer = SelectRandomPlayer();
    if(PlayerInfo[randomplayer][pTeam] == 1)
        {
      Zombies++;
      Emberek--;
      SetPlayerTeam(randomplayer, 2);
      Infection=1;
       KillTimer(tZm);
       PlayerInfo[randomplayer][pTeam] = 2;
      new u = csatlakozott*10;
      SetPlayerHealth(randomplayer, PHP+u); //Adunk nekik életet játékosok száma szerint
      SetPlayerSkin(randomplayer, 162); //Zombi skin
      SendClientMessageToAll(KEK, \"Zombi kisorsolva! A játék elindult.\");
   }
   else
   {
      SCM(playerid, KEK, \"Nem sikerült a zombit kisorsolni. Újrasorsolás...\");
      tZm = SetTimer(\"SetZombie\", 60000, false);
   }
       return 1;
}
stock SelectRandomPlayer()
{
     new rndom = random(MAX_PLAYERS);
     if(IsPlayerConnected(rndom))
     {
           return rndom;
     }
     else
     {
           SelectRandomPlayer();
     }
     return 1;
}

 
A Kérdésem az lenne hogy oldhatnám meg a random játékos fertõzését?
Próbáltam a módot, EGYEDÜL, és folyamatosan ezt írta: Nem sikerült a zombit kisorsolni. Újrasorsolás...
Pedig csak én voltam a szerveren tehát csak engem lehetett volna sorsolni.
Azon törekszem, nem-e azért mert 0 az id-m?
Segítségeteket elõre is köszönöm
Cím: Random Player Infection
Írta: kadaradam - 2013. október 06. - 18:39:28
Remélem segít:
http://sampforum.hu/index.php?topic=13023.0
Cím: Random Player Infection
Írta: filip95 - 2013. október 06. - 18:46:05
Kiirály :) Köszi ment a +
(Pedig énis rákerestem a randomID-re és nemtalált semmit na mind1 :) Köszi)
Cím: Random Player Infection
Írta: Kovacs_Richard - 2013. október 06. - 18:47:49
stock SelectRandomPlayer()
{
     new rndom = random(MAX_PLAYERS);
     if(IsPlayerConnected(rndom))
     {
           return rndom;
     }
     else
     {
           SelectRandomPlayer();
     }
     return 1;
}

 
helyett
 
stock SelectRandomPlayer()
{
     new rndom = random(MAX_PLAYERS);
     if(IsPlayerConnected(rndom))
     {
           return rndom;
     }
     else
     {
           return SelectRandomPlayer();
     }
     return 1;
}

 
de nem ajánlom ezt a megoldást mert elég csúnya végtelen ciklus lehet belõle :D
legalábbis elég nagy terhelés...ha a MAX_PLAYERS 500 akkor elég jó laggot tud csinálni :D
inkább számold az online tagokat és arra nyomj randomot