[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

[pawn]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);
}[/pawn]

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