[POMOC] Sat


Započeo #Badzoni, Maj 08, 2016, 18:18:46 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: GTA RP
Detaljan opis problema: Sat na serveru ig, kasni 1h.
Dio skripte: //
Kod: //

   
   Vrijeme =  TextDrawCreate(, "7:00:34");
   TextDrawLetterSize(Vrijeme, );
   TextDrawAlignment(Vrijeme, );
   TextDrawColor(Vrijeme, );
   TextDrawSetShadow(Vrijeme, );
   TextDrawSetOutline(Vrijeme, );
   TextDrawBackgroundColor(Vrijeme, );
   TextDrawFont(Vrijeme, );
   TextDrawSetProportional(Vrijeme, );

   Datum = TextDrawCreate(, "9/5/2016");
   TextDrawLetterSize(Datum, );
   TextDrawAlignment(Datum, 1);
   TextDrawColor(Datum, );
   TextDrawSetShadow(Datum, );
   TextDrawSetOutline(Datum, );
   TextDrawBackgroundColor(Datum, );
   TextDrawFont(Datum, );
   TextDrawSetProportional(Datum, );

   SetTimer("VrijemeTimer",1000,true);


forward VrijemeTimer(playerid);
public VrijemeTimer(playerid)
{
    new string[128],godina,mjesec,dan,sati,minute,sekunde;
    getdate(godina, mjesec, dan), gettime(sati, minute, sekunde);
    format(string, sizeof string, "%d.%s%d.%s%d", dan, ((mjesec < 10) ? ("0") : ("")), mjesec, (godina < 10) ? ("0") : (""), godina);
    TextDrawSetString(Datum, string);
    format(string, sizeof string, "%s%d:%s%d:%s%d", (sati < 10) ? ("0") : (""), sati, (minute < 10) ? ("0") : (""), minute, (sekunde < 10) ? ("0") : (""), sekunde);
    TextDrawSetString(Vrijeme, string);
}

My PC:
# Procesor: AMD FX-8350 (8 x 4,0 GHz)
# Matična ploča: Asus M5A78M-M LX3
# Memorija: Kingston Fury 8 GB 1600 MHz
# Hard disk: Seagate / WD 500 GB
# Grafička kartica: GTX750-Ti 2 GB GDDR5
# Windows 8.1 64-Bit

@MySQL skrati sebi muku sa formatom

forward VrijemeTimer(playerid);
public VrijemeTimer(playerid)
{
    new string[128],godina,mjesec,dan,sati,minute,sekunde;
    getdate(godina, mjesec, dan), gettime(sati, minute, sekunde);
    format(string, sizeof string, "%02d.%02d.%04d", dan, mjesec, godina);
    TextDrawSetString(Datum, string);
    format(string, sizeof string, "%02d:%02d",sati, minute);
    TextDrawSetString(Vrijeme, string);
}

Ako ti i posle ovoga sto su ti poslali sat bude kasnio onda se obrati podrsci na hostingu posto je moguce da sat na masini kasni a tebi na serveru ide sat sa masine.

Do moda je proverio sam to.

Jesi ubacio ovo gore sto sam ti uradio radil ?  :-X

My PC:
# Procesor: AMD FX-8350 (8 x 4,0 GHz)
# Matična ploča: Asus M5A78M-M LX3
# Memorija: Kingston Fury 8 GB 1600 MHz
# Hard disk: Seagate / WD 500 GB
# Grafička kartica: GTX750-Ti 2 GB GDDR5
# Windows 8.1 64-Bit

Idalje kasni 1h. Moze nedje da se doda mozda +1h lupam.. Ili nest slicno?

Ubacio sam sve to. Imam error oko TD-ova probam bez njih udjem na srw /time kasni opet..


COMMAND:time(playerid, params[])
	{
	    if(IsPlayerConnected(playerid))
		{
		    new mtext[20], string[256];
			new year, month,day;
			getdate(year, month, day);
			if(month == 1)
			{
				mtext = "Januar";
			}
			else if(month == 2)
			{
				mtext = "Februar";
			}
			else if(month == 3)
			{
				mtext = "Mart";
			}
			else if(month == 4)
			{
				mtext = "April";
			}
			else if(month == 5)
			{
				mtext = "Maj";
			}
			else if(month == 6)
			{
				mtext = "Jun";
			}
			else if(month == 7)
			{
				mtext = "Jul";
			}
			else if(month == 8)
			{
				mtext = "Avgust";
			}
			else if(month == 9)
			{
				mtext = "Septembar";
			}
			else if(month == 10)
			{
				mtext = "Oktobar";
			}
			else if(month == 11)
			{
				mtext = "Novembar";
			}
			else if(month == 12)
			{
				mtext = "Decembar";
			}
	    new hour,minuite,second;
			gettime(hour,minuite,second);
			FixHour(hour);
			hour = shifthour;
			if (minuite < 10)
			{
				if (PlayerInfo[playerid][pJailTime] > 0)
				{
				    if(PlayerInfo[playerid][pWatch] == 1)
				    {
						format(string, sizeof(string), "~y~%d %s~n~~g~|~w~%d:0%d~g~|~n~~w~Preostalo vreme u zatvoru: %d sekundi", day, mtext, hour, minuite, PlayerInfo[playerid][pJailTime]-10);
					}
					else
					{
					    format(string, sizeof(string), "~w~Presostalo vreme u zatvoru: %d sekundi", PlayerInfo[playerid][pJailTime]-10);
					}
				}
				else
				{
				    if(PlayerInfo[playerid][pWatch] == 1)
				    {
						format(string, sizeof(string), "~y~%d %s~n~~g~|~w~%d:0%d~g~|", day, mtext, hour, minuite);
					}
					else
					{
					    format(string, sizeof(string), "~r~Nemate sat");
					}
				}
			}
			else
			{
				if (PlayerInfo[playerid][pJailTime] > 0)
				{
				    if(PlayerInfo[playerid][pWatch] == 1)
				    {
						format(string, sizeof(string), "~y~%d %s~n~~g~|~w~%d:%d~g~|~n~~w~Presostalo vreme u zatvoru: %d sekundi", day, mtext, hour, minuite, PlayerInfo[playerid][pJailTime]-10);
					}
					else
					{
					    format(string, sizeof(string), "~w~Presostalo vreme u zatvoru: %d sekundi", PlayerInfo[playerid][pJailTime]-10);
					}
				}
				else
				{
				    if(PlayerInfo[playerid][pWatch] == 1)
				    {
						format(string, sizeof(string), "~y~%d %s~n~~g~|~w~%d:%d~g~|", day, mtext, hour, minuite);
					}
					else
					{
					    format(string, sizeof(string), "~r~Nemate sat");
					}
				}
			}
			GameTextForPlayer(playerid, string, 5000, 1);
			GetPlayerName(playerid, sendername, sizeof(sendername));
			if(PlayerInfo[playerid][pWatch] == 1)
			{
			    if(PlayerInfo[playerid][pSex] == 1) { format(string, sizeof(string), "* %s podize ruku i gleda na sat.", sendername); }
			    else { format(string, sizeof(string), "* %s podize njenu ruku i gleda na sat.", sendername); }
				ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
			}
			ApplyAnimation(playerid,"COP_AMBIENT","Coplook_watch",4.1,0,0,0,0,0);
		}
		return 1;
	}

FixHour(hour); i ovo hour = shifthour

pretpostavljam da je ovo shift problem, sigurno da pomijera jedan sat unaprijed, ukloni ga pa probaj

savjet: umjesto one 0 ispred %d koristi %02d za format sata u 24 satni

forward VrijemeTimer(playerid);
public VrijemeTimer(playerid)
{
    new string[128],godina,mjesec,dan,sati,minute,sekunde;
    getdate(godina, mjesec, dan), gettime(sati, minute, sekunde);
    format(string, sizeof string, "%02d.%02d.%04d", dan, mjesec, godina);
    TextDrawSetString(Datum, string);
    format(string, sizeof string, "%02d:%02d",sati+1, minute);
    TextDrawSetString(Vrijeme, string);
}

Hvala vam. Sve sto ste napisali sam ubacio i bas sve je i moralo. Hvala svima, moze lock. :D