Advertisement
Guest User

Automatické počasie & čas3.05

a guest
Apr 16th, 2014
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 12.56 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. // Dopíš mená adminov
  15. new admin1[MAX_PLAYER_NAME+1]="_EsT].DuFF";    
  16. new admin2[MAX_PLAYER_NAME+1]="NickAdmina2";              // Dopíš meno admina miesto hviezdičiek
  17. new admin3[MAX_PLAYER_NAME+1]="NickAdmina3";              // Dopíš meno admina miesto hviezdičiek
  18. public OnGameModeInit()
  19. {
  20.      timerid1 = SetTimer("novycas",interval1*1000,true);
  21.      timerid2 = SetTimer("reset",interval1*24*1000,true);
  22.      timerid3 = SetTimer("novepocasi",interval2*5,true);
  23.      cas = true;
  24.      pocasi = true;
  25.      return 1;
  26. }
  27.  
  28. public novepocasi()
  29. {
  30.     new pocasi1 = random(13);
  31.     switch(pocasi)
  32.     {
  33.     case 0: pocasi1 = 0;
  34.     case 1: pocasi1 = 1;
  35.     case 2: pocasi1 = 2;
  36.     case 3: pocasi1 = 3;
  37.     case 4: pocasi1 = 5;
  38.     case 6: pocasi1 = 6;
  39.     case 7: pocasi1 = 10;
  40.     case 8: pocasi1 = 11;
  41.     case 9: pocasi1 = 13;
  42.     case 10: pocasi1 = 14;
  43.     case 11: pocasi1 = 17;
  44.     case 12: pocasi1 = 18;
  45.     }
  46.     SetWeather(pocasi1);
  47. }
  48.  
  49. public novycas()
  50. {
  51.     aktual ++;
  52.     SetWorldTime(aktual);
  53.     return 1;
  54. }
  55.  
  56. public reset()
  57. {
  58.     aktual = 0;
  59. }
  60.  
  61. public OnPlayerCommandText(playerid, cmdtext[])
  62. {
  63. dcmd(autocas, 7, cmdtext);
  64. dcmd(weather, 7, cmdtext);
  65. dcmd(time, 4, cmdtext);
  66. dcmd(interval, 8, cmdtext);
  67. return 0;
  68. }
  69.  
  70. dcmd_autocas(playerid, params[])
  71. {
  72.     new meno[MAX_PLAYER_NAME];
  73.     GetPlayerName(playerid,meno,sizeof(meno));
  74.     if(IsPlayerAdmin(playerid))
  75.     {
  76.         if (!strlen(params)) return SendClientMessage(playerid, 0xFFFFFFFF, "Použitie: /autocas 0-24");
  77.         if( strval(params) < 0 || strval(params) > 24 ) return SendClientMessage(playerid, 0xFFFFFFFF, "Zadaj čas od 0 do 24");
  78.         else
  79.         {
  80.             SetWorldTime(strval(params));
  81.             aktual = strval(params);
  82.             if(interval1==1)
  83.             {
  84.                 new string3[128];
  85.                 format(string3,sizeof(string3),"Administrátor %s nastavil zmenu času od času %i v intervale 1 sekundy.",meno, aktual);
  86.                 SendClientMessageToAll(0xFFFFFFFF, string3);
  87.             }
  88.             else
  89.             {
  90.                 new string3[128];
  91.                 format(string3,sizeof(string3),"Administrátor %s nastavil zmenu času od času %i v intervale %d sekúnd.",meno, aktual, interval1);
  92.                 SendClientMessageToAll(0xFFFFFFFF, string3);
  93.             }
  94.         }
  95.     }
  96.     else
  97.     {
  98.         if(!strcmp(meno, admin1, true, strlen(admin1))||!strcmp(meno, admin2, true, strlen(admin2))||!strcmp(meno, admin3, true, strlen(admin3)))
  99.         {
  100.             SetWorldTime(strval(params));
  101.             aktual = strval(params);
  102.             if(interval1==1)
  103.             {
  104.                 new string3[128];
  105.                 format(string3,sizeof(string3),"Administrátor %s nastavil zmenu času od času %i v intervale 1 sekundy.",meno, aktual);
  106.                 SendClientMessageToAll(0xFFFFFFFF, string3);
  107.             }
  108.             else
  109.             {
  110.                 new string3[128];
  111.                 format(string3,sizeof(string3),"Administrátor %s nastavil zmenu času od času %i v intervale %d sekúnd.",meno, aktual, interval1);
  112.                 SendClientMessageToAll(0xFFFFFFFF, string3);
  113.             }
  114.         }
  115.         else
  116.         {
  117.         SendClientMessage(playerid, 0xFFFFFFFF, "Nie si prihlásený ako RCON admin !");
  118.         }
  119.     }
  120.     return 1;
  121. }
  122.  
  123. dcmd_weather(playerid, params[])
  124. {
  125.     new meno[MAX_PLAYER_NAME];
  126.     GetPlayerName(playerid,meno,sizeof(meno));
  127.     if(IsPlayerAdmin(playerid))
  128.     {
  129.         if (!strlen(params)) return SendClientMessage(playerid, 0xFFFFFFFF, "Použitie: /weather <0/1>");
  130.         if(strval(params)==0)
  131.         {
  132.             if(pocasi == true)
  133.             {
  134.                 KillTimer(timerid3);
  135.                 pocasi = false;
  136.                 new string5[128];
  137.                 format(string5,sizeof(string5),"Administrátor %s vypol zmenu počasia.",meno);
  138.                 SendClientMessageToAll(0xFFFFFFFF, string5);
  139.             }
  140.             else
  141.             {
  142.                 SendClientMessage(playerid, 0xFFFFFFFF, "Menenie počasia je už vypnuté !!");
  143.             }
  144.         }
  145.         if(strval(params)==1)
  146.         {
  147.             if(pocasi == false)
  148.             {
  149.                 timerid3 = SetTimer("novepocasi",interval2,true);
  150.                 pocasi = true;
  151.                 if(interval2==1)
  152.                 {
  153.                     new string5[128];
  154.                     format(string5,sizeof(string5),"Administrátor %s zapol zmenu počasia. Počasie sa mení v intervale 1 sekundy.",meno);
  155.                     SendClientMessageToAll(0xFFFFFFFF, string5);
  156.                 }
  157.                 else
  158.                 {
  159.                     new string5[128];
  160.                     format(string5,sizeof(string5),"Administrátor %s zapol zmenu počasia. Počasie sa mení v intervale %d sekúnd.",meno, interval2);
  161.                     SendClientMessageToAll(0xFFFFFFFF, string5);
  162.                 }
  163.             }
  164.             else
  165.             {
  166.                 SendClientMessage(playerid, 0xFFFFFFFF, "Menenie počasia je už zapnuté !!");
  167.             }
  168.         }
  169.     }
  170.     else
  171.     {
  172.         if(!strcmp(meno, admin1, true, strlen(admin1))||!strcmp(meno, admin2, true, strlen(admin2))||!strcmp(meno, admin3, true, strlen(admin3)))
  173.         {
  174.             if(strval(params)==0)
  175.             {
  176.                 if(pocasi == true)
  177.                 {
  178.                     KillTimer(timerid3);
  179.                     pocasi = false;
  180.                     new string5[128];
  181.                     format(string5,sizeof(string5),"Administrátor %s vypol zmenu počasia.",meno);
  182.                     SendClientMessageToAll(0xFFFFFFFF, string5);
  183.                 }
  184.                 else
  185.                 {
  186.                     SendClientMessage(playerid, 0xFFFFFFFF, "Menenie počasia je už vypnuté !!");
  187.                 }
  188.             }
  189.             if(strval(params)==1)
  190.             {
  191.                 if(pocasi == false)
  192.                 {
  193.                     timerid3 = SetTimer("novepocasi",interval2,true);
  194.                     pocasi = true;
  195.                     if(interval2==1)
  196.                     {
  197.                         new string5[128];
  198.                         format(string5,sizeof(string5),"Administrátor %s zapol zmenu počasia. Počasie sa mení v intervale 1 sekundy.",meno);
  199.                         SendClientMessageToAll(0xFFFFFFFF, string5);
  200.                     }
  201.                     else
  202.                     {
  203.                         new string5[128];
  204.                         format(string5,sizeof(string5),"Administrátor %s zapol zmenu počasia. Počasie sa mení v intervale %d sekúnd.",meno, interval2);
  205.                         SendClientMessageToAll(0xFFFFFFFF, string5);
  206.                     }
  207.                 }
  208.                 else
  209.                 {
  210.                     SendClientMessage(playerid, 0xFFFFFFFF, "Menenie počasia je už zapnuté !!");
  211.                 }
  212.             }
  213.         }
  214.         else
  215.         {
  216.             SendClientMessage(playerid, 0xFFFFFFFF, "Nie si prihlásený ako RCON admin !");
  217.         }
  218.     }
  219.     return 1;
  220. }
  221.  
  222. dcmd_time(playerid, params[])
  223. {
  224.     new meno[MAX_PLAYER_NAME];
  225.     GetPlayerName(playerid,meno,sizeof(meno));
  226.     if(IsPlayerAdmin(playerid))
  227.     {
  228.         if (!strlen(params)) return SendClientMessage(playerid, 0xFFFFFFFF, "Použitie: /time <0/1>");
  229.         if(strval(params)==0)
  230.         {
  231.             if(cas == true)
  232.             {
  233.                 KillTimer(timerid1);
  234.                 KillTimer(timerid2);
  235.                 cas = false;
  236.                 new string4[128];
  237.                 format(string4,sizeof(string4),"Administrátor %s vypol zmenu času.",meno);
  238.                 SendClientMessageToAll(0xFFFFFFFF, string4);
  239.             }
  240.             else
  241.             {
  242.                 SendClientMessage(playerid, 0xFFFFFFFF, "Menenie času je už vypnuté !!");
  243.             }
  244.         }
  245.         if(strval(params)==1)
  246.         {
  247.             if(cas == false)
  248.             {
  249.                 timerid1 = SetTimer("novycas",interval1*1000,true);
  250.                 timerid2 = SetTimer("reset",interval1*1000*24,true);
  251.                 if(interval1==1)
  252.                 {
  253.                     new string4[128];
  254.                     format(string4,sizeof(string4),"Administrátor %s zapol zmenu času. Čas sa mení v intervale 1 sekundy.",meno);
  255.                     SendClientMessageToAll(0xFFFFFFFF, string4);
  256.                 }
  257.                 else
  258.                 {
  259.                     new string4[128];
  260.                     format(string4,sizeof(string4),"Administrátor %s zapol zmenu času. Čas sa mení v intervale %d sekúnd.",meno, interval2);
  261.                     SendClientMessageToAll(0xFFFFFFFF, string4);
  262.                 }
  263.             }
  264.             else
  265.             {
  266.                 SendClientMessage(playerid, 0xFFFFFFFF, "Menenie času je už zapnuté !!");
  267.             }
  268.         }
  269.     }
  270.     else
  271.     {
  272.         if(!strcmp(meno, admin1, true, strlen(admin1))||!strcmp(meno, admin2, true, strlen(admin2))||!strcmp(meno, admin3, true, strlen(admin3)))
  273.         {
  274.             if (!strlen(params)) return SendClientMessage(playerid, 0xFFFFFFFF, "Použitie: /time <0/1>");
  275.             if(strval(params)==0)
  276.             {
  277.                 if(cas == true)
  278.                 {
  279.                     KillTimer(timerid1);
  280.                     KillTimer(timerid2);
  281.                     cas = false;
  282.                     new string4[128];
  283.                     format(string4,sizeof(string4),"Administrátor %s vypol zmenu času.",meno);
  284.                     SendClientMessageToAll(0xFFFFFFFF, string4);
  285.                 }
  286.                 else
  287.                 {
  288.                     SendClientMessage(playerid, 0xFFFFFFFF, "Menenie času je už vypnuté !!");
  289.                 }
  290.             }
  291.             if(strval(params)==1)
  292.             {
  293.                 if(cas == false)
  294.                 {
  295.                     timerid1 = SetTimer("novycas",interval1*1000,true);
  296.                     timerid2 = SetTimer("reset",interval1*1000*24,true);
  297.                     if(interval1==1)
  298.                     {
  299.                         new string4[128];
  300.                         format(string4,sizeof(string4),"Administrátor %s zapol zmenu času. Čas sa mení v intervale 1 sekundy.",meno);
  301.                         SendClientMessageToAll(0xFFFFFFFF, string4);
  302.                     }
  303.                     else
  304.                     {
  305.                         new string4[128];
  306.                         format(string4,sizeof(string4),"Administrátor %s zapol zmenu času. Čas sa mení v intervale %d sekúnd.",meno, interval1);
  307.                         SendClientMessageToAll(0xFFFFFFFF, string4);
  308.                     }
  309.                 }
  310.                 else
  311.                 {
  312.                     SendClientMessage(playerid, 0xFFFFFFFF, "Menenie času je už zapnuté !!");
  313.                 }
  314.             }
  315.            
  316.         }
  317.         else
  318.         {
  319.             SendClientMessage(playerid, 0xFFFFFFFF, "Nie si prihlásený ako RCON admin !");
  320.         }
  321.     }
  322.     return 1;
  323. }
  324.  
  325. dcmd_interval(playerid, params[])
  326. {
  327.     #pragma unused params
  328.     if(IsPlayerAdmin(playerid))
  329.     {
  330.         ShowPlayerDialog(playerid, 15230, DIALOG_STYLE_LIST, "Ktorý interval chceš nastaviť?", "Čas\nPočasie", "Ok", "Zrušiť");
  331.     }
  332.     else
  333.     {
  334.         new meno[MAX_PLAYER_NAME];
  335.         GetPlayerName(playerid,meno,sizeof(meno));
  336.         if(!strcmp(meno, admin1, true, strlen(admin1))||!strcmp(meno, admin2, true, strlen(admin2))||!strcmp(meno, admin3, true, strlen(admin3)))
  337.         {
  338.             ShowPlayerDialog(playerid, 15230, DIALOG_STYLE_LIST, "Ktorý interval chceš nastaviť?", "Čas\nPočasie", "Ok", "Zrušiť");
  339.         }
  340.         else
  341.         {
  342.             SendClientMessage(playerid, 0xFFFFFFFF, "Nie si prihlásený ako RCON admin !");
  343.         }
  344.     }
  345.     return 1;
  346. }
  347.  
  348. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  349. {
  350. new meno[MAX_PLAYER_NAME];
  351. GetPlayerName(playerid,meno,sizeof(meno));
  352. if(response)
  353.     {
  354.     switch(dialogid)
  355.         {
  356.         case 15230:
  357.             {
  358.             switch(listitem)
  359.             {
  360.                 case 0:
  361.                 {
  362.                     ShowPlayerDialog(playerid,15231,DIALOG_STYLE_INPUT,"Interval zmeny času","Zadaj interval (v sekundách) väčší ako 0:","Ok","Zrušiť");
  363.                 }
  364.                 case 1:
  365.                 {
  366.                     ShowPlayerDialog(playerid,15232,DIALOG_STYLE_INPUT,"Interval zmeny počasia","Zadaj interval (v sekundách) väčší ako 0:","Ok","Zrušiť");
  367.                 }
  368.             }
  369.             }
  370.         case 15231:
  371.         {
  372.             interval1 = strval(inputtext);
  373.             KillTimer(timerid1);
  374.             KillTimer(timerid2);
  375.             timerid1 = SetTimer("novycas",interval1*1000,true);
  376.             timerid2 = SetTimer("reset",interval1*1000*24,true);
  377.             if (interval1 <=0 )
  378.             {
  379.             SendClientMessage(playerid, 0xFFFFFFFF, "Zadaj interval väčší ako 0!");
  380.             ShowPlayerDialog(playerid,15232,DIALOG_STYLE_INPUT,"Interval zmeny počasia","Zadaj interval (v sekundách) väčší ako 0:","Ok","Zrušiť");
  381.             return 0;
  382.             }
  383.             if (interval1 == 1)
  384.             {
  385.                 new string6[128];
  386.                 format(string6,sizeof(string6),"Administrátor %s nastavil interval zmeny času na 1 sec. Čas sa teraz mení v intervale 1 sekundy.",meno);
  387.                 SendClientMessageToAll(0xFFFFFFFF, string6);
  388.             }
  389.             else
  390.             {
  391.                 new string6[128];
  392.                 format(string6,sizeof(string6),"Administrátor %s nastavil interval zmeny času %d sec. Čas sa teraz mení v intervale %d sekúnd.",meno, interval1, interval1);
  393.                 SendClientMessageToAll(0xFFFFFFFF, string6);
  394.             }
  395.         }
  396.         case 15232:
  397.         {
  398.             interval2 = strval(inputtext);
  399.             KillTimer(timerid3);
  400.             timerid3 = SetTimer("novepocasi",interval2*1000,true);
  401.             if (interval2 <=0 )
  402.             {
  403.             SendClientMessage(playerid, 0xFFFFFFFF, "Zadaj interval väčší ako 0!");
  404.             ShowPlayerDialog(playerid,15232,DIALOG_STYLE_INPUT,"Interval zmeny počasia","Zadaj interval (v sekundách) väčší ako 0:","Ok","Zrušiť");
  405.             return 0;
  406.             }
  407.             if (interval2 == 1)
  408.             {
  409.                 new string7[128];
  410.                 format(string7,sizeof(string7),"Administrátor %s nastavil interval zmeny počasia 1 sec. Počasie sa teraz mení v intervale 1 sekundy.",meno);
  411.                 SendClientMessageToAll(0xFFFFFFFF, string7);
  412.             }
  413.             else
  414.             {
  415.                 new string7[128];
  416.                 format(string7,sizeof(string7),"Administrátor %s nastavil interval zmeny počasia %d sec. Počasie sa teraz mení v intervale %d sekúnd.",meno, interval2, interval2);
  417.                 SendClientMessageToAll(0xFFFFFFFF, string7);
  418.             }
  419.            
  420.         }
  421.         }
  422.     }
  423. return 1;
  424. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement