Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <cstrike>
- native csgor_get_user_rang(id, szout[], len);
- native csgor_is_user_logged(id);
- new g_maxplayers;
- new g_saytxt;
- new g_ghost;
- public plugin_init()
- {
- register_plugin("FIX CHAT", "3.1", "Kenshin");
- g_ghost = register_cvar("amx_chatfix_ghostchat", "1")
- g_saytxt = get_user_msgid("SayText");
- g_maxplayers=get_maxplayers();
- register_clcmd("say", "HookSay")
- register_clcmd("say_team", "HookSay")
- }
- public HookSay(id)
- {
- new g_typed[192]
- new g_message[192]
- new g_name[32]
- read_args(g_typed, charsmax(g_typed))
- remove_quotes(g_typed)
- trim(g_typed);
- if(equal(g_typed, "") || !is_user_connected(id) || !id)
- return PLUGIN_HANDLED;
- get_user_name(id, g_name, charsmax(g_name));
- new szArg[10], szTeamP[32]
- new bool:isTeam;
- read_argv(0,szArg,charsmax(szArg))
- new CsTeams:iTeam = cs_get_user_team(id);
- if(equali(szArg, "say_team"))
- {
- switch(iTeam)
- {
- case CS_TEAM_CT: formatex(szTeamP, charsmax(szTeamP), "(CT) ");
- case CS_TEAM_T: formatex(szTeamP, charsmax(szTeamP), "(Terrorist) ");
- case CS_TEAM_SPECTATOR: formatex(szTeamP, charsmax(szTeamP), "(Spectator) ");
- }
- isTeam = true;
- }
- if(csgor_is_user_logged(id))
- {
- new prefix[64]
- csgor_get_user_rang(id, prefix, charsmax(prefix));
- 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);
- }else
- {
- 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);
- }
- new iCvar = get_pcvar_num(g_ghost)
- for(new i = 1; i <= g_maxplayers; i++)
- {
- if(!is_user_connected(i))
- continue
- if(isTeam && cs_get_user_team(i) != iTeam)
- continue
- if(!iCvar)
- {
- if(is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_user_flags(i) & ADMIN_KICK)
- {
- send_message(g_message, id, i)
- }
- }else{
- send_message(g_message, id, i)
- }
- }
- return PLUGIN_HANDLED;
- }
- send_message(const message[], const id, const i)
- {
- message_begin(MSG_ONE, g_saytxt, {0, 0, 0}, i)
- write_byte(id)
- write_string(message)
- message_end()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement