Advertisement
KiLlerBy

[Pawn] Sistema de World Time

May 27th, 2017
502
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.37 KB | None | 0 0
  1. /*
  2. Por BykiLler
  3.  
  4. Por favor ,não retire os creditos.
  5. */
  6.  
  7. #include <a_samp>
  8. #include <dof2>
  9. #define REAL_TIME_ENABLE false
  10.  
  11. #define GET_HOUR 4180
  12. #define GET_HOUR_SERVER_REAL    GET_HOUR*60
  13. #define GET_DAY_SERVER_REAL     GET_HOUR*60*24
  14.  
  15. //Tempo e hora inicial
  16. #define Hour0  4
  17. #define Minute0 20
  18.  
  19. #define union:%0(%1) forward %0(%1);\
  20.                      public %0(%1)
  21.                      
  22. #define struct:%0(%1) stock %0(%1)
  23.  
  24. new time_server, hour_server, timer_server;
  25.  
  26. new bool:RealTimeEnable = REAL_TIME_ENABLE;
  27.  
  28. public OnFilterScriptInit()
  29. {
  30.     if (!RealTimeEnable)
  31.     {
  32.     GetDataTimeServer()
  33.     }
  34.     timer_server = SetTimer("ServerTime", GET_HOUR, 1);
  35.     return 1;
  36. }
  37.  
  38. public OnFilterScriptExit()
  39. {
  40.     if (!RealTimeEnable)
  41.     {
  42.     SaveDataTimeServer();
  43.     }
  44.     KillTimer(timer_server);
  45.     return 1;
  46. }
  47.  
  48.  
  49. union:ServerTime()
  50. {
  51.     // By kiLler
  52.    
  53.     if (!RealTimeEnable)
  54.     {
  55.         time_server++;
  56.         if(time_server == 60)
  57.         {
  58.             time_server=0;
  59.             hour_server++;
  60.             if(hour_server == 24)
  61.             {
  62.                 hour_server=0;
  63.             }
  64.             SetWorldTime(hour_server);
  65.  
  66.         }
  67.         for(new i; i != MAX_PLAYERS; i++)
  68.         {
  69.             if(IsPlayerConnected(i))
  70.             {
  71.                 SetPlayerTime(i, hour_server, time_server);
  72.             }
  73.         }
  74.     }
  75.     else
  76.     {
  77.         new second;
  78.         gettime(hout_server, time_server, second);
  79.         SetWorldTime(hour_server);
  80.         for(new i; i != MAX_PLAYERS; i++)
  81.         {
  82.             if(IsPlayerConnected(i))
  83.             {
  84.                 SetPlayerTime(i, hour_server, time_server);
  85.             }
  86.         }
  87.     }
  88.     return 1;
  89. }
  90.  
  91. struct:GetDataTimeServer()
  92. {
  93.     //By kiLler
  94.    
  95.     if(DOF2_FileExists("servertime.inc"))
  96.     {
  97.         hour_server = DOF2_GetInt("servertime.inc", "service_hour");
  98.         time_server = DOF2_GetInt("servertime.inc", "service_time");
  99.     }
  100.     else
  101.     {
  102.         hour_server = Hour0;
  103.         time_server = Minute0;
  104.         DOF2_CreateFile("servertime.inc");
  105.         DOF2_SetInt("servertime.inc", "service_hour", 5);
  106.         DOF2_SetInt("servertime.inc", "service_time", 0);
  107.         DOF2_SaveFile();
  108.     }
  109.     SetWorldTime(hour_server);
  110.     return 1;
  111. }
  112.  
  113. struct:SaveDataTimeServer()
  114. {
  115.     //By KiLler
  116.    
  117.     if(DOF2_FileExists("servertime.inc"))
  118.     {
  119.         DOF2_SetInt("servertime.inc", "service_hour", hour_server);
  120.         DOF2_SetInt("servertime.inc", "service_time", time_server);
  121.     }
  122.     else
  123.     {
  124.         hour_server = Hour0;
  125.         time_server = Minute0;
  126.         DOF2_CreateFile("servertime.inc");
  127.         DOF2_SetInt("servertime.inc", "service_hour", 5);
  128.         DOF2_SetInt("servertime.inc", "service_time", 0);
  129.         DOF2_SaveFile();
  130.     }
  131.     return 1;
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement