Guest User

TabAdmin v2

a guest
Sep 1st, 2014
445
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.94 KB | None | 0 0
  1. // Created by GGRoleplay AKA Brandon from the SA:MP forums.
  2.  
  3. #include <a_samp>
  4.  
  5. #define FILTERSCRIPT
  6.  
  7. #define LIGHTRED 0xF77979FF
  8. #define GREY 0x9C9595FF
  9.  
  10. #define DIALOG_BASEADMIN 1
  11. /*
  12. #define DIALOG_AKICK 2
  13. #define DIALOG_ABAN 3
  14. */
  15. #define DIALOG_ASTATS 4
  16. #define DIALOG_ADMIN 5
  17.  
  18. #define VERSION 2
  19.  
  20. new ChosenPlayerID[MAX_PLAYERS];
  21.  
  22. enum PlayerStatistics
  23. {
  24. Warnings,
  25. SecondsConnected,
  26. MinutesConnected,
  27. HoursConnected,
  28. };
  29.  
  30. new Player[MAX_PLAYERS][PlayerStatistics];
  31.  
  32. new PlayerName[MAX_PLAYER_NAME+1], nameString[24+MAX_PLAYER_NAME+1];
  33. new APlayerName[MAX_PLAYER_NAME+1];
  34.  
  35. public OnFilterScriptInit()
  36. {
  37. SetTimer("TTP", 1000, true);
  38.  
  39. print("[system][INFO] BaseAdmin is loading");
  40. printf("[system][INFO] You're currently running v%d", VERSION);
  41. return 1;
  42. }
  43.  
  44. forward TTP();
  45. forward KickTimer(playerid);
  46. forward BanTimer(playerid);
  47. forward RestartTimer();
  48.  
  49. public RestartTimer()
  50. {
  51. SendRconCommand("gmx");
  52. }
  53.  
  54. public KickTimer(playerid)
  55. {
  56. Kick(ChosenPlayerID[playerid]);
  57. ChosenPlayerID[playerid] = 0;
  58. }
  59.  
  60. public BanTimer(playerid)
  61. {
  62. Ban(ChosenPlayerID[playerid]);
  63. ChosenPlayerID[playerid] = 0;
  64. }
  65.  
  66. public TTP()
  67. {
  68. for(new i=0; i < MAX_PLAYERS; i++)
  69. {
  70. if(Player[i][SecondsConnected] < 60)
  71. {
  72. Player[i][SecondsConnected] += 1;
  73. }
  74.  
  75. else if(Player[i][SecondsConnected] == 60)
  76. {
  77. Player[i][SecondsConnected] = 0;
  78. Player[i][MinutesConnected] += 1;
  79. }
  80.  
  81. else if(Player[i][MinutesConnected] == 60)
  82. {
  83. Player[i][MinutesConnected] = 0;
  84. Player[i][HoursConnected] += 1;
  85. }
  86. }
  87. }
  88.  
  89. public OnFilterScriptExit()
  90. {
  91. return 1;
  92. }
  93.  
  94. public OnPlayerConnect(playerid)
  95. {
  96. Player[playerid][Warnings] = 0;
  97. }
  98.  
  99. main()
  100. {
  101.  
  102. }
  103.  
  104. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  105. {
  106. if(response)
  107. {
  108. switch(dialogid)
  109. {
  110. case 5:
  111. {
  112. switch(listitem)
  113. {
  114. case 0:
  115. {
  116. ShowPlayerDialog(playerid, 10, DIALOG_STYLE_LIST, "Administrative", "Restart", "Choose", "Cancel");
  117. }
  118. case 1:
  119. {
  120. ShowPlayerDialog(playerid, 11, DIALOG_STYLE_LIST, "Weaponary", "Minigun\nDesert Eagle\nRocket Launcher\nM4", "Choose", "Cancel");
  121. }
  122. case 2:
  123. {
  124. ShowPlayerDialog(playerid, 12, DIALOG_STYLE_LIST, "Money", "$10,000\n$25,000\n$50,000", "Choose", "Cancel");
  125. }
  126. }
  127. }
  128.  
  129. case 10:
  130. {
  131. switch(listitem)
  132. {
  133. case 0:
  134. {
  135. new string[255];
  136. GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  137. format(string, sizeof(string), "ADMIN %s: The server will restart in 15 seconds.");
  138. SetTimer("RestartTimer", 15000, false);
  139. }
  140. }
  141. }
  142.  
  143. case 11:
  144. {
  145. switch(listitem)
  146. {
  147. case 0:
  148. {
  149. SendClientMessage(playerid, -1, "You've given yourself a {E8253C}Minigun{FFFFFF}.");
  150. GivePlayerWeapon(playerid, 38, 9999);
  151. }
  152. case 1:
  153. {
  154. SendClientMessage(playerid, -1, "You've given yourself a {E8253C}Desert Eagle{FFFFFF}.");
  155. GivePlayerWeapon(playerid, 24, 9999);
  156. }
  157. case 2:
  158. {
  159. SendClientMessage(playerid, -1, "You've given yourself a {E8253C}Minigun{FFFFFF}.");
  160. GivePlayerWeapon(playerid, 35, 9999);
  161. }
  162. case 3:
  163. {
  164. SendClientMessage(playerid, -1, "You've given yourself an {E8253C}M4{FFFFFF}.");
  165. GivePlayerWeapon(playerid, 31, 9999);
  166. }
  167. }
  168. }
  169.  
  170. case 12:
  171. {
  172. switch(listitem)
  173. {
  174. case 0:
  175. {
  176. GivePlayerMoney(playerid, 10000);
  177. SendClientMessage(playerid, GREY, "You have given yourself $10,000");
  178. }
  179. case 1:
  180. {
  181. GivePlayerMoney(playerid, 25000);
  182. SendClientMessage(playerid, GREY, "You have given yourself $25,000");
  183. }
  184. case 2:
  185. {
  186. GivePlayerMoney(playerid, 50000);
  187. SendClientMessage(playerid, GREY, "You have given yourself $50,000");
  188. }
  189. }
  190. }
  191.  
  192. case 1:
  193. {
  194. switch(listitem)
  195. {
  196. case 0:
  197. {
  198. for(new i=0; i < MAX_PLAYERS; i++)
  199. {
  200. GetPlayerName(ChosenPlayerID[playerid], PlayerName, sizeof(PlayerName));
  201. GetPlayerName(playerid, APlayerName, sizeof(APlayerName));
  202. format(nameString, sizeof(nameString), "ADMIN %s: has kicked %s off the server.", APlayerName, PlayerName);
  203. SendClientMessage(i, LIGHTRED, nameString);
  204. SetTimerEx("KickTimer", 1000, false, "i", playerid);
  205. }
  206. }
  207. case 1:
  208. {
  209. for(new i=0; i < MAX_PLAYERS; i++)
  210. {
  211. GetPlayerName(ChosenPlayerID[playerid], PlayerName, sizeof(PlayerName));
  212. GetPlayerName(playerid, APlayerName, sizeof(APlayerName));
  213. format(nameString, sizeof(nameString), "ADMIN %s: has banned %s off the server.", APlayerName, PlayerName);
  214. SendClientMessage(i, LIGHTRED, nameString);
  215. SetTimerEx("KickTimer", 1000, false, "i", playerid);
  216. }
  217. }
  218. case 2:
  219. {
  220. new string[255];
  221. format(string, sizeof(string), "Total time played: %d hours, %d minutes, %d seconds\nMoney: $%d\nScore: %d\nPing: %d", Player[ChosenPlayerID[playerid]][HoursConnected], Player[ChosenPlayerID[playerid]][MinutesConnected], Player[ChosenPlayerID[playerid]][SecondsConnected], GetPlayerMoney(ChosenPlayerID[playerid]), GetPlayerScore(ChosenPlayerID[playerid]), GetPlayerPing(ChosenPlayerID[playerid]));
  222. ShowPlayerDialog(playerid, DIALOG_ASTATS, DIALOG_STYLE_MSGBOX, "Statistics", string, "Close", "Close");
  223. }
  224. case 3:
  225. {
  226. if(Player[ChosenPlayerID[playerid]][Warnings] < 2)
  227. {
  228. new string[255];
  229. GetPlayerName(ChosenPlayerID[playerid], PlayerName, sizeof(PlayerName));
  230. GetPlayerName(playerid, APlayerName, sizeof(APlayerName));
  231. Player[ChosenPlayerID[playerid]][Warnings] += 1;
  232. format(string, sizeof(string), "You have warned %s", PlayerName);
  233. SendClientMessage(ChosenPlayerID[playerid], LIGHTRED, string);
  234. format(string, sizeof(string), "You have been warned by admin %s", APlayerName);
  235. SendClientMessage(playerid, LIGHTRED, string);
  236. ChosenPlayerID[playerid] = 0;
  237. }
  238. if(Player[ChosenPlayerID[playerid]][Warnings] == 3)
  239. {
  240. new string[255];
  241. GetPlayerName(ChosenPlayerID[playerid], PlayerName, sizeof(PlayerName));
  242. GetPlayerName(playerid, APlayerName, sizeof(APlayerName));
  243. Player[ChosenPlayerID[playerid]][Warnings] += 1;
  244. format(string, sizeof(string), "You have warned %s, this is their third warn. They'll be kicked.", PlayerName);
  245. SendClientMessage(ChosenPlayerID[playerid], LIGHTRED, string);
  246. format(string, sizeof(string), "You have been warned by admin %s, this is your third warn, you'll be kicked.", APlayerName);
  247. SendClientMessage(playerid, LIGHTRED, string);
  248. SetTimerEx("KickTimer", 1000, false, "i", playerid);
  249. }
  250. }
  251. }
  252. }
  253. }
  254. }
  255. return 1;
  256. }
  257.  
  258. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  259. {
  260. if(IsPlayerAdmin(playerid))
  261. {
  262. ShowPlayerDialog(playerid, DIALOG_BASEADMIN, DIALOG_STYLE_LIST, "Options", "Kick\nBan\nView statistics\nWarn", "Choose", "Cancel");
  263. ChosenPlayerID[playerid] = clickedplayerid;
  264. }
  265. if(clickedplayerid == playerid)
  266. {
  267. ShowPlayerDialog(playerid, DIALOG_ADMIN, DIALOG_STYLE_LIST, "Admin Commands", "Admininstrative\nWeapons\nMoney", "Choose", "Cancel");
  268. }
  269.  
  270. return 1;
  271. }
Advertisement
Add Comment
Please, Sign In to add comment