View Single Post
Old 14/09/2011, 12:07 AM   #4
PowerPC603
High-roller
 
Join Date: Nov 2010
Location: Belgium
Posts: 1,734
Reputation: 238
Default Re: gl_realtime - is it possible to make it like the san andreas (Singleplayer) game time?

pawn Code:
//
// Keeps the in game time synced to the server's time and
// draws the current time on the player's hud using a textdraw/
// (1 minute game-time = 1 second real world time)
//
//  Kye 2009

#include <a_samp>
#pragma tabsize 0

//--------------------------------------------------

// Setup global variables
new ServerMinutes, ServerHours, Text:TimeDisplay, TimeString[32];

public OnFilterScriptInit()
{
    TimeDisplay = TextDrawCreate(605.0, 25.0, "00:00");
    TextDrawUseBox(TimeDisplay, 0);
    TextDrawFont(TimeDisplay, 3);
    TextDrawSetShadow(TimeDisplay, 0); // no shadow
    TextDrawSetOutline(TimeDisplay, 2); // thickness 1
    TextDrawBackgroundColor(TimeDisplay, 0x000000FF);
    TextDrawColor(TimeDisplay, 0xFFFFFFFF);
    TextDrawAlignment(TimeDisplay, 3);
    TextDrawLetterSize(TimeDisplay, 0.5, 1.5);

    // Start a timer that runs every second
    SetTimer("ProcessGameTime", 1000, 1);
}

forward ProcessGameTime();
public ProcessGameTime()
{
    // Increment the minute counter
    ServerMinutes++;

    // One hour has passed
    if(ServerMinutes == 60)
    {
        // Reset the minutes to 0
        ServerMinutes = 0;
        // Increase the hours
        ServerHours++;

        // One day has passed
        if(ServerHours == 24)
            ServerHours = 0;
    }

    // Format the text to be shown on the textdraw
    format(TimeString,32,"%02d:%02d", ServerHours, ServerMinutes);
    TextDrawSetString(TimeDisplay, TimeString);

    // Update the time for every player
    for (new playerid; playerid < MAX_PLAYERS; playerid++)
    {
        // Check if the player is connected
        if (IsPlayerConnected(playerid))
        {
            // Update the time for this player
            SetPlayerTime(playerid, ServerHours, ServerMinutes);
        }
    }
}

public OnPlayerSpawn(playerid)
{
    TextDrawShowForPlayer(playerid, TimeDisplay);
   
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    TextDrawHideForPlayer(playerid, TimeDisplay);

    return 1;
}

// This callback gets called when a player disconnects from the server
public OnPlayerDisconnect(playerid, reason)
{
    TextDrawHideForPlayer(playerid, TimeDisplay);

    return 1;
}
__________________
Gamemode: PPC_Trucking
Extras-file (for PPC_Trucking): /delproperty, /evict, /propertyid, /porthouse, /portbus, /properties
------------------------------------------------------------------------------------
PPC-Trucking-V2 (home-hosted, only open on occasion for testing purposes): ppctruckingv2.no-ip.info:7777
Youtube channel: https://www.youtube.com/channel/UC-4...Mpglma8f0Ld-YQ
------------------------------------------------------------------------------------
Filterscripts: PPC_Speedometer - PPC_Housing - PPC_Business
PowerPC603 is offline   Reply With Quote