Wysłany: 2012-12-24, 11:54
fokus123
Wiek: 31 Na forum: 5263 dni Posty: 10
Nick w MP: Dawid
Piwa : 11
M?wi? szybko i prosto, mam problem czas na serwerze nie zgadza sie z czasem rzeczywistym (U nas mamy przyk?adowo 14:00, a na serwerze ejst o 1h mniejsza 13:00).Stawiam piwka !
Kod: //Skrypt by Kacu_XD specjalnie dla gtaonline.pl
#include <a_samp>
#define FILTERSCRIPT
#define COLOR_INFO 0xD7E818FF
//-----------------------------
new Text:Clock;
new Text:WeekDayg;
//---------------------------------
forward GetWeekdayNum(d,m,y);
forward settime();
forward weatherchange();
//-------------------------------------
public OnFilterScriptInit()
{
WeekDayg = TextDrawCreate(502.000000,11.000000,"----");
TextDrawAlignment(WeekDayg,0);
TextDrawBackgroundColor(WeekDayg,0x000000ff);
TextDrawFont(WeekDayg,3);
TextDrawLetterSize(WeekDayg,0.700000,1.000000);
TextDrawColor(WeekDayg,0xffff00cc);
TextDrawSetOutline(WeekDayg,1);
TextDrawSetProportional(WeekDayg,1);
TextDrawSetShadow(WeekDayg,10);
Clock = TextDrawCreate(547.0, 24.0, "--:--");
TextDrawLetterSize(Clock, 0.6, 1.8);
TextDrawFont(Clock, 3);
TextDrawSetOutline(Clock, 2);
SetTimer("settime",1000,true);
SetTimer("weatherchange",10800000,true);
return 1;
}
public OnPlayerSpawn(playerid)
{
TextDrawShowForPlayer(playerid, Clock);
TextDrawShowForPlayer(playerid, WeekDayg);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
TextDrawHideForPlayer(playerid, Clock);
TextDrawHideForPlayer(playerid, WeekDayg);
return 1;
}
public weatherchange(){
SetWeather(random(18));
}
public settime(){
new hour,minute,second;
new string[256];
gettime(hour,minute,second);
if (minute <= 9){format(string,25,"%d:0%d",hour,minute);}
else {format(string,25,"%d:%d",hour,minute);}
TextDrawSetString(Clock,string);
SetWorldTime(hour);
new day, month, year;
new weekday;
getdate(day, month, year);
weekday = GetWeekdayNum(day, month, year);
if(weekday == 1){TextDrawSetString(WeekDayg,"");}
if(weekday == 2){TextDrawSetString(WeekDayg,"");}
if(weekday == 3){TextDrawSetString(WeekDayg,"");}
if(weekday == 4){TextDrawSetString(WeekDayg,"");}
if(weekday == 5){TextDrawSetString(WeekDayg,"");}
if(weekday == 6){TextDrawSetString(WeekDayg,"");}
if(weekday == 7){TextDrawSetString(WeekDayg,"");}
return 1;
}
public GetWeekdayNum(d,m,y)
{
m-=2;
if(m<=0)
{
y--;
m+=12;
}
new cen = y/100;
y=getrem(y,100);
new w = d + ((13*m-1)/5) + y + (y/4) + (cen/4) - 2*cen;
w=getrem(w,7);
if (w==0) w=7;
return w-1;
}
getrem(a,b)
{
new div = a/b;
new left = a-b*div;
return left;
}
Wysłany: 2012-12-24, 11:59
mishek
Wiek: 30 Na forum: 5272 dni Posty: 33
Nick w MP: mishek
Piwa : 7
Nie jestem w 100% pewien, ale godzina na serwerze zale?y od tego jak w serwerowni maj? ustawione. Wi?c z tym raczej nic nie zrobisz.
Pozdrawiam i ?ycz? weso?ych !
Wysłany: 2012-12-24, 12:31
Raydex
Wiek: 36 Na forum: 6037 dni Posty: 138
Piwa : 1043
Wysłany: 2012-12-25, 09:52
fokus123
Wiek: 31 Na forum: 5263 dni Posty: 10
Nick w MP: Dawid
Piwa : 11
"Raydex" napisał/a :
Gdzie to waln??? #define hour-1 ;d? , jak by co to ucz? si? pawno
Wysłany: 2012-12-25, 15:44
mishek
Wiek: 30 Na forum: 5272 dni Posty: 33
Nick w MP: mishek
Piwa : 7
Raczej hour+1 czyli w publicu settime zamie? new hour,minute,second;
na new hour+1,minute,second; , tak samo w gettime przy hour daj +1 je?eli to nie pomo?e spr?buj zrobi? to tak:
Kod: new x = hour+1,minute,second;
zamiast Kod: p??niej w gettime zamiast hour daj x i tyle.
Je?eli dalej nie b?dzie dzia?a? to ja Ci ju? tu nie pomog?.
Pozdrawiam i ?ycz? weso?ych !
Tagi: naprawa :: kodu
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: