Server Clock, it suddenly stops...
#1

hi there,

I have a clock system, the simple one as known. But, after joining the server, a bit later, the clock stops. There is only way to stop it: "KillTimer", but althought i don't use it, it still stops. Dunoo what is wrong, i need help.

Код:
// @ ongamemodeinit >> 	SetTimer("GetRealTime", 1000, 1);

// @ onplayerspawn >> TextDrawShowForPlayer(playerid, TextdrawClock); 

public GetRealTime()
{
	new Saat,Dakika,Saniye;
	new string[256];

	gettime(Saat,Dakika,Saniye);

	format(string, sizeof(string), "%s%d:%s%d:%s%d", (Saat < 10) ? ("0") : (""), Saat, (Dakika < 10) ? ("0") : (""), Dakika, (Saniye < 10) ? ("0") : (""), Saniye);
	TextDrawSetString(TextdrawClock, string);

return 1;
}
Reply
#2

try this one

pawn Код:
#include <a_samp>
#pragma tabsize 0



#define ZBC_MONDAY 0
#define ZBC_TUESDAY 1
#define ZBC_WEDNESDAY 2
#define ZBC_THURSDAY 3
#define ZBC_FRIDAY 4
#define ZBC_SATURDAY 5
#define ZBC_SUNDAY 6

#define ZBC_COLOR_BLACK 0x000000FF
#define ZBC_COLOR_RED 0xE21F1FFF
#define ZBC_COLOR_GREY 0xFFFFFFFF
#define ZBC_COLOR_WHITE 0xFFFFFFFF

new ZBCDay;
new ZBCHours;

new Text:TextZBC;
new TextZBCHoursString[56];
new TextZBCMinutes, TextZBCMinutesString[56];

new Text:TextMonday;
new Text:TextTuesday;
new Text:TextWednesday;
new Text:TextThursday;
new Text:TextFriday;
new Text:TextSaturday;
new Text:TextSunday;

// USE THESE NATIVES ONLY!!!!!!
stock SetDay(Day)
{
    ZBCDay = Day;
    UpdateDay(ZBCDay);
}
stock SetHour(Hour)
{
    ZBCHours = Hour;
}
stock GetHour()
{
    return ZBCHours;
}
stock GetDay()
{
    return ZBCDay;
}
// When the Clock Ticks
forward OnZBCTimeTick();
// When the day updates
forward OnZBCDayChange();

// Native callback to go under OnGameModeInit()
stock InitializeZBC(style)
{
    if(style == 0)
        {
        // The clock's text
        TextZBC = TextDrawCreate(546.000000,22.000000,"--:--");
        TextDrawAlignment(TextZBC,0);
        TextDrawBackgroundColor(TextZBC,ZBC_COLOR_BLACK);
        TextDrawFont(TextZBC,3);
        TextDrawLetterSize(TextZBC,0.635,2.4);
        TextDrawColor(TextZBC,ZBC_COLOR_WHITE);
        TextDrawSetOutline(TextZBC,1);
        TextDrawSetProportional(TextZBC,1);
        TextDrawSetShadow(TextZBC,1);

        // Text draws for the days of the week
        TextMonday = TextDrawCreate(549.000000, 44.000000, "M");
        TextDrawAlignment(TextMonday, 2);
        TextDrawBackgroundColor(TextMonday, 255);
        TextDrawFont(TextMonday, 3);
        TextDrawLetterSize(TextMonday, 0.180000, 0.700000);
        TextDrawColor(TextMonday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextMonday, 1);
        TextDrawSetProportional(TextMonday, 1);

        TextTuesday = TextDrawCreate(557.000000, 44.000000, "T");
        TextDrawAlignment(TextTuesday, 2);
        TextDrawBackgroundColor(TextTuesday, 255);
        TextDrawFont(TextTuesday, 3);
        TextDrawLetterSize(TextTuesday, 0.180000, 0.700000);
        TextDrawColor(TextTuesday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextTuesday, 1);
        TextDrawSetProportional(TextTuesday, 1);

        TextWednesday = TextDrawCreate(565.000000, 44.000000, "W");
        TextDrawAlignment(TextWednesday, 2);
        TextDrawBackgroundColor(TextWednesday, 255);
        TextDrawFont(TextWednesday, 3);
        TextDrawLetterSize(TextWednesday, 0.180000, 0.700000);
        TextDrawColor(TextWednesday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextWednesday, 1);
        TextDrawSetProportional(TextWednesday, 1);

        TextThursday = TextDrawCreate(573.000000, 44.000000, "T");
        TextDrawAlignment(TextThursday, 2);
        TextDrawBackgroundColor(TextThursday, 255);
        TextDrawFont(TextThursday, 3);
        TextDrawLetterSize(TextThursday, 0.180000, 0.700000);
        TextDrawColor(TextThursday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextThursday, 1);
        TextDrawSetProportional(TextThursday, 1);

        TextFriday = TextDrawCreate(580.000000, 44.000000, "F");
        TextDrawAlignment(TextFriday, 2);
        TextDrawBackgroundColor(TextFriday, 255);
        TextDrawFont(TextFriday, 3);
        TextDrawLetterSize(TextFriday, 0.180000, 0.700000);
        TextDrawColor(TextFriday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextFriday, 1);
        TextDrawSetProportional(TextFriday, 1);

        TextSaturday = TextDrawCreate(587.000000, 44.000000, "S");
        TextDrawAlignment(TextSaturday, 2);
        TextDrawBackgroundColor(TextSaturday, 255);
        TextDrawFont(TextSaturday, 3);
        TextDrawLetterSize(TextSaturday, 0.180000, 0.700000);
        TextDrawColor(TextSaturday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextSaturday, 1);
        TextDrawSetProportional(TextSaturday, 1);

        TextSunday = TextDrawCreate(594.000000, 44.000000, "S");
        TextDrawAlignment(TextSunday, 2);
        TextDrawBackgroundColor(TextSunday, 255);
        TextDrawFont(TextSunday, 3);
        TextDrawLetterSize(TextSunday, 0.180000, 0.700000);
        TextDrawColor(TextSunday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextSunday, 1);
        TextDrawSetProportional(TextSunday, 1);
    }
    else if(style == 1) // IDEA BY: ducati09
        {
        // The clock's text
        TextZBC = TextDrawCreate(546.000000,22.000000,"--:--");
        TextDrawAlignment(TextZBC,0);
        TextDrawBackgroundColor(TextZBC,ZBC_COLOR_BLACK);
        TextDrawFont(TextZBC,3);
        TextDrawLetterSize(TextZBC,0.635,2.4);
        TextDrawColor(TextZBC,ZBC_COLOR_WHITE);
        TextDrawSetOutline(TextZBC,1);
        TextDrawSetProportional(TextZBC,1);
        TextDrawSetShadow(TextZBC,1);

        // Text draws for the days of the week
        TextMonday = TextDrawCreate(503.000000, 14.000000, "M");
        TextDrawAlignment(TextMonday, 2);
        TextDrawBackgroundColor(TextMonday, 255);
        TextDrawFont(TextMonday, 3);
        TextDrawLetterSize(TextMonday, 0.280000, 1.000000);
        TextDrawColor(TextMonday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextMonday, 1);
        TextDrawSetProportional(TextMonday, 1);

        TextTuesday = TextDrawCreate(514.000000, 14.000000, "T");
        TextDrawAlignment(TextTuesday, 2);
        TextDrawBackgroundColor(TextTuesday, 255);
        TextDrawFont(TextTuesday, 3);
        TextDrawLetterSize(TextTuesday, 0.280000, 1.000000);
        TextDrawColor(TextTuesday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextTuesday, 1);
        TextDrawSetProportional(TextTuesday, 1);

        TextWednesday = TextDrawCreate(526.000000, 14.000000, "W");
        TextDrawAlignment(TextWednesday, 2);
        TextDrawBackgroundColor(TextWednesday, 255);
        TextDrawFont(TextWednesday, 3);
        TextDrawLetterSize(TextWednesday, 0.280000, 1.000000);
        TextDrawColor(TextWednesday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextWednesday, 1);
        TextDrawSetProportional(TextWednesday, 1);

        TextThursday = TextDrawCreate(538.000000, 14.000000, "T");
        TextDrawAlignment(TextThursday, 2);
        TextDrawBackgroundColor(TextThursday, 255);
        TextDrawFont(TextThursday, 3);
        TextDrawLetterSize(TextThursday, 0.280000, 1.000000);
        TextDrawColor(TextThursday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextThursday, 1);
        TextDrawSetProportional(TextThursday, 1);

        TextFriday = TextDrawCreate(548.000000, 14.000000, "F");
        TextDrawAlignment(TextFriday, 2);
        TextDrawBackgroundColor(TextFriday, 255);
        TextDrawFont(TextFriday, 3);
        TextDrawLetterSize(TextFriday, 0.280000, 1.000000);
        TextDrawColor(TextFriday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextFriday, 1);
        TextDrawSetProportional(TextFriday, 1);

        TextSaturday = TextDrawCreate(558.000000, 14.000000, "S");
        TextDrawAlignment(TextSaturday, 2);
        TextDrawBackgroundColor(TextSaturday, 255);
        TextDrawFont(TextSaturday, 3);
        TextDrawLetterSize(TextSaturday, 0.280000, 1.000000);
        TextDrawColor(TextSaturday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextSaturday, 1);
        TextDrawSetProportional(TextSaturday, 1);

        TextSunday = TextDrawCreate(568.000000, 14.000000, "S");
        TextDrawAlignment(TextSunday, 2);
        TextDrawBackgroundColor(TextSunday, 255);
        TextDrawFont(TextSunday, 3);
        TextDrawLetterSize(TextSunday, 0.280000, 1.000000);
        TextDrawColor(TextSunday, ZBC_COLOR_GREY);
        TextDrawSetOutline(TextSunday, 1);
        TextDrawSetProportional(TextSunday, 1);
    }
   
    print("\n--ZBCplus Loaded\n");
    TextZBCMinutes = 00;
    SetTimer("UpdateTime", 1000, 1); // Every second
    SetWorldTime(ZBCHours);
    UpdateDay(ZBCDay);

   
}

