Random
#1

Hi , i need some helps today i'am making a Wanted system , so i have make a code on a callback "OnPlayerDisconnect" if the player is a wanted and he disconnect One of the random players will be the new wanted, but this didn't work , check my code


OnPlayerDisconnect :

PHP код:
    if(WantedPlayer == playerid)
    {
        for(new 
iMAX_PLAYERS; ++i)
        {
            if(
IsPlayerConnected(i) && WantedPlayer != i)
            {
                
RRandom random(i);
                new 
coordsstring[124];
                
WantedPlayer RRandom;
                
format(coordsstringsizeof(coordsstring), "{FF0000}[WANTED]{FFFFFF} %s is now the new wanted."pName(WantedPlayer));
                
SendClientMessageToAll(COLOR_WHITE ,coordsstring);
                 
TextDrawHideForAll(wanted3);
                
format(coordsstringsizeof(coordsstring), "%s"pName(WantedPlayer));
                 
TextDrawSetString(wanted4coordsstring);
                 
TextDrawShowForAll(wanted3);
            }
            else if(
== 0)
            {
                
Wanted 0;
                
PlayerWanted[playerid] = 0;
                
WantedPlayer = -1;
                   
TextDrawHideForAll(wanted);
                
TextDrawHideForAll(wanted1);
                
TextDrawHideForAll(wanted2);
                
TextDrawHideForAll(wanted3);
                
TextDrawHideForAll(wanted4);
                
TextDrawHideForAll(wanted5);
                
TextDrawHideForAll(wanted6);
                
TextDrawHideForAll(wanted7);
                
TextDrawHideForAll(wanted8);
                
printf("The wanted have been disable ( 0 players connected ).");
            }
        }
        return 
1;
    } 
the problem is when i'am the wanted and i'am disconnect , i will reconnect after the wanted timer finished i will won the wanted.

The wanted timer :
PHP код:
forward WantedTimer();
public 
WantedTimer()
{
    new 
string[256];
    
Secondes--;
    if(
Minutes == && Secondes == 1)
    {
        
KillTimer(WTimer);
        
WantedG(WantedPlayer);
    }
    if(
Secondes == 0)
    {
         
Minutes--;
         
Secondes 59;
    }
    for(new 
iMAX_PLAYERS; ++i)
    {
        if(
PlayerInSafe[i] != 1)
        {
            
format(stringsizeof(string), "~r~%02d:%02d"MinutesSecondes);
            
TextDrawSetString(wanted5string);
           }
       }
    return 
1;

when the wanted finished

PHP код:
forward WantedG(playerid);
public 
WantedG(playerid)
{
    for(new 
iMAX_PLAYERS; ++i)
    {
        if(
WantedPlayer == i)
        {
            new 
string[256];
            
GiveArgent(i5000);
            
pInfo[i][pExp] += 100;
            
pInfo[i][pWanted] ++;
            
format(stringsizeof(string), "{FE0101}[WANTED] {FFFFFF}%s won the wanted and take 5000$ and 100EXP"pName(i));
            
SendClientMessageToAll(0x9EC73DAA,string);
            
SetPlayerWantedLevel(i0);
            
PlayerWanted[i] = 0;
            
WantedPlayer = -1;
            
TextDrawHideForAll(wanted);
            
TextDrawHideForAll(wanted1);
            
TextDrawHideForAll(wanted2);
            
TextDrawHideForAll(wanted3);
            
TextDrawHideForAll(wanted4);
            
TextDrawHideForAll(wanted5);
            
TextDrawHideForAll(wanted6);
            
TextDrawHideForAll(wanted7);
            
TextDrawHideForAll(wanted8);
        }
    }

Reply
#2

pawn Код:
if(WantedPlayer == playerid)
    {
        if(GetPlayersOnServer() != 0)
        {
                RRandom = SelectRandomPlayer();
                new coordsstring[124];
                WantedPlayer = RRandom;
                format(coordsstring, sizeof(coordsstring), "{FF0000}[WANTED]{FFFFFF} %s is now the new wanted.", pName(WantedPlayer));
                SendClientMessageToAll(COLOR_WHITE ,coordsstring);
                 TextDrawHideForAll(wanted3);
                format(coordsstring, sizeof(coordsstring), "%s", pName(WantedPlayer));
                 TextDrawSetString(wanted4, coordsstring);
                 TextDrawShowForAll(wanted3);
        }
        else if(RRandom == 0)
        {
                Wanted = 0;
                PlayerWanted[playerid] = 0;
                WantedPlayer = -1;
                   TextDrawHideForAll(wanted);
                TextDrawHideForAll(wanted1);
                TextDrawHideForAll(wanted2);
                TextDrawHideForAll(wanted3);
                TextDrawHideForAll(wanted4);
                TextDrawHideForAll(wanted5);
                TextDrawHideForAll(wanted6);
                TextDrawHideForAll(wanted7);
                TextDrawHideForAll(wanted8);
                printf("The wanted have been disable ( 0 players connected ).");
        }
        return 1;
    }
and add this:
pawn Код:
stock SelectRandomPlayer()
{
     new random = Random(MAX_PLAYERS);
     if(IsPlayerConnected(random))
     {
           return random;
     }
     else
     {
           SelectRandomPlayer();
     }
}
and
pawn Код:
GetPlayersOnServer() {
    new count;
    for(new x=0; x< MAX_PLAYERS; x++) { //x = MAX_PLAYERS
      if(IsPlayerConnected(x))) {
            count++;
        }
    }
    return count;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)