time.inc 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #include <YSI_Coding\y_hooks>
  2. static g_Hour;
  3. static g_Minute;
  4. static g_Weather;
  5. static bool:g_TimeUpdating;
  6. static bool:g_WeatherUpdating;
  7. hook OnGameModeInit()
  8. {
  9. g_TimeUpdating = true;
  10. g_WeatherUpdating = true;
  11. gettime(g_Hour, g_Minute);
  12. g_Weather = ReturnWeather(g_Hour);
  13. }
  14. hook OnPlayerPassedBanCheck(playerid)
  15. {
  16. SetPlayerTime(playerid, g_Hour, g_Minute);
  17. SetPlayerWeather(playerid, g_Weather);
  18. }
  19. task OnTimeUpdate[60000]()
  20. {
  21. if(g_TimeUpdating == true) gettime(g_Hour, g_Minute);
  22. if(g_WeatherUpdating == true) g_Weather = ReturnWeather(g_Hour);
  23. foreach(new i : Player)
  24. {
  25. SetPlayerTime(i, g_Hour, g_Minute);
  26. SetPlayerWeather(i, g_Weather);
  27. }
  28. }
  29. stock Time_StopUpdate(hour, minute = 0)
  30. {
  31. g_TimeUpdating = false;
  32. g_Hour = hour;
  33. g_Minute = minute;
  34. foreach(new i : Player) SetPlayerTime(i, g_Hour, g_Minute);
  35. }
  36. stock Time_StartUpdate()
  37. {
  38. g_TimeUpdating = true;
  39. gettime(g_Hour, g_Minute);
  40. foreach(new i : Player) SetPlayerTime(i, g_Hour, g_Minute);
  41. }
  42. stock Weather_StopUpdate(weather)
  43. {
  44. g_WeatherUpdating = false;
  45. g_Weather = weather;
  46. foreach(new i : Player) SetPlayerWeather(i, g_Weather);
  47. }
  48. stock Weather_StartUpdate()
  49. {
  50. g_WeatherUpdating = true;
  51. g_Weather = ReturnWeather(g_Hour);
  52. foreach(new i : Player) SetPlayerWeather(i, g_Weather);
  53. }
  54. stock ReturnWeather(hour)
  55. {
  56. switch(hour)
  57. {
  58. case 7..19: return 2;
  59. case 20..23: return 0;
  60. case 0..5: return 1;
  61. case 6: return 5;
  62. }
  63. return 0;
  64. }