// Where ever you want this
stock LoadZBCText(playerid)
{
    TextDrawShowForPlayer(playerid, TextZBC);
    TextDrawShowForPlayer(playerid, TextMonday);
    TextDrawShowForPlayer(playerid, TextTuesday);
    TextDrawShowForPlayer(playerid, TextWednesday);
    TextDrawShowForPlayer(playerid, TextThursday);
    TextDrawShowForPlayer(playerid, TextFriday);
    TextDrawShowForPlayer(playerid, TextSaturday);
    TextDrawShowForPlayer(playerid, TextSunday);
}


// DO NOT CALL THIS!!!!!!!!
//Timer for time (lol)
forward UpdateTime();
public UpdateTime()
{
    new ClockString[126];
    TextZBCMinutes++;
    // Checks for clock 'defining' minutes limit as 60 and hours limit as 24
    if(TextZBCMinutes == 60)
    {
        TextZBCMinutes = 00;
        ZBCHours++;
        if(ZBCHours == 24)
        {
            ZBCDay++;
            if(ZBCDay == 6)
            {
                ZBCDay = 0;
            }
            UpdateDay(ZBCDay);
            ZBCHours = 00;
                OnZBCDayChange();
        }
    }
    if(TextZBCMinutes < 10)
    {
        format(TextZBCMinutesString, sizeof(TextZBCMinutesString), "0%i", TextZBCMinutes);
    }
    if(TextZBCMinutes > 10)
    {
        format(TextZBCMinutesString, sizeof(TextZBCMinutesString), "%i", TextZBCMinutes);
    }
    if(ZBCHours < 10)
    {
        format(TextZBCHoursString, sizeof(TextZBCHoursString), "0%i", ZBCHours);
    }
    if(ZBCHours > 10)
    {
        format(TextZBCHoursString, sizeof(TextZBCHoursString), "%i", ZBCHours);
    }
    format(ClockString, sizeof(ClockString), "%s:%s", TextZBCHoursString, TextZBCMinutesString);
    for(new iZBC=0; iZBC<MAX_PLAYERS; iZBC++)
    {
        if(IsPlayerConnected(iZBC))
        {
            SetPlayerTime(iZBC, ZBCHours, TextZBCMinutes);
        }
    }
    TextDrawSetString(TextZBC, ClockString);
    OnZBCTimeTick();
}



// DO NOT CALL THIS!!!!!!!!
forward UpdateDay(Day);
public UpdateDay(Day)
{
    if(Day == 0) // Monday
    {
        TextDrawSetString(TextMonday, "~b~~h~M");
        TextDrawSetString(TextTuesday, "~w~T");
        TextDrawSetString(TextWednesday, "~w~W");
        TextDrawSetString(TextThursday, "~w~T");
        TextDrawSetString(TextFriday, "~w~F");
        TextDrawSetString(TextSaturday, "~w~S");
        TextDrawSetString(TextSunday, "~w~S");
    }
    if(Day == 1) // Tuesday
    {
        TextDrawSetString(TextMonday, "~w~M");
        TextDrawSetString(TextTuesday, "~b~~h~T");
        TextDrawSetString(TextWednesday, "~w~W");
        TextDrawSetString(TextThursday, "~w~T");
        TextDrawSetString(TextFriday, "~w~F");
        TextDrawSetString(TextSaturday, "~w~S");
        TextDrawSetString(TextSunday, "~w~S");
    }
    if(Day == 2) // Wednesday
    {
        TextDrawSetString(TextMonday, "~w~M");
        TextDrawSetString(TextTuesday, "~w~T");
        TextDrawSetString(TextWednesday, "~b~~h~W");
        TextDrawSetString(TextThursday, "~w~T");
        TextDrawSetString(TextFriday, "~w~F");
        TextDrawSetString(TextSaturday, "~w~S");
        TextDrawSetString(TextSunday, "~w~S");
    }
    if(Day == 3) // Thursday
    {
        TextDrawSetString(TextMonday, "~w~M");
        TextDrawSetString(TextTuesday, "~w~T");
        TextDrawSetString(TextWednesday, "~w~W");
        TextDrawSetString(TextThursday, "~b~~h~T");
        TextDrawSetString(TextFriday, "~w~F");
        TextDrawSetString(TextSaturday, "~w~S");
        TextDrawSetString(TextSunday, "~w~S");
    }
    if(Day == 4) // Friday
    {
        TextDrawSetString(TextMonday, "~w~M");
        TextDrawSetString(TextTuesday, "~w~T");
        TextDrawSetString(TextWednesday, "~w~W");
        TextDrawSetString(TextThursday, "~w~T");
        TextDrawSetString(TextFriday, "~b~~h~F");
        TextDrawSetString(TextSaturday, "~w~S");
        TextDrawSetString(TextSunday, "~w~S");
    }
    if(Day == 5) // Saturday
    {
        TextDrawSetString(TextMonday, "~w~M");
        TextDrawSetString(TextTuesday, "~w~T");
        TextDrawSetString(TextWednesday, "~w~W");
        TextDrawSetString(TextThursday, "~w~T");
        TextDrawSetString(TextFriday, "~w~F");
        TextDrawSetString(TextSaturday, "~b~~h~S");
        TextDrawSetString(TextSunday, "~w~S");
    }
    if(Day == 6) // Sunday
    {
        TextDrawSetString(TextMonday, "~w~M");
        TextDrawSetString(TextTuesday, "~w~T");
        TextDrawSetString(TextWednesday, "~w~W");
        TextDrawSetString(TextThursday, "~w~T");
        TextDrawSetString(TextFriday, "~w~F");
        TextDrawSetString(TextSaturday, "~w~S");
        TextDrawSetString(TextSunday, "~b~~h~S");
    }
}
Reply
#3

No, i don't need a new one, i just want to know why the timer stops. I also have a ramdom textdraw messager, in a box which takes part at bottom of the screen. It stops, too with the clock. What can cause it?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)