Advertisement
v0VExxx

AdminMenu

Dec 4th, 2012
426
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.04 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <cstrike>
  4. #include <engine>
  5. #include <fakemeta>
  6. #include <hamsandwich>
  7. #include <fun>
  8. #include <colorchat>
  9.  
  10. #define PLUGIN "Custom Admin Menu"
  11. #define AUTHOR "anderseN"
  12. #define VERSION "1.0"
  13.  
  14. new const Prefix[] = "[AdminMenu]";
  15.  
  16. new szName[33], szPlayerName[33]
  17.  
  18. public plugin_init()
  19. {
  20. register_plugin(PLUGIN, VERSION, AUTHOR)
  21. }
  22.  
  23. public client_PreThink(id)
  24. {
  25. if (pev(id, pev_button) & IN_RELOAD && !(pev(id, pev_oldbuttons) & IN_RELOAD))
  26. {
  27. CmdMainMenu(id);
  28. }
  29. }
  30.  
  31. /* Action That Will Show You The Menu */
  32. public CmdMainMenu(id)
  33. {
  34. if(!(get_user_flags(id) & ADMIN_CFG))
  35. {
  36. Print(id, "you do not have access to use this menu");
  37. }
  38. else
  39. {
  40. ShowMainMenu(id);
  41. }
  42. }
  43.  
  44.  
  45. /* The Main Menu */
  46. ShowMainMenu(id)
  47. {
  48. static title[128];
  49.  
  50. formatex(title, sizeof(title) - 1, "\r[GP] \wGamepark Admin Panel\y v1.0^n\y - Main Menu");
  51. new menu = menu_create(title, "MenuMain");
  52.  
  53. menu_additem(menu, "Slap", "1");
  54. menu_additem(menu, "Slay^n", "2");
  55. menu_additem(menu, "Kick Menu", "3");
  56. menu_additem(menu, "Ban Menu^n", "4");
  57. menu_additem(menu, "Mapvote^n", "5");
  58. menu_additem(menu, "Extra Thins", "6");
  59.  
  60. menu_display(id, menu);
  61. }
  62.  
  63. public MenuMain(id, menu, item)
  64. {
  65. if( item == MENU_EXIT )
  66. {
  67. menu_destroy(menu);
  68. return;
  69. }
  70.  
  71. static _access, info[4], callback;
  72. menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
  73. menu_destroy(menu);
  74.  
  75. switch( info[0] )
  76. {
  77. case '1':
  78. {
  79. SlapMenu(id);
  80. }
  81. case '2':
  82. {
  83. SlayMenu(id);
  84. }
  85. case '3':
  86. {
  87. KickMenu(id);
  88. }
  89. case '4':
  90. {
  91. BanMenu(id);
  92. }
  93. case '5':
  94. {
  95. Print(id, "This menu is under progress!");
  96. }
  97. case '6':
  98. {
  99. CmdOwnerMenu(id)
  100. }
  101. }
  102. }
  103.  
  104. public CmdOwnerMenu(id)
  105. {
  106. if(!(get_user_flags(id) & ADMIN_IMMUNITY))
  107. {
  108. Print(id, "Sorry, only^04 Owners^03 can access this menu");
  109. ShowMainMenu(id)
  110. }
  111. else
  112. {
  113. ShowOwnerMenu(id);
  114. }
  115. }
  116.  
  117.  
  118. /* The Owner Menu */
  119. ShowOwnerMenu(id)
  120. {
  121. static title[128];
  122.  
  123. formatex(title, sizeof(title) - 1, "\r[GP] \wGamepark Admin Panel\y v1.0^n\y - Owner Menu");
  124. new menu = menu_create(title, "MenuOwners");
  125.  
  126. new Temp [ 190 ]
  127. if ( get_user_noclip(id) >= 1 )
  128. formatex ( Temp, sizeof ( Temp ) - 1, "\wNoclip:\r [On]" )
  129. else if ( get_user_noclip(id) >= 0 )
  130. formatex ( Temp, sizeof ( Temp ) - 1, "\wNoclip:\r [Off]" )
  131. menu_additem ( menu, Temp, "1", 0 )
  132. if ( get_user_godmode(id) >= 1 )
  133. formatex ( Temp, sizeof ( Temp ) - 1, "\wGodmode:\r [On]" )
  134. else if ( get_user_godmode(id) >= 0 )
  135. formatex ( Temp, sizeof ( Temp ) - 1, "\wGodmode:\r [Off]" )
  136. menu_additem ( menu, Temp, "2", 0 )
  137. menu_additem(menu, "Revive Yourself^n", "3");
  138. menu_additem(menu, "Team Change Menu", "4");
  139.  
  140. menu_display(id, menu);
  141. }
  142.  
  143. public MenuOwners(id, menu, item)
  144. {
  145. if( item == MENU_EXIT )
  146. {
  147. menu_destroy(menu);
  148. return;
  149. }
  150.  
  151. static _access, info[4], callback;
  152. menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
  153. menu_destroy(menu);
  154.  
  155. switch( info[0] )
  156. {
  157. case '1':
  158. {
  159. ToggleNoclip(id)
  160. ShowOwnerMenu(id)
  161. }
  162. case '2':
  163. {
  164. ToggleGodmode(id)
  165. ShowOwnerMenu(id)
  166. }
  167. case '3':
  168. {
  169. CmdRevive(id)
  170. ShowOwnerMenu(id)
  171. }
  172. case '4':
  173. {
  174. ShowTeamMenu(id);
  175. }
  176. }
  177. }
  178.  
  179. ShowTeamMenu(id)
  180. {
  181. static title[128];
  182.  
  183. formatex(title, sizeof(title) - 1, "\r[GP] \wGamepark Admin Panel\y v1.0^n\y - Team Menu^n\w Select a team");
  184. new menu = menu_create(title, "MenuTeam");
  185.  
  186. menu_additem(menu, "Terrorist", "1");
  187. menu_additem(menu, "Counter Terrorist", "2");
  188. menu_additem(menu, "Spectator^n", "3");
  189.  
  190. menu_display(id, menu);
  191. }
  192.  
  193. public MenuTeam(id, menu, item)
  194. {
  195. if( item == MENU_EXIT )
  196. {
  197. ShowMainMenu(id);
  198. }
  199.  
  200. static _access, info[4], callback;
  201. menu_item_getinfo(menu, item, _access, info, sizeof(info) - 1, _, _, callback);
  202. menu_destroy(menu);
  203.  
  204. switch( info[0] )
  205. {
  206. case '1':
  207. {
  208. CmdTerrorist(id)
  209. ShowOwnerMenu(id)
  210. }
  211. case '2':
  212. {
  213. CmdCounterTerrorist(id)
  214. ShowOwnerMenu(id)
  215. }
  216. case '3':
  217. {
  218. CmdSpectator(id)
  219. ShowOwnerMenu(id)
  220. }
  221. }
  222. }
  223.  
  224. ToggleNoclip(id)
  225. {
  226. if (get_user_noclip(id))
  227. {
  228. set_user_noclip(id, 0);
  229. Print(id, "Noclip has been disabled");
  230. }
  231. else
  232. {
  233. set_user_noclip(id, 1);
  234. Print(id, "Noclip has been^04 Enabled");
  235. }
  236. }
  237.  
  238. ToggleGodmode(id)
  239. {
  240. if (get_user_godmode(id))
  241. {
  242. set_user_godmode(id, 0);
  243. Print(id, "Godmode has been disabled");
  244. }
  245. else
  246. {
  247. set_user_godmode(id, 1);
  248. Print(id, "Godmode has been^04 Enabled");
  249. }
  250. }
  251.  
  252. public CmdRevive(id)
  253. {
  254. if(is_user_alive(id))
  255. {
  256. Print(id, "you're already alive, dumbass");
  257. return;
  258. }
  259. else
  260. {
  261. ExecuteHam(Ham_CS_RoundRespawn, id);
  262. Print(id, "You have been^04 Revived");
  263. }
  264. }
  265.  
  266. public CmdTerrorist(id)
  267. {
  268. if (get_user_team(id) == 1)
  269. {
  270. Print(id, "you are already a Terrorist");
  271. }
  272. else
  273. {
  274. if(is_user_connected(id))
  275. {
  276. cs_set_user_team(id, CS_TEAM_T);
  277. Print(id, "you have been moved to^04 Terrorist Team");
  278. }
  279. }
  280. }
  281.  
  282. public CmdCounterTerrorist(id)
  283. {
  284. if (get_user_team(id) == 2)
  285. {
  286. Print(id, "you are already a Counter Terrorist");
  287. }
  288. else
  289. {
  290. if(is_user_connected(id))
  291. {
  292. cs_set_user_team(id, CS_TEAM_CT);
  293. Print(id, "you have been moved to^04 Counter Terrorist Team");
  294. }
  295. }
  296. }
  297.  
  298. public CmdSpectator(id)
  299. {
  300. if (get_user_team(id) == 3)
  301. {
  302. Print(id, "you are already a Spectator");
  303. }
  304. else
  305. {
  306. if(is_user_connected(id))
  307. {
  308. cs_set_user_team(id, CS_TEAM_SPECTATOR);
  309. Print(id, "you have been moved to^04 Spectator");
  310. }
  311. }
  312. }
  313.  
  314.  
  315. /*Action for the Slap Menu*/
  316. public SlapMenu(id)
  317. {
  318. new SlapPlayer = menu_create ("\r[GP] \wGamepark Admin Panel\y v1.0^n\y - Slap Menu", "HandleSlap")
  319.  
  320. new num, players[32], tempid, szTempID [10], tempname [32]
  321. get_players (players, num, "a")
  322.  
  323. for (new i = 0; i < num; i++)
  324. {
  325. tempid = players [ i ]
  326.  
  327. get_user_name (tempid, tempname, 31)
  328. num_to_str (tempid, szTempID, 9)
  329. menu_additem (SlapPlayer, tempname, szTempID, 0)
  330. }
  331.  
  332. menu_display (id, SlapPlayer)
  333. return PLUGIN_HANDLED
  334. }
  335.  
  336. /*Action for the Slay Menu*/
  337. public SlayMenu(id)
  338. {
  339. new SlayPlayer = menu_create ("\r[GP] \wGamepark Admin Panel\y v1.0^n\y - Slay Menu", "HandleSlay")
  340.  
  341. new num, players[32], tempid, szTempID [10], tempname [32]
  342. get_players (players, num, "a")
  343.  
  344. for (new i = 0; i < num; i++)
  345. {
  346. tempid = players [ i ]
  347.  
  348. get_user_name (tempid, tempname, 31)
  349. num_to_str (tempid, szTempID, 9)
  350. menu_additem (SlayPlayer, tempname, szTempID, 0)
  351. }
  352.  
  353. menu_display (id, SlayPlayer)
  354. return PLUGIN_HANDLED
  355. }
  356.  
  357. /*Action for the Kick Menu*/
  358. public KickMenu(id)
  359. {
  360. new KickPlayer = menu_create ("\r[GP] \wGamepark Admin Panel\y v1.0^n\y - Kick Menu", "HandleKick")
  361.  
  362. new num, players[32], tempid, szTempID [10], tempname [32]
  363. get_players (players, num, "a")
  364.  
  365. for (new i = 0; i < num; i++)
  366. {
  367. tempid = players [ i ]
  368.  
  369. get_user_name(tempid, tempname, 31)
  370. num_to_str(tempid, szTempID, 9)
  371. menu_additem(KickPlayer, tempname, szTempID, 0)
  372. }
  373.  
  374. menu_display (id, KickPlayer)
  375. return PLUGIN_HANDLED
  376. }
  377.  
  378. /*Action for the Ban Menu*/
  379. public BanMenu(id)
  380. {
  381. new BanPlayer = menu_create ("\r[GP] \wGamepark Admin Panel\y v1.0^n\y - Ban Menu", "HandleBan")
  382.  
  383. new num, players[32], tempid, szTempID [10], tempname [32]
  384. get_players (players, num, "a")
  385.  
  386. for (new i = 0; i < num; i++)
  387. {
  388. tempid = players [ i ]
  389.  
  390. get_user_name(tempid, tempname, 31)
  391. num_to_str(tempid, szTempID, 9)
  392. menu_additem(BanPlayer, tempname, szTempID, 0)
  393. }
  394.  
  395. menu_display (id, BanPlayer)
  396. return PLUGIN_HANDLED
  397. }
  398.  
  399.  
  400.  
  401.  
  402. /*HANDLES*/
  403.  
  404. /*The handle of the Slap Menu*/
  405. public HandleSlap(id, menu, item)
  406. {
  407. if(item == MENU_EXIT)
  408. {
  409. menu_destroy(menu)
  410. return PLUGIN_HANDLED
  411. }
  412.  
  413. new data[6], name[64]
  414. new access, callback
  415.  
  416. menu_item_getinfo (menu, item, access, data, 5, name, 63, callback)
  417. new tempid = str_to_num (data)
  418.  
  419. get_user_name(id, szName, 32)
  420. get_user_name(tempid, szPlayerName, 32)
  421.  
  422. Print(0, "%s^04 slapped^03 %s^04!", szName, szPlayerName);
  423. user_slap(tempid, 0)
  424.  
  425. CmdMainMenu(id)
  426.  
  427. return PLUGIN_CONTINUE
  428. }
  429.  
  430. /*The handle of the Slay Menu*/
  431. public HandleSlay(id, menu, item)
  432. {
  433. if(item == MENU_EXIT)
  434. {
  435. menu_destroy(menu)
  436. return PLUGIN_HANDLED
  437. }
  438.  
  439. new data[6], name[64]
  440. new access, callback
  441.  
  442. menu_item_getinfo (menu, item, access, data, 5, name, 63, callback)
  443. new tempid = str_to_num (data)
  444.  
  445. get_user_name(id, szName, 32)
  446. get_user_name(tempid, szPlayerName, 32)
  447.  
  448. Print(0, "%s^04 slayed^03 %s^04!", szName, szPlayerName);
  449. user_silentkill(tempid)
  450.  
  451. CmdMainMenu(id)
  452.  
  453. return PLUGIN_CONTINUE
  454. }
  455.  
  456. /*The handle of the Kick Menu*/
  457. public HandleKick(id, menu, item)
  458. {
  459. if(item == MENU_EXIT)
  460. {
  461. menu_destroy(menu)
  462. return PLUGIN_HANDLED
  463. }
  464.  
  465. new data[6], name[64]
  466. new access, callback, UserID
  467.  
  468. menu_item_getinfo (menu, item, access, data, 5, name, 63, callback)
  469. new tempid = str_to_num(data)
  470.  
  471. get_user_name(id, szName, 32)
  472. get_user_name(tempid, szPlayerName, 32)
  473. UserID = get_user_userid(tempid)
  474.  
  475. Print(0, "%s^04 kicked^03 %s^04!", szName, szPlayerName);
  476.  
  477. server_cmd("kick ^"#%d^" ^"kicked by %s^"", UserID, szName)
  478.  
  479. CmdMainMenu(id)
  480.  
  481. return PLUGIN_CONTINUE
  482. }
  483.  
  484. /*The handle of the Ban Menu*/
  485. public HandleBan(id, menu, item)
  486. {
  487. if(item == MENU_EXIT)
  488. {
  489. menu_destroy(menu)
  490. return PLUGIN_HANDLED
  491. }
  492.  
  493. new data[6], name[64]
  494. new access, callback, UserID
  495.  
  496. menu_item_getinfo (menu, item, access, data, 5, name, 63, callback)
  497. new tempid = str_to_num(data)
  498.  
  499. get_user_name(id, szName, 32)
  500. get_user_name(tempid, szPlayerName, 32)
  501. UserID = get_user_userid(tempid)
  502.  
  503. Print(0, "%s^04 banned^03 %s^04!", szName, szPlayerName);
  504.  
  505. server_cmd("amx_ban ^"#%d^" ^"30^" ^"Banned by ADMIN %s^"", UserID, szName)
  506.  
  507. CmdMainMenu(id)
  508.  
  509. return PLUGIN_CONTINUE
  510. }
  511.  
  512. Print(id, const szMessage[], any:...)
  513. {
  514. static szBuffer[192];
  515. vformat(szBuffer, charsmax(szBuffer), szMessage, 3);
  516.  
  517. ColorChat(id, GREY, "^04%s^03 %s", Prefix, szBuffer);
  518.  
  519. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement