27.12.2010, 12:08
This
or this
Код:
// Top of script new CurrentSession[ MAX_PLAYERS ] // Create an array which keeps track of how many seconds the player has been on the server. ; forward PayDay( ); // Forwarding the payday function. forward ThreeSecondTimer( ); // Forwarding the session increment function. // OnGameModeInit SetTimer( "PayDay", 1800000, true ); // Setting the payday timer for 30 minutes. SetTimer( "ThreeSecondTimer", 3000, true ); // Setting the session timer for 3 seconds. // OnPlayerConnect CurrentSession[ playerid ] = 0; // When a new player connects, their session time should be 0. // Outside callbacks public ThreeSecondTimer( ) { for( new i; i < MAX_PLAYERS; i++ ) // Can be substituted with foreach (Recommended) { if( IsPlayerConnected( i ) ) // If the player is connected { CurrentSession[ i ] += 3; // Add 3 to their seconds connected. } } return 1; } public PayDay( ) { for( new i; i < MAX_PLAYERS; i++ ) // Can be substituted with foreach (Recommended) { if( IsPlayerConnected( i ) ) // If the player is connected { if( CurrentSession[ i ] >= 900 ) // If the player has been connected for at least 15 minutes. { GivePlayerMoney( i, 5000 ); // Give the player money } else { SendClientMessage( i, 0xFFFFFFFF, "Server: You haven't played long enough!" ); // The player has not been connected for at least 15 minutes. } CurrentSession[ i ] = 0; // Reset the session. } } return 1; }
or this
Код:
SetTimerEx("payday", time, true, "d", playerid);//time has to be defined
Код:
public payday(playerid) { GameTextForPlayer(playerid, "PAYDAY!!!", 10000, 3); SendClientMessage(playerid, YOUR_COLOR_HERE, "YOUR MESSAGE"); GivePlayerMoney(playerid, 5000);// or whatever you want return 1; }