Advertisement
iFenomenal

Ultimate who

Mar 7th, 2019
398
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.80 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3.  
  4. #define PLUGIN "Who meniu"
  5. #define VERSION "1.0"
  6. #define AUTHOR "Askwrite" // Modificat de SnowFake
  7.  
  8. #define GRUPURI 15
  9. new const TITLU[] = " \y Admini\y[\wNUMESERVER.RO\y]";
  10. new const IESIRE[] = "\yIesire, Apasa \r0 sau \r5^n";
  11. new const NOADMINS[] = "\y Nu sunt admini online.";
  12. #pragma semicolon 1
  13.  
  14. new g_NumeGrade[ GRUPURI ][ ] = {
  15.  
  16. "\y[\yManager\y] + \rVIP",
  17. "\y[\yOWNER\y] |\rVIP",
  18. "\y[\yOWNER\y]",
  19. "\y[\yAdministrator\y] + \rVIP",
  20. "\y[\yAdministrator\y]",
  21. "\y[\yG.MOD\y] + \rVIP",
  22. "\y[\yG.MOD\y]",
  23. "\y[\yModerator\y] + \rVIP",
  24. "\y[\yModerator\y]",
  25. "\y[\yAdmins\y] + \rVIP",
  26. "\y[\yAdmins\y]",
  27. "\y[\yHelper\y] + \rVIP",
  28. "\y[\yHelper\y]",
  29. "\y[\yVizitator\y] + \rVIP",
  30. "\y[\yVizitator\y]"
  31.  
  32. };
  33.  
  34. new g_Flaguri[ GRUPURI ][ ] = {
  35.  
  36. "abcdefghijklmnopqrstu",
  37. "bcdefghijklmnopqrstu",
  38. "bcdefghijklmnopqrsu",
  39. "bcdefghijklmnotu",
  40. "bcdefghijklmno",
  41. "bcdefgijklmt",
  42. "bcdefgijklm",
  43. "bcdefijt",
  44. "bcdefij",
  45. "bceft",
  46. "bcef",
  47. "bct",
  48. "bc",
  49. "bt",
  50. "b"
  51.  
  52. };
  53.  
  54.  
  55. new g_ValueFlaguri[ GRUPURI ];
  56.  
  57. public plugin_init( ) {
  58.  
  59. register_plugin( PLUGIN, VERSION, AUTHOR );
  60. for( new i = 0 ; i < GRUPURI ; i++ )
  61. g_ValueFlaguri[ i ] = read_flags( g_Flaguri[ i ] );
  62.  
  63. register_clcmd("say /who", "cmdWho");
  64. register_clcmd("say_team /who", "cmdWho");
  65. register_clcmd("say /admin", "cmdWho");
  66. register_clcmd("say_team /admin", "cmdWho");
  67. register_clcmd("say /admins", "cmdWho");
  68. register_clcmd("say_team /admins", "cmdWho");
  69. register_clcmd("say /admini", "cmdWho");
  70. register_clcmd("say_team /admini", "cmdWho");
  71.  
  72.  
  73. }
  74.  
  75. public cmdWho( id, page ) {
  76.  
  77. new MenuName[ 64 ], MenuExitKey[ 32 ];
  78.  
  79. formatex( MenuName, sizeof ( MenuName ) -1, "%s", TITLU );
  80.  
  81. formatex( MenuExitKey, sizeof ( MenuExitKey ) -1, "%s", IESIRE );
  82.  
  83. new menu = menu_create(MenuName, "InchidereMeniu");
  84.  
  85. if( AdminiON( ) )
  86. {
  87.  
  88. for( new i = 0; i < GRUPURI; i++ )
  89. {
  90. AdaugareA( id, menu, i );
  91. }
  92. }
  93. else
  94. {
  95. menu_additem( menu, NOADMINS , "1", 0 );
  96. }
  97.  
  98. menu_setprop(menu, MPROP_EXITNAME, MenuExitKey );
  99.  
  100. menu_display(id, menu, page);
  101.  
  102. }
  103.  
  104.  
  105. public InchidereMeniu(id, menu, item) {
  106. if(item == MENU_EXIT)
  107. {
  108. menu_destroy( menu );
  109. return 1;
  110. }
  111.  
  112. new data[6], iName[64];
  113. new iaccess, callback;
  114.  
  115. menu_item_getinfo(menu, item, iaccess, data,5, iName, 63, callback);
  116.  
  117. new key = str_to_num(data);
  118.  
  119. switch(key)
  120. {
  121. case 1,2,3,4,5,6,7:
  122. {
  123. menu_destroy( menu );
  124. return 1;
  125. }
  126. }
  127.  
  128. return 0;
  129. }
  130.  
  131. public AdaugareA( const id, const menu, const group ) {
  132.  
  133. new AdminMenuMessage[ 32 ][ 64 ],AdminMenuKey[ 32 ][ 32 ], MenuKey = 1;
  134.  
  135. static Players[ 32 ], Num, Player;
  136. get_players( Players, Num, "ch" );
  137.  
  138. for( new x = 0 ; x < Num ; x++ )
  139. {
  140. Player = Players[ x ];
  141. if( get_user_flags( Player ) == g_ValueFlaguri[ group ] )
  142. {
  143.  
  144. formatex( AdminMenuMessage[ MenuKey ], sizeof ( AdminMenuMessage[ ] ) -1, "\y[*] \w%s \y\w%s%s ",
  145. gName( Player ), g_NumeGrade[ group ], Player == id ? "\r *" : "" );
  146.  
  147. formatex( AdminMenuKey[ MenuKey ], sizeof ( AdminMenuKey[ ] ) -1, "%d", MenuKey );
  148.  
  149. MenuKey++;
  150. }
  151. }
  152.  
  153. for( new z = 1 ; z < MenuKey ; z++ )
  154. {
  155.  
  156. menu_additem( menu, AdminMenuMessage[ z ], AdminMenuKey[ z ], 0 );
  157. }
  158.  
  159. }
  160.  
  161. stock bool:AdminiON( ) {
  162. new bool:AGasiti = false;
  163.  
  164. static Players[ 32 ], Num, Player;
  165. get_players( Players, Num, "ch" );
  166.  
  167. for( new x = 0 ; x < Num ; x++ )
  168. {
  169. Player = Players[ x ];
  170. for( new i = 0 ; i < GRUPURI ; i++ )
  171. {
  172. if( AGasiti ) break;
  173. if( get_user_flags( Player ) == g_ValueFlaguri[ i ] )
  174. {
  175. AGasiti = true;
  176. }
  177. }
  178. }
  179.  
  180. return AGasiti ? true : false;
  181. }
  182.  
  183. stock gName( id ) {
  184.  
  185. new name[ 32 ];
  186. get_user_name( id, name, sizeof ( name ) -1 );
  187.  
  188. return name;
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement