Advertisement
Guest User

TLN's Time, Week & Day System

a guest
Sep 25th, 2014
973
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.17 KB | None | 0 0
  1. /*
  2.                 TLN's Time, Week & Day System
  3. */
  4.  
  5. #include <a_samp>
  6. #include <zcmd>
  7. #include <sscanf2>
  8. #include <foreach>
  9.  
  10. new Text:GlobalTime[3];
  11. new ServerHour, ServerMinute, ServerDay, ServerWeek;
  12.  
  13. public OnFilterScriptInit()
  14. {
  15.     SetTimer("GlobalServerTime", 1000, true);
  16.  
  17.     GlobalTime[1] = TextDrawCreate(547.000000, 18.000000, "Sunday~n~00:00");
  18.     TextDrawBackgroundColor(GlobalTime[1], 255);
  19.     TextDrawFont(GlobalTime[1], 3);
  20.     TextDrawLetterSize(GlobalTime[1], 0.450000, 1.300000);
  21.     TextDrawColor(GlobalTime[1], -1);
  22.     TextDrawSetOutline(GlobalTime[1], 1);
  23.     TextDrawSetProportional(GlobalTime[1], 1);
  24.    
  25.     GlobalTime[2] = TextDrawCreate(595.000000, 33.000000, "Week 0");
  26.     TextDrawBackgroundColor(GlobalTime[2], 255);
  27.     TextDrawFont(GlobalTime[2], 3);
  28.     TextDrawLetterSize(GlobalTime[2], 0.200000, 0.799999);
  29.     TextDrawColor(GlobalTime[2], -1);
  30.     TextDrawSetOutline(GlobalTime[2], 1);
  31.     TextDrawSetProportional(GlobalTime[2], 1);
  32.    
  33.     print("TLN's Time, Week & Day System Loaded!");
  34.     return 1;
  35. }
  36.  
  37. public OnFilterScriptExit()
  38. {
  39.     print("TLN's Time, Week & Day System Unloaded!");
  40.     return 1;
  41. }
  42.  
  43. public OnPlayerConnect(playerid)
  44. {
  45.     TextDrawShowForPlayer(playerid, GlobalTime[1]);
  46.     TextDrawShowForPlayer(playerid, GlobalTime[2]);
  47.     return 1;
  48. }
  49.  
  50. CMD:settime(playerid, params[])
  51. {
  52.     if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}You are not allowed to use this!");
  53.     {
  54.         new time, Message[100];
  55.         if(sscanf(params, "i", time)) return SendClientMessage(playerid, -1, "{FF0000}Usage:{FFFFFF} /settime [time]");
  56.         if(time > 23 || time < 00) return SendClientMessage(playerid, -1,"{FF0000}Error: {FFFFFF}Choose a time between 00 and 23");
  57.         ServerHour=time; ServerMinute=00;
  58.         format(Message, sizeof(Message), "{0080f8}An Admin has changed the time to %i:00", time);
  59.         SendClientMessageToAll(-1, Message);
  60.     }
  61.     return 1;
  62. }
  63.  
  64. CMD:setday(playerid, params[])
  65. {
  66.     if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}You are not allowed to use this!");
  67.     {
  68.         new day, Message[100];
  69.         if(sscanf(params, "i", day)) return SendClientMessage(playerid, -1, "{FF0000}Usage:{FFFFFF} /setday [day]");
  70.         if(day > 7 || day < 1) return SendClientMessage(playerid, -1,"{FF0000}Error:{FFFFFF}Choose a day between 0 and 7");
  71.         ServerHour=00; ServerMinute=00; ServerDay=day;
  72.         format(Message, sizeof(Message), "{0080f8}An Admin has changed the day to %s", GetServerDay());
  73.         SendClientMessageToAll(-1, Message);
  74.     }
  75.     return 1;
  76. }
  77.  
  78. forward GlobalServerTime();
  79. public GlobalServerTime()
  80. {
  81.     if(ServerMinute == 59)
  82.     if(ServerHour == 23) NewDay();
  83.     else ServerHour++, ServerMinute = 00;
  84.     else ServerMinute++;
  85.     if(ServerHour == 6 && ServerMinute == 01 || ServerHour == 12 && ServerMinute == 01 || ServerHour == 18 && ServerMinute == 01 || ServerHour == 00 && ServerMinute == 01) GlobalServerWeather();
  86.     foreach(Player, i) if(IsPlayerConnected(i)) SetPlayerTime(i, ServerHour, ServerMinute);
  87.     new ServerTime[50]=0;
  88.     format(ServerTime,100,"worldtime %s %02d:%02d, Week %i",GetServerDay(), ServerHour, ServerMinute, ServerWeek);
  89.     SendRconCommand(ServerTime);
  90.     format(ServerTime,50,"%s~n~%02d:%02d",GetServerDay(), ServerHour, ServerMinute);
  91.     TextDrawSetString(GlobalTime[1], ServerTime);
  92.     format(ServerTime,50,"Week %i", ServerWeek);
  93.     TextDrawSetString(GlobalTime[2], ServerTime);
  94. }
  95.  
  96. stock GetServerDay()
  97. {
  98.     new Day[11]=0;
  99.     if(ServerDay == 1) Day="Sunday";
  100.     if(ServerDay == 2) Day="Monday";
  101.     if(ServerDay == 3) Day="Tuesday";
  102.     if(ServerDay == 4) Day="Wednesday";
  103.     if(ServerDay == 5) Day="Thursday";
  104.     if(ServerDay == 6) Day="Friday";
  105.     if(ServerDay == 7)
  106.     {
  107.         Day="Saturday";
  108.         if(ServerHour == 23 && ServerMinute == 59)
  109.         {
  110.             new Message[100];
  111.             ServerWeek++; ServerDay=0;
  112.             format(Message, sizeof(Message), "{0080f8}A new week has started (Week %i)", ServerWeek);
  113.             SendClientMessageToAll(-1, Message);
  114.         }
  115.     }
  116.     return Day;
  117. }
  118.  
  119. stock NewDay()
  120. {
  121.     new Message[100];
  122.     ServerHour = 00, ServerMinute = 00, ServerDay++;
  123.     format(Message, sizeof(Message), "{0080f8}A new day has started (%s)", GetServerDay());
  124.     SendClientMessageToAll(-1, Message);
  125.     return 1;
  126. }
  127.  
  128. stock GlobalServerWeather() return SetWeather(random(15));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement