Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- TLN's Time, Week & Day System
- */
- #include <a_samp>
- #include <zcmd>
- #include <sscanf2>
- #include <foreach>
- new Text:GlobalTime[3];
- new ServerHour, ServerMinute, ServerDay, ServerWeek;
- public OnFilterScriptInit()
- {
- SetTimer("GlobalServerTime", 1000, true);
- GlobalTime[1] = TextDrawCreate(547.000000, 18.000000, "Sunday~n~00:00");
- TextDrawBackgroundColor(GlobalTime[1], 255);
- TextDrawFont(GlobalTime[1], 3);
- TextDrawLetterSize(GlobalTime[1], 0.450000, 1.300000);
- TextDrawColor(GlobalTime[1], -1);
- TextDrawSetOutline(GlobalTime[1], 1);
- TextDrawSetProportional(GlobalTime[1], 1);
- GlobalTime[2] = TextDrawCreate(595.000000, 33.000000, "Week 0");
- TextDrawBackgroundColor(GlobalTime[2], 255);
- TextDrawFont(GlobalTime[2], 3);
- TextDrawLetterSize(GlobalTime[2], 0.200000, 0.799999);
- TextDrawColor(GlobalTime[2], -1);
- TextDrawSetOutline(GlobalTime[2], 1);
- TextDrawSetProportional(GlobalTime[2], 1);
- print("TLN's Time, Week & Day System Loaded!");
- return 1;
- }
- public OnFilterScriptExit()
- {
- print("TLN's Time, Week & Day System Unloaded!");
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- TextDrawShowForPlayer(playerid, GlobalTime[1]);
- TextDrawShowForPlayer(playerid, GlobalTime[2]);
- return 1;
- }
- CMD:settime(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}You are not allowed to use this!");
- {
- new time, Message[100];
- if(sscanf(params, "i", time)) return SendClientMessage(playerid, -1, "{FF0000}Usage:{FFFFFF} /settime [time]");
- if(time > 23 || time < 00) return SendClientMessage(playerid, -1,"{FF0000}Error: {FFFFFF}Choose a time between 00 and 23");
- ServerHour=time; ServerMinute=00;
- format(Message, sizeof(Message), "{0080f8}An Admin has changed the time to %i:00", time);
- SendClientMessageToAll(-1, Message);
- }
- return 1;
- }
- CMD:setday(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}You are not allowed to use this!");
- {
- new day, Message[100];
- if(sscanf(params, "i", day)) return SendClientMessage(playerid, -1, "{FF0000}Usage:{FFFFFF} /setday [day]");
- if(day > 7 || day < 1) return SendClientMessage(playerid, -1,"{FF0000}Error:{FFFFFF}Choose a day between 0 and 7");
- ServerHour=00; ServerMinute=00; ServerDay=day;
- format(Message, sizeof(Message), "{0080f8}An Admin has changed the day to %s", GetServerDay());
- SendClientMessageToAll(-1, Message);
- }
- return 1;
- }
- forward GlobalServerTime();
- public GlobalServerTime()
- {
- if(ServerMinute == 59)
- if(ServerHour == 23) NewDay();
- else ServerHour++, ServerMinute = 00;
- else ServerMinute++;
- if(ServerHour == 6 && ServerMinute == 01 || ServerHour == 12 && ServerMinute == 01 || ServerHour == 18 && ServerMinute == 01 || ServerHour == 00 && ServerMinute == 01) GlobalServerWeather();
- foreach(Player, i) if(IsPlayerConnected(i)) SetPlayerTime(i, ServerHour, ServerMinute);
- new ServerTime[50]=0;
- format(ServerTime,100,"worldtime %s %02d:%02d, Week %i",GetServerDay(), ServerHour, ServerMinute, ServerWeek);
- SendRconCommand(ServerTime);
- format(ServerTime,50,"%s~n~%02d:%02d",GetServerDay(), ServerHour, ServerMinute);
- TextDrawSetString(GlobalTime[1], ServerTime);
- format(ServerTime,50,"Week %i", ServerWeek);
- TextDrawSetString(GlobalTime[2], ServerTime);
- }
- stock GetServerDay()
- {
- new Day[11]=0;
- if(ServerDay == 1) Day="Sunday";
- if(ServerDay == 2) Day="Monday";
- if(ServerDay == 3) Day="Tuesday";
- if(ServerDay == 4) Day="Wednesday";
- if(ServerDay == 5) Day="Thursday";
- if(ServerDay == 6) Day="Friday";
- if(ServerDay == 7)
- {
- Day="Saturday";
- if(ServerHour == 23 && ServerMinute == 59)
- {
- new Message[100];
- ServerWeek++; ServerDay=0;
- format(Message, sizeof(Message), "{0080f8}A new week has started (Week %i)", ServerWeek);
- SendClientMessageToAll(-1, Message);
- }
- }
- return Day;
- }
- stock NewDay()
- {
- new Message[100];
- ServerHour = 00, ServerMinute = 00, ServerDay++;
- format(Message, sizeof(Message), "{0080f8}A new day has started (%s)", GetServerDay());
- SendClientMessageToAll(-1, Message);
- return 1;
- }
- stock GlobalServerWeather() return SetWeather(random(15));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement