#include #include #define ADMIN_FLAG ADMIN_RCON #define MODER_FLAG ADMIN_KICK #define VIP_FLAG ADMIN_RESERVATION #define ADMIN_TAG "[Administrator]" #define MODER_TAG "[Moderator]" #define VIP_TAG "[VIP]" #define MAX_LANG_ARGS 5 enum { PRINT_COLOR_GREY, PRINT_COLOR_RED, PRINT_COLOR_BLUE, PRINT_COLOR_PLAYERTEAM } static const g_aszTeamNames[][] = { "UNASSIGNED", "TERRORIST", "CT", "SPECTATOR" } new g_maxplayers, admin_see, moder_see public plugin_init() { register_plugin("Chat", "0.1", "Chaiker") admin_see = register_cvar("chat_adminsee", "1") moder_see = register_cvar("chat_modersee", "1") g_maxplayers = get_maxplayers() register_clcmd("say", "cmdsay") register_clcmd("say_team", "cmdteamsay") } public cmdsay(id) { if(get_user_flags(id) & ADMIN_FLAG) { new Arg[128], name[32], Temp = '"', Finded = false get_user_name(id, name, 31) read_args(Arg, 127) for(new i = 127; 0 < i <= 127; i--) { if(Finded) continue if(Arg[i] == Temp) { //server_print("%s - %c", Arg[i], Temp) Arg[i] = 0 Finded = true continue } //server_print("%d - %s", i, Arg[i]) } if(is_user_alive(id)) { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if(is_user_alive(i) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!t%s !y%s : %s", name, ADMIN_TAG, Arg[1]) } } else { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if(!is_user_alive(i) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y*DEAD* !t%s !y%s : %s", name, ADMIN_TAG, Arg[1]) } } return PLUGIN_HANDLED } else if(get_user_flags(id) & MODER_FLAG) { new Arg[128], name[32], Temp = '"', Finded = false get_user_name(id, name, 31) read_args(Arg, 127) for(new i = 127; 0 < i <= 127; i--) { if(Finded) continue if(Arg[i] == Temp) { //server_print("%s - %c", Arg[i], Temp) Arg[i] = 0 Finded = true continue } //server_print("%d - %s", i, Arg[i]) } if(is_user_alive(id)) { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if(is_user_alive(i) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!t%s !y%s : %s", name, MODER_TAG, Arg[1]) } } else { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if(!is_user_alive(i) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y*DEAD* !t%s !y%s : %s", name, MODER_TAG, Arg[1]) } } return PLUGIN_HANDLED } else if(get_user_flags(id) & VIP_FLAG) { new Arg[128], name[32], Temp = '"', Finded = false get_user_name(id, name, 31) read_args(Arg, 127) for(new i = 127; 0 < i <= 127; i--) { if(Finded) continue if(Arg[i] == Temp) { //server_print("%s - %c", Arg[i], Temp) Arg[i] = 0 Finded = true continue } //server_print("%d - %s", i, Arg[i]) } if(is_user_alive(id)) { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if(is_user_alive(i) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!t%s !y%s : %s", name, VIP_TAG, Arg[1]) } } else { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if(!is_user_alive(i) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y*DEAD* !t%s !y%s : %s", name, VIP_TAG, Arg[1]) } } return PLUGIN_HANDLED } else { new Arg[128], name[32], Temp = '"', Finded = false get_user_name(id, name, 31) read_args(Arg, 127) for(new i = 127; 0 < i <= 127; i--) { if(Finded) continue if(Arg[i] == Temp) { //server_print("%s - %c", Arg[i], Temp) Arg[i] = 0 Finded = true continue } //server_print("%d - %s", i, Arg[i]) } if(is_user_alive(id)) { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if(is_user_alive(i) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!t%s !y: %s", name, Arg[1]) else if(is_user_alive(i) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!t%s !y: %s", name, Arg[1]) else if(is_user_alive(i) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!t%s !y: %s", name, Arg[1]) } } else { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if(!is_user_alive(i) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y*DEAD* !t%s !y: %s", name, Arg[1]) else if(!is_user_alive(i) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y*DEAD* !t%s !y: %s", name, Arg[1]) else if(!is_user_alive(i) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!t%s !y: %s", name, Arg[1]) } } } return PLUGIN_HANDLED } public cmdteamsay(id) { if(get_user_flags(id) & ADMIN_FLAG) { new Arg[128], name[32], Temp = '"', Finded = false get_user_name(id, name, 31) read_args(Arg, 127) for(new i = 127; 0 < i <= 127; i--) { if(Finded) continue if(Arg[i] == Temp) { //server_print("%s - %c", Arg[i], Temp) Arg[i] = 0 Finded = true continue } //server_print("%d - %s", i, Arg[i]) } if(cs_get_user_team(id) == CS_TEAM_CT) { if(is_user_alive(id)) { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y(Counter-Terrorist) !t%s !y%s : %s", name, ADMIN_TAG, Arg[1]) } } else { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((!is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y*DEAD* (Counter-Terrorist) !t%s !y%s : %s", name, ADMIN_TAG, Arg[1]) } } } if(cs_get_user_team(id) == CS_TEAM_T) { if(is_user_alive(id)) { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y(Terrorist) !t%s !y%s : %s", name, ADMIN_TAG, Arg[1]) } } else { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((!is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y*DEAD* (Terrorist) !t%s !y%s : %s", name, ADMIN_TAG, Arg[1]) } } } if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) { for(new i = 1; i <= g_maxplayers; i++) if(is_user_connected(i)) if(cs_get_user_team(i) == CS_TEAM_SPECTATOR || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y(Spectator) !t%s !y%s : %s", name, ADMIN_TAG, Arg[1]) } return PLUGIN_HANDLED } else if(get_user_flags(id) & MODER_FLAG) { new Arg[128], name[32], Temp = '"', Finded = false get_user_name(id, name, 31) read_args(Arg, 127) for(new i = 127; 0 < i <= 127; i--) { if(Finded) continue if(Arg[i] == Temp) { //server_print("%s - %c", Arg[i], Temp) Arg[i] = 0 Finded = true continue } //server_print("%d - %s", i, Arg[i]) } if(cs_get_user_team(id) == CS_TEAM_CT) { if(is_user_alive(id)) { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y(Counter-Terrorist) !t%s !y%s : %s", name, MODER_TAG, Arg[1]) } } else { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((!is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y*DEAD* (Counter-Terrorist) !t%s !y%s : %s", name, MODER_TAG, Arg[1]) } } } if(cs_get_user_team(id) == CS_TEAM_T) { if(is_user_alive(id)) { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y(Terrorist) !t%s !y%s : %s", name, MODER_TAG, Arg[1]) } } else { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((!is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y*DEAD* (Terrorist) !t%s !y%s : %s", name, MODER_TAG, Arg[1]) } } } if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) { for(new i = 1; i <= g_maxplayers; i++) if(is_user_connected(i)) if(cs_get_user_team(i) == CS_TEAM_SPECTATOR || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y(Spectator) !t%s !y%s : %s", name, MODER_TAG, Arg[1]) } return PLUGIN_HANDLED } else if(get_user_flags(id) & VIP_FLAG) { new Arg[128], name[32], Temp = '"', Finded = false get_user_name(id, name, 31) read_args(Arg, 127) for(new i = 127; 0 < i <= 127; i--) { if(Finded) continue if(Arg[i] == Temp) { //server_print("%s - %c", Arg[i], Temp) Arg[i] = 0 Finded = true continue } //server_print("%d - %s", i, Arg[i]) } if(cs_get_user_team(id) == CS_TEAM_CT) { if(is_user_alive(id)) { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y(Counter-Terrorist) !t%s !y%s : %s", name, VIP_TAG, Arg[1]) } } else { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((!is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y*DEAD* (Counter-Terrorist) !t%s !y%s : %s", name, VIP_TAG, Arg[1]) } } } if(cs_get_user_team(id) == CS_TEAM_T) { if(is_user_alive(id)) { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y(Terrorist) !t%s !y%s : %s", name, VIP_TAG, Arg[1]) } } else { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((!is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y*DEAD* (Terrorist) !t%s !y%s : %s", name, VIP_TAG, Arg[1]) } } } if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) { for(new i = 1; i <= g_maxplayers; i++) if(is_user_connected(i)) if(cs_get_user_team(i) == CS_TEAM_SPECTATOR || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y(Spectator) !t%s !y%s : %s", name, VIP_TAG, Arg[1]) } return PLUGIN_HANDLED } else { new Arg[128], name[32], Temp = '"', Finded = false get_user_name(id, name, 31) read_args(Arg, 127) for(new i = 127; 0 < i <= 127; i--) { if(Finded) continue if(Arg[i] == Temp) { //server_print("%s - %c", Arg[i], Temp) Arg[i] = 0 Finded = true continue } //server_print("%d - %s", i, Arg[i]) } if(is_user_alive(id)) { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T && cs_get_user_team(id) == CS_TEAM_T) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y(Terrorist) !t%s !y: %s", name, Arg[1]) else if((is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT && cs_get_user_team(id) == CS_TEAM_CT) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y(Counter-Terrorist) !t%s !y: %s", name, Arg[1]) else if((is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_SPECTATOR && cs_get_user_team(id) == CS_TEAM_SPECTATOR) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y(Spectator) !t%s !y: %s", name, Arg[1]) } } else { for(new i = 1; i <= g_maxplayers; i++) { if(!is_user_connected(i)) continue if((!is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T && cs_get_user_team(id) == CS_TEAM_T) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y*DEAD* (Terrorist) !t%s !y: %s", name, Arg[1]) else if((!is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT && cs_get_user_team(id) == CS_TEAM_CT) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y*DEAD* (Counter-Terrorist) !t%s !y: %s", name, Arg[1]) else if((!is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_SPECTATOR && cs_get_user_team(id) == CS_TEAM_SPECTATOR) || (get_pcvar_num(moder_see) && get_user_flags(i) & MODER_FLAG) || (get_pcvar_num(admin_see) && get_user_flags(i) & ADMIN_FLAG)) PrintChatColor(i, PRINT_COLOR_PLAYERTEAM + id, "!y(Spectator) !t%s !y: %s", name, Arg[1]) } } } return PLUGIN_HANDLED } stock PrintChatColor(pReceiver, iColor = PRINT_COLOR_PLAYERTEAM, const szMessage[], any:...) { new szBuffer[256] new iArgs = numargs() if(pReceiver) { for(new iArg = 3; iArg < iArgs; iArg++) { if(getarg(iArg) != LANG_PLAYER) continue setarg(iArg, _, pReceiver) } vformat(szBuffer, 255, szMessage, 4) while (replace(szBuffer, 255, "!y", "^1")) {} while (replace(szBuffer, 255, "!t", "^3")) {} while (replace(szBuffer, 255, "!g", "^4")) {} if (iColor >= PRINT_COLOR_PLAYERTEAM) UTIL_SayText(MSG_ONE, _, pReceiver, (iColor > PRINT_COLOR_PLAYERTEAM) ? iColor - PRINT_COLOR_PLAYERTEAM : pReceiver, szBuffer) else { new iTeam = _:cs_get_user_team(pReceiver) if(iTeam % 3 == iColor) UTIL_SayText(MSG_ONE, _, pReceiver, pReceiver, szBuffer) else { UTIL_TeamInfo(MSG_ONE, _, pReceiver, pReceiver, g_aszTeamNames[iColor]) UTIL_SayText(MSG_ONE, _, pReceiver, pReceiver, szBuffer) UTIL_TeamInfo(MSG_ONE, _, pReceiver, pReceiver, g_aszTeamNames[iTeam]) } } } else { new aiChangeArgs[MAX_LANG_ARGS] new iChangeArgs, iArg for(iArg = 3; iArg < iArgs; iArg++) { if(getarg(iArg) != LANG_PLAYER) continue aiChangeArgs[iChangeArgs++] = iArg if (iChangeArgs == MAX_LANG_ARGS) break } new apPlayers[32] new iPlayers new pPlayer get_players(apPlayers, iPlayers) for(new i = 0; i < iPlayers; i++) { pPlayer = apPlayers[i] for(iArg = 0; iArg < iChangeArgs; iArg++) setarg(aiChangeArgs[iArg], _, pPlayer) vformat(szBuffer, 255, szMessage, 4) while (replace(szBuffer, 255, "!y", "^1")) {} while (replace(szBuffer, 255, "!t", "^3")) {} while (replace(szBuffer, 255, "!g", "^4")) {} if(iColor >= PRINT_COLOR_PLAYERTEAM) UTIL_SayText(MSG_ONE, _, pPlayer, (iColor > PRINT_COLOR_PLAYERTEAM) ? iColor - PRINT_COLOR_PLAYERTEAM : pPlayer, szBuffer) else { new iTeam = _:cs_get_user_team(pPlayer); if(iTeam % 3 == iColor) UTIL_SayText(MSG_ONE, _, pPlayer, pPlayer, szBuffer) else { UTIL_TeamInfo(MSG_ONE, _, pPlayer, pPlayer, g_aszTeamNames[iColor]) UTIL_SayText(MSG_ONE, _, pPlayer, pPlayer, szBuffer) UTIL_TeamInfo(MSG_ONE, _, pPlayer, pPlayer, g_aszTeamNames[iTeam]) } } } } } stock UTIL_SayText(iDest, const vecOrigin[3] = {0, 0, 0}, pEntity, pSender, const szMessage[], const szArg1[] = "", const szArg2[] = "") { static msgSayText if(!msgSayText) msgSayText = get_user_msgid("SayText") message_begin(iDest, msgSayText, vecOrigin, pEntity) write_byte(pSender) write_string(szMessage) if(szArg1[0]) { write_string(szArg1) if(szArg2[0]) write_string(szArg2) } message_end() } stock UTIL_TeamInfo(iDest, const vecOrigin[3] = { 0, 0, 0 }, pEntity, pPlayer, const szTeamName[]) { static msgTeamInfo if(!msgTeamInfo) msgTeamInfo = get_user_msgid("TeamInfo") message_begin(iDest, msgTeamInfo, vecOrigin, pEntity) write_byte(pPlayer) write_string(szTeamName) message_end() }