Guest User

Untitled

a guest
May 22nd, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.94 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3.  
  4. #define VERSION "1.0"
  5. #define MAX_PREFIXES 10
  6.  
  7. // Admin Prefix One
  8. #define FLAGADMINONE ADMIN_LEVEL_G
  9. #define PREFIXADMINONE "Head-admin"
  10.  
  11. // Admin Prefix Two
  12. #define FLAGADMINTWO ADMIN_LEVEL_D
  13. #define PREFIXADMINTWO "Full-Admin"
  14.  
  15. // JuniorAdmin Prefix
  16. #define FLAGADMINSMS ADMIN_LEVEL_C
  17. #define PREFIXADMINSMS "Vip-admin"
  18.  
  19. // VIP Prefix
  20. #define FLAGADMINVIP ADMIN_LEVEL_A
  21. #define PREFIXADMINVIP "Slot"
  22.  
  23. new AdminPrefixOne, AdminPrefixTwo, SmsPrefix ,VIPPrefix;
  24. new SzMaxPlayers, SzSayText;
  25.  
  26. new SzGTeam[3][] = {
  27. "Spectator",
  28. "Terrorist",
  29. "Counter-Terrorist"
  30. }
  31.  
  32. public plugin_init()
  33. {
  34. register_plugin("Admin Prefix And Chat Color", VERSION, "kostov & Dark_Style");
  35.  
  36. // Cvars Plugins
  37. AdminPrefixOne = register_cvar("show_admin_prefix_one", "1");
  38. AdminPrefixTwo = register_cvar("show_admin_prefix_two", "1");
  39. SmsPrefix = register_cvar("show_sms_admin_prefix", "1");
  40. VIPPrefix = register_cvar("show_VIP_admin_prefix", "1");
  41.  
  42. register_cvar("admin_prefix_version", VERSION, FCVAR_SERVER|FCVAR_SPONLY);
  43. set_cvar_string("admin_prefix_version", VERSION);
  44. register_clcmd("say", "hook_say");
  45. register_clcmd("say_team", "hook_say_team");
  46.  
  47. SzSayText = get_user_msgid ("SayText");
  48. SzMaxPlayers = get_maxplayers();
  49.  
  50. register_message(SzSayText, "MsgDuplicate");
  51. }
  52.  
  53. public MsgDuplicate(id){ return PLUGIN_HANDLED; }
  54.  
  55. public hook_say(id)
  56. {
  57. new SzMessages[192], SzName[32];
  58. new SzAlive = is_user_alive(id);
  59. new SzGetFlag = get_user_flags(id);
  60.  
  61. read_args(SzMessages, 191);
  62. remove_quotes(SzMessages);
  63. get_user_name(id, SzName, 31);
  64.  
  65. if(!is_valid_msg(SzMessages))
  66. return PLUGIN_CONTINUE;
  67.  
  68. if(get_pcvar_num(AdminPrefixOne) && SzGetFlag & FLAGADMINONE)(SzAlive ? format(SzMessages, 191, "^4[%s] ^3%s : ^4%s", PREFIXADMINONE, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^4[%s] ^3%s : ^4%s", PREFIXADMINONE, SzName, SzMessages));
  69. else if(get_pcvar_num(AdminPrefixTwo) && SzGetFlag & FLAGADMINTWO)(SzAlive ? format(SzMessages, 191, "^4[%s] ^3%s : ^4%s", PREFIXADMINTWO, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^4[%s] ^3%s : ^4%s", PREFIXADMINTWO, SzName, SzMessages));
  70. else if(get_pcvar_num(SmsPrefix) && SzGetFlag & FLAGADMINSMS)(SzAlive ? format(SzMessages, 191, "^4[%s] ^3%s : ^4%s", PREFIXADMINSMS, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^4[%s] ^3%s : ^4%s", PREFIXADMINSMS, SzName, SzMessages));
  71. else if(get_pcvar_num(VIPPrefix) && SzGetFlag & FLAGADMINVIP)(SzAlive ? format(SzMessages, 191, "^4[%s] ^3%s : ^4%s", PREFIXADMINVIP, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^4[%s] ^3%s : ^4%s", PREFIXADMINVIP, SzName, SzMessages));
  72. else if(get_pcvar_num(AdminPrefixOne) && !(SzGetFlag & FLAGADMINONE))(SzAlive ? format(SzMessages, 191, "^3%s : ^1%s", SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^3%s : ^1%s", SzName, SzMessages));
  73. else if(get_pcvar_num(AdminPrefixTwo) && !(SzGetFlag & FLAGADMINTWO))(SzAlive ? format(SzMessages, 191, "^3%s : ^1%s", SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^3%s : ^1%s", SzName, SzMessages));
  74. else if(get_pcvar_num(SmsPrefix) && !(SzGetFlag & FLAGADMINSMS))(SzAlive ? format(SzMessages, 191, "^3%s : ^1%s", SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^3%s : ^1%s", SzName, SzMessages));
  75. else if(get_pcvar_num(VIPPrefix) && !(SzGetFlag & FLAGADMINVIP))(SzAlive ? format(SzMessages, 191, "^3%s : ^1%s", SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^3%s : ^1%s", SzName, SzMessages));
  76.  
  77. for(new i = 1; i <= SzMaxPlayers; i++)
  78. {
  79. if(!is_user_connected(i))
  80. continue;
  81.  
  82. if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i))
  83. {
  84. message_begin(MSG_ONE, get_user_msgid("SayText"), {0, 0, 0}, i);
  85. write_byte(id);
  86. write_string(SzMessages);
  87. message_end();
  88. }
  89. }
  90.  
  91. return PLUGIN_CONTINUE;
  92. }
  93.  
  94. public hook_say_team(id){
  95. new SzMessages[192], SzName[32];
  96. new SzAlive = is_user_alive(id);
  97. new SzGetFlag = get_user_flags(id);
  98. new SzGetTeam = get_user_team(id);
  99.  
  100. read_args(SzMessages, 191);
  101. remove_quotes(SzMessages);
  102. get_user_name(id, SzName, 31);
  103.  
  104. if(!is_valid_msg(SzMessages))
  105. return PLUGIN_CONTINUE;
  106.  
  107. if(get_pcvar_num(AdminPrefixOne) && SzGetFlag & FLAGADMINONE)(SzAlive ? format(SzMessages, 191, "^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINONE, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINONE, SzName, SzMessages));
  108. else if(get_pcvar_num(AdminPrefixTwo) && SzGetFlag & FLAGADMINTWO)(SzAlive ? format(SzMessages, 191, "^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINTWO, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINTWO, SzName, SzMessages));
  109. else if(get_pcvar_num(SmsPrefix) && SzGetFlag & FLAGADMINSMS)(SzAlive ? format(SzMessages, 191, "^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINSMS, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINSMS, SzName, SzMessages));
  110. else if(get_pcvar_num(VIPPrefix) && SzGetFlag & FLAGADMINVIP)(SzAlive ? format(SzMessages, 191, "^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINVIP, SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^4%s", SzGTeam[SzGetTeam], PREFIXADMINSMS, SzName, SzMessages));
  111. else if(get_pcvar_num(AdminPrefixOne) && !(SzGetFlag & FLAGADMINONE))(SzAlive ? format(SzMessages, 191, "^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages));
  112. else if(get_pcvar_num(AdminPrefixTwo) && !(SzGetFlag & FLAGADMINTWO))(SzAlive ? format(SzMessages, 191, "^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages));
  113. else if(get_pcvar_num(SmsPrefix) && !(SzGetFlag & FLAGADMINSMS))(SzAlive ? format(SzMessages, 191, "^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages));
  114. else if(get_pcvar_num(VIPPrefix) && !(SzGetFlag & FLAGADMINVIP))(SzAlive ? format(SzMessages, 191, "^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^3%s : ^1%s", SzGTeam[SzGetTeam], SzName, SzMessages));
  115.  
  116. for(new i = 1; i <= SzMaxPlayers; i++)
  117. {
  118. if(!is_user_connected(i))
  119. continue;
  120.  
  121. if(get_user_team(i) != SzGetTeam)
  122. continue;
  123.  
  124. if(SzAlive && is_user_alive(i) || !SzAlive && !is_user_alive(i))
  125. {
  126. message_begin(MSG_ONE, get_user_msgid("SayText"), {0, 0, 0}, i);
  127. write_byte(id);
  128. write_string(SzMessages);
  129. message_end();
  130. }
  131. }
  132.  
  133. return PLUGIN_CONTINUE;
  134. }
  135.  
  136.  
  137. bool:is_valid_msg(const SzMessages[]){
  138. if( SzMessages[0] == '@'
  139. || !strlen(SzMessages)){ return false; }
  140. return true;
  141. }
Add Comment
Please, Sign In to add comment