Advertisement
Guest User

Diler

a guest
Oct 25th, 2009
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. /*
  2. ********************************************
  3. * Skrypt: Vote System *
  4. * Autor: Diler *
  5. * Data wykonania: 24.10.2009 *
  6. * Godzina wykonania: 23.30 *
  7. * Aktualna wersja: 1.1 *
  8. * Ostatnia modyfikacja: 25.10.09 16.27 *
  9. ********************************************
  10. */
  11. #include <a_samp>
  12.  
  13. #define FILTERSCRIPT
  14.  
  15. #define WHITE 0xFFFFFFFF
  16. #define MAX_SECOND 20
  17. #define DIALOGID 333
  18.  
  19. new kicknac = 0;
  20. new czaskicku = 0;
  21. new timer;
  22. public OnFilterScriptInit()
  23. {
  24. timer = SetTimer("odliczaj", 1000, true);
  25. }
  26.  
  27. forward odliczaj();
  28. public odliczaj()
  29. {
  30. czaskicku++;
  31. if(czaskicku >= MAX_SECOND)
  32. {
  33. KillTimer(timer);
  34. czaskicku = 0;
  35. }
  36. return 1;
  37. }
  38. public OnPlayerCommandText(playerid, cmdtext[])
  39. {
  40. if (strcmp("/votekick", cmdtext, true, 10) == 0)
  41. {
  42. ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_INPUT, "Vote System By Diler", "Wprowadz nick gracza:", "Wybierz", "Anuluj");
  43. return 1;
  44. }
  45. return 0;
  46. }
  47.  
  48. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  49. {
  50. new str[32];
  51.  
  52. if(dialogid == DIALOGID)
  53. {
  54. if(response)
  55. {
  56. if(!JestOnline(inputtext))
  57. {
  58. SendClientMessage(playerid, WHITE, "Ten gracz nie jest pod&#322;&#261;czony do serwera");
  59. return 0;
  60. }
  61. else
  62. {
  63. format(str, sizeof(str), "%s", inputtext);
  64. ShowPlayerDialog(playerid, DIALOGID+1, DIALOG_STYLE_LIST, "Wybierz pow�d:", "1 - Cheater\n 2 - Drive-By/Vehicle-Kill\n 3 - Team-kill \n 4 - Inne\n", "Wybierz", "Anuluj");
  65. }
  66. }
  67. return 1;
  68. }
  69.  
  70. if(dialogid == DIALOGID+1)
  71. {
  72. new str2[128];
  73. if(response)
  74. {
  75. new const reasons[][] =
  76. {
  77. { "jest prawdopodobnie cheaterem" },
  78. { "prawdopodobnie zabija pojazdem/z pojazdu" },
  79. { "prawdopodobnie zabija koleg�w z teamu" }
  80. };
  81. for(new i = 0; i<GetMaxPlayers(); i++)
  82. {
  83. if(czaskicku >= MAX_SECOND)
  84. {
  85. switch(listitem)
  86. {
  87. case 0, 1, 2:
  88. {
  89. format(str2, sizeof(str2), "%s %s, \n Czy chcesz aby zosta&#322; wyrzucony z serwera ?", str, reasons[listitem]);
  90. }
  91. case 3:
  92. {
  93. format(str2, sizeof(str2), "Czy chcesz aby %s zosta&#322; wyrzucony z serwera ?", str);
  94. }
  95. }
  96. ShowPlayerDialog(i, DIALOGID+2, DIALOG_STYLE_MSGBOX, "Vote System:", str2, "Tak", "Nie");
  97. }
  98. }
  99. }
  100. return 1;
  101. }
  102.  
  103. if(dialogid == DIALOGID+2)
  104. {
  105. if(response)
  106. {
  107. kicknac++;
  108. for(new i = 0; i<GetMaxPlayers(); i++)
  109. {
  110. if(IsPlayerConnected(i))
  111. {
  112. if(kicknac >= i/2)
  113. {
  114. new pid = GetIDFromNick(str);
  115. new str3[74];
  116. format(str3, sizeof(str3), "Gracz %s zosta&#322; wyrzucony przez Vote System", str);
  117. SendClientMessageToAll(WHITE, str3);
  118. Kick(pid);
  119. kicknac = 0;
  120. }
  121. }
  122. }
  123. }
  124. return 1;
  125. }
  126. return 0;
  127. }
  128.  
  129. stock GetIDFromNick(const nick[]) // By Diler
  130. {
  131. new name[32];
  132. new id = -1;
  133. for(new i=0; i<GetMaxPlayers(); i++)
  134. {
  135. GetPlayerName(i, name, sizeof(name));
  136. if(strcmp(nick, name, true)==0)
  137. {
  138. id = i;
  139. }
  140. }
  141. return id;
  142. }
  143.  
  144.  
  145. stock JestOnline(const nick[]) // By Diler
  146. {
  147. return IsPlayerConnected(GetIDFromNick(nick));
  148. }
  149.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement