Trevor_Freeman
Новичок
Здравствуйте уважаемые пользователи Pawno Info!
Сегодня мы с вами создадим систему часов с временем и датой для Вашего сервера!
Подобного нигде не видел так что решил выложить.
Автор: Неизвестен, так как вырезал из какого-то мода, но так как я переписал пол системы фактически автором считаюсь я, от старой там только основа осталась, и после правки часы стали корректно работать.
Сегодня мы с вами создадим систему часов с временем и датой для Вашего сервера!
Подобного нигде не видел так что решил выложить.
Автор: Неизвестен, так как вырезал из какого-то мода, но так как я переписал пол системы фактически автором считаюсь я, от старой там только основа осталась, и после правки часы стали корректно работать.
Как выглядят часы вы можете увидеть, перейдя по данной ссылке [
Готов выслушать любую критику.
Это мой первый мануал, так что если что-то не так извините.
Это мой первый мануал, так что если что-то не так извините.
Что ж...
Перейдём непосредственно к нашему скрипту
.Перейдём непосредственно к нашему скрипту
Ко всем new добавляем:
PHP:
new Text:Clock;
new Text:Den;
К forward добавляем:
PHP:
forward GetWeekdayNum(d,m,y);
forward settime();
forward weatherchange();
В public OnFilterScriptInit() [Если его нет, то создаём] добавляем:
PHP:
Den = TextDrawCreate(549.000000,55.000000,"----");
TextDrawAlignment(Den,0);
TextDrawBackgroundColor(Den,0x000000ff);
TextDrawFont(Den,3);
TextDrawLetterSize(Den,0.399999,1.000000);
TextDrawColor(Den,0x00ff00ff);
TextDrawSetOutline(Den,1);
TextDrawSetProportional(Den,1);
TextDrawSetShadow(Den,1);
Clock = TextDrawCreate(548.000000,22.000000, "--:--");
TextDrawLetterSize(Clock, 0.599999,2.200000);
TextDrawFont(Clock, 3);
TextDrawColor(Clock,0xffff00ff);
TextDrawSetOutline(Clock, 1);
SetTimer("settime",1000,true);
SetTimer("weatherchange",10800000,true);
return 1;
}
Создаём public OnFilterScriptExit(), тоесть:
PHP:
public OnFilterScriptExit()
{
return 1;
}
В public OnPlayerSpawn(playerid) добавляем:
PHP:
TextDrawShowForPlayer(playerid, Clock);
TextDrawShowForPlayer(playerid, Den);
SendClientMessage(playerid, 0xFF0000AA, "*** Íà ñåðâåðå óñòàíîâëåí [FS]SUPER DAY-CLOCK by Trevor_Freeman");
return 1;
}
В public OnPlayerDisconnect(playerid, reason) добавляем:
PHP:
TextDrawHideForPlayer(playerid, Clock);
TextDrawHideForPlayer(playerid, Den);
return 1;
}
В public weatherchange() [Если его у вас нет, то создайте] добавляем:
PHP:
SetWeather(random(18));
}
В public settime() [Если его нет, то создайте] добавляем:
PHP:
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(Den,"£OìEƒE‡’ì…K");}
if(weekday == 2){TextDrawSetString(Den,"BOPì…K");}
if(weekday == 3){TextDrawSetString(Den,"CPEƒA");}
if(weekday == 4){TextDrawSetString(Den,"¤EBEP‚");}
if(weekday == 5){TextDrawSetString(Den,"£•ì…‰A");}
if(weekday == 6){TextDrawSetString(Den,"CY€€OA");}
if(weekday == 7){TextDrawSetString(Den,"BOCKPECEì…E");}
return 1;
}
И в public GetWeekdayNum(d,m,y) [Если его нет, то создайте] добавляем:
PHP:
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;
}
Надеюсь у вас всё получилось и вы остались довольны данным мануалом
