Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.70 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3.  
  4. #define CharsMax(%1) sizeof %1 - 1
  5. #define time_shower 1.0
  6.  
  7. #define GROUPS_NAME 3
  8. #define GROUPS_ACCESS 3
  9.  
  10. #define RRR 255
  11. #define GGG 255
  12. #define BBB 255
  13. #define time_hud 12.0
  14.  
  15. #define motd_msg "Admin's Online"
  16.  
  17. #define who_meniu_ad_group_msg "\y-=[Admin's]=- \r-=[Online]=-^n"
  18. #define who_meniu_admin_msg "\y-=[Admin's]=- \w-=[Online]=-^n^n"
  19.  
  20. #define who_meniu_ad_group_msg_bottom "^n\wPt a esi apasati \y0 \w sau \y5"
  21. #define who_meniu_admin_msg_bottom "^n\wPt a esi apasati \r0 \w sau \r5"
  22.  
  23. #define who_console_top "=========== Admini Online ==========="
  24. #define who_console_bottom "================================"
  25.  
  26. new GroupNames[GROUPS_NAME][] = {
  27. "Owners",
  28. "Administratori",
  29. "Sloturi"
  30. }
  31.  
  32. new GroupFlags[GROUPS_ACCESS][] = {
  33. "abcdefghijklmnopqrstu",
  34. "bcdefijmnopqrstu",
  35. "b"
  36. }
  37.  
  38. new GroupFlagsValue[GROUPS_NAME]
  39.  
  40. new who_type, who_typemeniu, who_typtable
  41.  
  42. public plugin_init()
  43. {
  44.  
  45. for(new p_of_pw = 0 ; p_of_pw < GROUPS_NAME ; p_of_pw++)
  46. GroupFlagsValue[p_of_pw] = read_flags(GroupFlags[p_of_pw])
  47.  
  48. register_clcmd("say", "cmdSay")
  49. register_clcmd("say_team", "cmdSay")
  50.  
  51. who_type = register_cvar("cmd_who","1")
  52. who_typemeniu = register_cvar("who_typemeniu","1")
  53. who_typtable = register_cvar("who_typetable","2")
  54. }
  55.  
  56. public cmdSay(id)
  57. {
  58. new say[192]
  59. read_args(say,192)
  60. if(( containi(say, "who") != -1 || containi(say, "admin") != -1 || containi(say, "admins") != -1 || contain(say, "/who") != -1 || contain(say, "/admin") != -1 || contain(say, "/admins") != -1))
  61. set_task(time_shower,"cmdULTMWho",id)
  62. return PLUGIN_CONTINUE
  63. }
  64.  
  65. public cmdULTMWho(id)
  66. {
  67. switch(get_pcvar_num(who_type))
  68. {
  69. case 1: who_meniu(id)
  70.  
  71. case 2: who_motd(id)
  72.  
  73. case 3: who_table(id)
  74.  
  75. case 4: who_hud(id)
  76.  
  77. case 5: who_console(id)
  78.  
  79. }
  80. return 0
  81. }
  82.  
  83. who_meniu(id)
  84. {
  85. switch(get_pcvar_num(who_typemeniu))
  86. {
  87. case 1: who_meniu_admin_groups(id)
  88.  
  89. case 2: who_meniu_admin(id)
  90. }
  91. return 0
  92. }
  93. who_meniu_admin_groups(id)
  94. {
  95. new sPlayers[32], iNum, iPlayer
  96. new sName[32]
  97. new szMenu[256], nLen, keys
  98.  
  99. nLen = format(szMenu[nLen], 255, who_meniu_ad_group_msg)
  100. get_players(sPlayers, iNum, "ch")
  101.  
  102. for(new p_of_pw = 0; p_of_pw < GROUPS_NAME ; p_of_pw++)
  103. {
  104. nLen += format(szMenu[nLen], 255-nLen,"\r%s^n", GroupNames[p_of_pw])
  105.  
  106. for(new a = 0; a < iNum ; a++)
  107. {
  108. iPlayer = sPlayers[a]
  109.  
  110. if(get_user_flags(iPlayer) == GroupFlagsValue[p_of_pw])
  111. {
  112. get_user_name(iPlayer, sName, sizeof sName - 1)
  113. nLen += format(szMenu[nLen], 255-nLen,"\w%s^n", sName)
  114. }
  115. }
  116. }
  117. nLen += format(szMenu[nLen], 255-nLen, who_meniu_ad_group_msg_bottom)
  118. keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<9)
  119. show_menu(id,keys,szMenu,-1)
  120. return 0
  121. }
  122.  
  123. who_meniu_admin(id)
  124. {
  125. new sPlayers[32], iNum, iPlayer
  126. new sName[32]
  127. new szMenu[256], nLen, keys
  128.  
  129. nLen = format(szMenu[nLen], 255, who_meniu_admin_msg)
  130.  
  131. get_players(sPlayers, iNum, "ch")
  132. for(new p_of_pw = 0; p_of_pw < GROUPS_NAME ; p_of_pw++)
  133. {
  134. for(new a = 0; a < iNum ; a++)
  135. {
  136. iPlayer = sPlayers[a]
  137.  
  138. if(get_user_flags(iPlayer) == GroupFlagsValue[p_of_pw])
  139. {
  140. get_user_name(iPlayer, sName, sizeof sName - 1)
  141. nLen += format(szMenu[nLen], 255-nLen,"\r%s^n", sName)
  142. }
  143. }
  144. }
  145. nLen += format(szMenu[nLen], 255-nLen, who_meniu_admin_msg_bottom)
  146. keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<9)
  147. show_menu(id,keys,szMenu,-1)
  148. return 0
  149. }
  150.  
  151. who_motd(id)
  152. {
  153. new sPlayers[32], iNum, iPlayer
  154. new sName[32], sBuffer[1024]
  155. new iLen
  156.  
  157. iLen = formatex(sBuffer, sizeof sBuffer - 1, "<body bgcolor=#000000><font color=#7b68ee><pre>")
  158.  
  159. get_players(sPlayers, iNum, "ch")
  160.  
  161. for(new p_of_pw = 0; p_of_pw < GROUPS_NAME ; p_of_pw++)
  162. {
  163. iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "<center><h5><font color=^"red^">%s^n</font></h5></center>", GroupNames[p_of_pw])
  164.  
  165. for(new a = 0; a < iNum ; a++)
  166. {
  167. iPlayer = sPlayers[a]
  168.  
  169. if(get_user_flags(iPlayer) == GroupFlagsValue[p_of_pw])
  170. {
  171. get_user_name(iPlayer, sName, sizeof sName - 1)
  172. iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "<center>%s^n</center>", sName)
  173. }
  174. }
  175. }
  176. show_motd(id, sBuffer, motd_msg)
  177. return 0
  178.  
  179. }
  180.  
  181. who_table(id)
  182. {
  183. switch(get_pcvar_num(who_typtable))
  184. {
  185. case 1: table_style_one(id)
  186.  
  187. case 2: table_style_two(id)
  188. }
  189. return 0
  190. }
  191. table_style_one(id)
  192. {
  193. new sPlayers[32], iNum, iPlayer
  194. new sName[32], sBuffer[1024]
  195. new iLen
  196.  
  197. iLen = formatex(sBuffer, sizeof sBuffer - 1, "<body bgcolor=#000000><font color=#7b68ee><pre>")
  198. iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "<center><h3><b><font color=^"red^">NUME - ACCES</font></h3></b></center>")
  199.  
  200. get_players(sPlayers, iNum, "ch")
  201.  
  202. for(new p_of_pw = 0; p_of_pw < GROUPS_NAME ; p_of_pw++)
  203. {
  204. for(new a = 0; a < iNum ; a++)
  205. {
  206. iPlayer = sPlayers[a]
  207.  
  208. if(get_user_flags(iPlayer) == GroupFlagsValue[p_of_pw])
  209. {
  210. get_user_name(iPlayer, sName, sizeof sName - 1)
  211. iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "<center><h4><font color=^"white^">%s %s^n</font></h4></center>", sName, GroupNames[p_of_pw])
  212. }
  213. }
  214. }
  215. show_motd(id, sBuffer, motd_msg)
  216. return 0
  217. }
  218. table_style_two(id)
  219. {
  220. new sPlayers[32], iNum, iPlayer
  221. new sName[32], sBuffer[1024]
  222. new iLen
  223.  
  224. iLen = formatex(sBuffer, sizeof sBuffer - 1, "<body bgcolor=#000000><font color=#7b68ee><pre>")
  225.  
  226. iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "<html><head><title>a</title></head>")
  227. iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "<br><br><center><body><table border>")
  228. iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "<tr><td><h3><b><font color=^"red^">NUME</td><td></h3></b> <h3><b><font color=^"red^">ACCES</td></h3></font></b></center>")
  229.  
  230. get_players(sPlayers, iNum, "ch")
  231.  
  232. for(new p_of_pw = 0; p_of_pw < GROUPS_NAME ; p_of_pw++)
  233. {
  234. for(new a = 0; a < iNum ; a++)
  235. {
  236. iPlayer = sPlayers[a]
  237.  
  238. if(get_user_flags(iPlayer) == GroupFlagsValue[p_of_pw])
  239. {
  240. get_user_name(iPlayer, sName, sizeof sName - 1)
  241. iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "<center><tr><td><h4><b><font color=^"white^">%s<td></b></h4> <h4><b><font color=^"white^">%s </td></h4></font></b></center>", sName, GroupNames[p_of_pw])
  242. }
  243. }
  244. }
  245. iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "</table></body></html>")
  246. show_motd(id, sBuffer, motd_msg)
  247. return 0
  248. }
  249.  
  250. who_hud(id)
  251. {
  252. new sPlayers[32], iNum, iPlayer
  253. new sName[32], sBuffer[1024]
  254. new iLen
  255.  
  256. get_players(sPlayers, iNum, "ch")
  257.  
  258. for(new p_of_pw = 0; p_of_pw < GROUPS_NAME ; p_of_pw++)
  259. {
  260. iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "=== %s ===^n", GroupNames[p_of_pw])
  261.  
  262. for(new a = 0; a < iNum ; a++)
  263. {
  264. iPlayer = sPlayers[a]
  265.  
  266. if(get_user_flags(iPlayer) == GroupFlagsValue[p_of_pw])
  267. {
  268. get_user_name(iPlayer, sName, sizeof sName - 1)
  269. iLen += formatex(sBuffer[iLen], CharsMax(sBuffer) - iLen, "%s^n", sName)
  270. }
  271. }
  272. }
  273. set_hudmessage(RRR, GGG, BBB, 0.02, 0.24, 0, 6.0, time_hud)
  274. show_hudmessage(id, sBuffer)
  275. return 0
  276. }
  277.  
  278. who_console(id)
  279. {
  280. new sPlayers[32], iNum, iPlayer
  281. new sName[32]
  282.  
  283. get_players(sPlayers, iNum)
  284. console_print(id, who_console_top)
  285. for(new p_of_pw = 0; p_of_pw < GROUPS_NAME; p_of_pw++)
  286. {
  287. for(new a = 0; a < iNum ; a++)
  288. {
  289.  
  290. iPlayer = sPlayers[a]
  291. get_user_name(iPlayer, sName, sizeof sName - 1)
  292. if(get_user_flags(iPlayer) == GroupFlagsValue[p_of_pw])
  293. console_print(id, "= %d = %s : %s", p_of_pw+1, GroupNames[p_of_pw], sName)
  294.  
  295.  
  296. }
  297. }
  298. console_print(id, who_console_bottom)
  299. return 0
  300. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement