Advertisement
Guest User

Untitled

a guest
Mar 17th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <cstrike>
  3.  
  4. native csgor_get_user_rang(id, szout[], len);
  5. native csgor_is_user_logged(id);
  6.  
  7. new g_maxplayers;
  8. new g_saytxt;
  9. new g_ghost;
  10.  
  11. public plugin_init()
  12. {
  13. register_plugin("FIX CHAT", "3.1", "Kenshin");
  14. g_ghost = register_cvar("amx_chatfix_ghostchat", "1")
  15. g_saytxt = get_user_msgid("SayText");
  16. g_maxplayers=get_maxplayers();
  17. register_clcmd("say", "HookSay")
  18. register_clcmd("say_team", "HookSay")
  19. }
  20.  
  21.  
  22. public HookSay(id)
  23. {
  24. new g_typed[192]
  25. new g_message[192]
  26. new g_name[32]
  27.  
  28. read_args(g_typed, charsmax(g_typed))
  29. remove_quotes(g_typed)
  30.  
  31. trim(g_typed);
  32.  
  33. if(equal(g_typed, "") || !is_user_connected(id) || !id)
  34. return PLUGIN_HANDLED;
  35.  
  36. get_user_name(id, g_name, charsmax(g_name));
  37.  
  38. new szArg[10], szTeamP[32]
  39. new bool:isTeam;
  40. read_argv(0,szArg,charsmax(szArg))
  41. new CsTeams:iTeam = cs_get_user_team(id);
  42. if(equali(szArg, "say_team"))
  43. {
  44. switch(iTeam)
  45. {
  46. case CS_TEAM_CT: formatex(szTeamP, charsmax(szTeamP), "(CT) ");
  47. case CS_TEAM_T: formatex(szTeamP, charsmax(szTeamP), "(Terrorist) ");
  48. case CS_TEAM_SPECTATOR: formatex(szTeamP, charsmax(szTeamP), "(Spectator) ");
  49. }
  50. isTeam = true;
  51. }
  52.  
  53.  
  54. if(csgor_is_user_logged(id))
  55. {
  56. new prefix[64]
  57. csgor_get_user_rang(id, prefix, charsmax(prefix));
  58. formatex(g_message, charsmax(g_message), "^1%s%s^4[%s]^3 %s :^1 %s", cs_get_user_team(id) == CS_TEAM_SPECTATOR ? isTeam ? "" : "*SPEC* " : (!is_user_alive(id) ? "*DEAD* " : ""), isTeam ? szTeamP : "",prefix, g_name, g_typed);
  59. }else
  60. {
  61. formatex(g_message, charsmax(g_message), "^1%s%s^3%s :^1 %s", cs_get_user_team(id) == CS_TEAM_SPECTATOR ? isTeam ? "" : "*SPEC* " : (!is_user_alive(id) ? "*DEAD* " : ""), isTeam ? szTeamP : "", g_name, g_typed);
  62. }
  63.  
  64. new iCvar = get_pcvar_num(g_ghost)
  65.  
  66. for(new i = 1; i <= g_maxplayers; i++)
  67. {
  68. if(!is_user_connected(i))
  69. continue
  70.  
  71. if(isTeam && cs_get_user_team(i) != iTeam)
  72. continue
  73.  
  74. if(!iCvar)
  75. {
  76. if(is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_user_flags(i) & ADMIN_KICK)
  77. {
  78. send_message(g_message, id, i)
  79. }
  80. }else{
  81. send_message(g_message, id, i)
  82. }
  83. }
  84.  
  85. return PLUGIN_HANDLED;
  86. }
  87.  
  88. send_message(const message[], const id, const i)
  89. {
  90. message_begin(MSG_ONE, g_saytxt, {0, 0, 0}, i)
  91. write_byte(id)
  92. write_string(message)
  93. message_end()
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement