Advertisement
Guest User

Automatické počasie & čas 2.02

a guest
Apr 15th, 2014
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.53 KB | None | 0 0
  1. #include <a_samp>
  2. #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  3. new aktual;
  4. new timerid1;
  5. new timerid2;
  6. new timerid3;
  7. new bool:cas;
  8. new bool:pocasi;
  9. forward novycas();
  10. forward reset();
  11. forward novepocasi();
  12. new interval1 = 60;
  13. new interval2 = 300;
  14. public OnGameModeInit()
  15. {
  16.      timerid1 = SetTimer("novycas",interval1*1000,true);
  17.      timerid2 = SetTimer("reset",interval1*24*1000,true);
  18.      timerid3 = SetTimer("novepocasi",interval2*5,true);
  19.      cas = true;
  20.      pocasi = true;
  21.      return 1;
  22. }
  23.  
  24. public novepocasi()
  25. {
  26.     new pocasi1 = random(13);
  27.     switch(pocasi)
  28.     {
  29.     case 0: pocasi1 = 0;
  30.     case 1: pocasi1 = 1;
  31.     case 2: pocasi1 = 2;
  32.     case 3: pocasi1 = 3;
  33.     case 4: pocasi1 = 5;
  34.     case 6: pocasi1 = 6;
  35.     case 7: pocasi1 = 10;
  36.     case 8: pocasi1 = 11;
  37.     case 9: pocasi1 = 13;
  38.     case 10: pocasi1 = 14;
  39.     case 11: pocasi1 = 17;
  40.     case 12: pocasi1 = 18;
  41.     }
  42.     SetWeather(pocasi1);
  43. }
  44.  
  45. public novycas()
  46. {
  47.     aktual ++;
  48.     SetWorldTime(aktual);
  49.     return 1;
  50. }
  51.  
  52. public reset()
  53. {
  54.     aktual = 0;
  55. }
  56.  
  57. public OnPlayerCommandText(playerid, cmdtext[])
  58. {
  59. dcmd(autocas, 7, cmdtext);
  60. dcmd(casinterval, 11, cmdtext);
  61. dcmd(weatherinterval, 15, cmdtext);
  62.  
  63. if(!strcmp(cmdtext, "/stopweather", true))
  64. {
  65.     if(IsPlayerAdmin(playerid))
  66.     {
  67.         if(pocasi == true)
  68.         {
  69.             KillTimer(timerid3);
  70.             pocasi = false;
  71.             SendClientMessage(playerid, 0xFFFFFFFF, "Vypol si menenie počasia.");
  72.         }
  73.         else
  74.         {
  75.             SendClientMessage(playerid, 0xFFFFFFFF, "Menenie počasia je už vypnuté !!");
  76.         }
  77.     }
  78.     else
  79.     {
  80.         SendClientMessage(playerid, 0xFFFFFFFF, "Nie si prihlásený ako RCON admin !");
  81.     }
  82.     return 1;
  83. }
  84.  
  85. if(!strcmp(cmdtext, "/startweather", true))
  86. {
  87.     if(IsPlayerAdmin(playerid))
  88.     {
  89.         if(pocasi == false)
  90.         {
  91.             timerid3 = SetTimer("novepocasi",interval2*5,true);
  92.             pocasi = true;
  93.             SendClientMessage(playerid, 0xFFFFFFFF, "Zapol si menenie počasia.");
  94.         }
  95.         else
  96.         {
  97.             SendClientMessage(playerid, 0xFFFFFFFF, "Menenie počasia je už zapnuté !!");
  98.         }
  99.     }
  100.     else
  101.     {
  102.         SendClientMessage(playerid, 0xFFFFFFFF, "Nie si prihlásený ako RCON admin !");
  103.     }
  104.     return 1;
  105. }
  106.    
  107. if(!strcmp(cmdtext, "/stopcas", true))
  108. {
  109.     if(IsPlayerAdmin(playerid))
  110.     {
  111.         if(cas == true)
  112.         {
  113.             KillTimer(timerid1);
  114.             KillTimer(timerid2);
  115.             cas = false;
  116.             SendClientMessage(playerid, 0xFFFFFFFF, "Vypol si menenie času.");
  117.         }
  118.         else
  119.         {
  120.             SendClientMessage(playerid, 0xFFFFFFFF, "Menenie času je už vypnuté !!");
  121.         }
  122.        
  123.     }
  124.     else
  125.     {
  126.         SendClientMessage(playerid, 0xFFFFFFFF, "Nie si prihlásený ako RCON admin !");
  127.     }
  128.     return 1;
  129. }
  130.    
  131. if(!strcmp(cmdtext, "/startcas", true))
  132. {
  133.     if(IsPlayerAdmin(playerid))
  134.     {
  135.         if(cas == false)
  136.         {
  137.             timerid1 = SetTimer("novycas",interval1*1000,true);
  138.             timerid2 = SetTimer("reset",interval1*1000*24,true);
  139.             cas = true;
  140.             SendClientMessage(playerid, 0xFFFFFFFF, "Zapol si menenie času.");
  141.         }
  142.         else
  143.         {
  144.             SendClientMessage(playerid, 0xFFFFFFFF, "Menenie času je už zapnuté !!");
  145.         }
  146.     }
  147.     else
  148.     {
  149.         SendClientMessage(playerid, 0xFFFFFFFF, "Nie si prihlásený ako RCON admin !");
  150.     }
  151.     return 1;
  152. }
  153. return 0;
  154. }
  155.  
  156. dcmd_autocas(playerid, params[])
  157. {
  158.     if(IsPlayerAdmin(playerid))
  159.     {
  160.         new rozmezi = strval(params);
  161.         if (!strlen(params)) return SendClientMessage(playerid, 0xFFFFFFFF, "Použitie: /autocas 0-24");
  162.         if( rozmezi < 0 || rozmezi > 24 ) return SendClientMessage(playerid, 0xFFFFFFFF, "Zadaj čas od 0 do 24");
  163.         else
  164.         {
  165.             SetWorldTime(strval(params));
  166.             aktual = strval(params);
  167.         }
  168.     }
  169.     else
  170.     {
  171.         SendClientMessage(playerid, 0xFFFFFFFF, "Nie si prihlásený ako RCON admin !");
  172.     }
  173.     return 1;
  174. }
  175.  
  176. dcmd_casinterval(playerid, params[])
  177. {
  178.     if(IsPlayerAdmin(playerid))
  179.     {
  180.         interval1 = strval(params);
  181.         if (!strlen(params)) return SendClientMessage(playerid, 0xFFFFFFFF, "Použitie: /casinterval <Sekundy>");
  182.         if(strval(params)<= 0)return SendClientMessage(playerid, 0xFFFFFFFF, "Neplatná hodnota! Zadaj interval väčší ako 0!");
  183.         if (interval1 == 1)
  184.         {
  185.             SendClientMessage(playerid, 0xFFFFFFFF, "Čas sa teraz mení v intervale 1 sekundy.");
  186.         }
  187.         else
  188.         {
  189.             new string1[64];
  190.             format(string1,sizeof(string1),"Čas sa teraz mení v intervale %d sekúnd.",interval1);
  191.             SendClientMessage(playerid, 0xFFFFFFFF, string1);
  192.         }
  193.         KillTimer(timerid1);
  194.         KillTimer(timerid2);
  195.         timerid1 = SetTimer("novycas",interval1*1000,true);
  196.         timerid2 = SetTimer("reset",interval1*1000*24,true);
  197.     }
  198.     else
  199.     {
  200.         SendClientMessage(playerid, 0xFFFFFFFF, "Nie si prihlásený ako RCON admin !");
  201.     }
  202.     return 1;
  203. }
  204.  
  205. dcmd_weatherinterval(playerid, params[])
  206. {
  207.     if(IsPlayerAdmin(playerid))
  208.     {
  209.         interval2 = strval(params);
  210.         if (!strlen(params)) return SendClientMessage(playerid, 0xFFFFFFFF, "Použitie: /weatherinterval <Sekundy>");
  211.         if(strval(params)<= 0)return SendClientMessage(playerid, 0xFFFFFFFF, "Neplatná hodnota! Zadaj interval väčší ako 0!");
  212.         if (interval2 == 1)
  213.         {
  214.             SendClientMessage(playerid, 0xFFFFFFFF,"Počasie sa teraz mení v intervale 1 sekundy.");
  215.         }
  216.         else
  217.         {
  218.             new string2[64];
  219.             format(string2,sizeof(string2),"Počasie sa teraz mení v intervale %d sekúnd.",interval2);
  220.             SendClientMessage(playerid, 0xFFFFFFFF, string2);
  221.         }
  222.         KillTimer(timerid3);
  223.         timerid3 = SetTimer("novepocasi",interval2*1000,true);
  224.     }
  225.     else
  226.     {
  227.         SendClientMessage(playerid, 0xFFFFFFFF, "Nie si prihlásený ako RCON admin !");
  228.     }
  229.     return 1;
  230. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement