Random Player Bug
#1

pawn Код:
forward RandomPlayer();
public RandomPlayer()
{
    new
        ConnectedPlayers[MAX_PLAYERS] = {INVALID_PLAYER_ID, ...},
        idx;
    for(new i = 0; i != MAX_PLAYERS; ++i)
    {
            ConnectedPlayers[idx] = i;
            idx++;
    }

    if(!idx)
        return INVALID_PLAYER_ID;

    GivePlayerMoney(ConnectedPlayers[random(idx),50000]/*it has Random Playerid*/);
    return 1;
}
Its giving money, to unknown id like 250 ,160,280,360.. etc..

Btw Server slot 150 only

and its not giving to online players
Reply
#2

Код:
forward RandomPlayer();
public RandomPlayer()
{
    new count = 0;
    for(new i=0;i<=MAX_PLAYERS;i++)
    {
       if(IsPlayerConnected(i))
       {
          count++;
       }
    }
    new player = random(count);
    GivePlayerMoney(player,50000);
    return 1;
}
Try This
Reply
#3

So then delete GivePlayerMoney(Connected..... that line.
Reply
#4

y_iterate (aka foreach) would probably work.
https://sampforum.blast.hk/showthread.php?tid=92679

EDIT: Meh..
Reply
#5

pawn Код:
stock RandomPlayer()
{
    new
        ConnectedPlayers[MAX_PLAYERS] = {INVALID_PLAYER_ID, ...},
        idx;
    for(new i = 0; i != MAX_PLAYERS; ++i)
    {
        if(IsPlayerConnected(i))
        {
            ConnectedPlayers[idx] = i;
            idx++;
        }
    }

    if(!idx)
        return INVALID_PLAYER_ID;

    new player = random(count);
    GivePlayerMoney(player,50000);
    return ConnectedPlayers[random(idx)];
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)