#include <amxmodx> #include <amxmisc> new g_iColor[33], g_iCSPrefix public plugin_init() { register_plugin(fmt("%L", LANG_SERVER, "PLUGIN_NAME"), "1.0", "Turán & aarpi") g_iCSPrefix = register_cvar("server_prefix", "Szerver Prefix") register_clcmd("say /szin", "menu_colormenu") register_clcmd("say_team /szin", "menu_colormenu") register_clcmd("say", "cmd_say") register_clcmd("say_team", "cmd_say_team") register_concmd("amx_chatcolor", "cmd_choosecolor", ADMIN_ALL, "<color> - sarga, szurke, piros, kek, zold") register_dictionary("chat.txt") } public cmd_choosecolor(iId, iLevel, iCid) { if(!cmd_access(iId, iLevel, iCid, 1)) return PLUGIN_HANDLED new sColor[32] read_args(sColor, charsmax(sColor)) remove_quotes(sColor) if(equal(sColor, fmt("%L", iId, "YELLOW_CMD"))) g_iColor[iId] = 0 else if(equal(sColor, fmt("%L", iId, "GREY_CMD"))) g_iColor[iId] = -1 else if(equal(sColor, fmt("%L", iId, "RED_CMD"))) g_iColor[iId] = -2 else if(equal(sColor, fmt("%L", iId, "BLUE_CMD"))) g_iColor[iId] = -3 else if(equal(sColor, fmt("%L", iId, "GREEN_CMD"))) g_iColor[iId] = -4 else { console_print(iId, "***************%L***************", iId, "ERROR") console_print(iId, "%L", iId, "BAD_COLOR") console_print(iId, "%L %L, %L, %L, %L, %L.", iId, "AVAILABLE_COLORS", iId, "YELLOW_CMD", iId, "GREY_CMD", iId, "RED_CMD", iId, "BLUE_CMD", iId, "GREEN_CMD") console_print(iId, "%L", iId, "USAGE") console_print(iId, "**********************************") return PLUGIN_HANDLED } console_print(iId, "%s %L", get_server_prefix(), iId, "COLOR_CHANGED") return PLUGIN_HANDLED } public menu_colormenu(iId) { new iMenu iMenu = menu_create(fmt("\r%s\d - %L", get_server_prefix(), iId, "MENU_TITLE"), "menu_colormenu_h") menu_additem(iMenu, fmt("%L", iId, "YELLOW"), "0",0); menu_additem(iMenu, fmt("%L", iId, "GREY"), "-1",0); menu_additem(iMenu, fmt("%L", iId, "RED"), "-2",0); menu_additem(iMenu, fmt("%L", iId, "BLUE"), "-3",0); menu_additem(iMenu, fmt("%L", iId, "GREEN"), "-4",0); menu_display(iId, iMenu, 0) } public menu_colormenu_h(iId, iMenu, iItem) { if(iItem == MENU_EXIT) { menu_destroy(iMenu) return PLUGIN_HANDLED } new sData[6], iAccess, sName[64] menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData), sName, charsmax(sName)) g_iColor[iId] = str_to_num(sData) replace_all(sName, charsmax(sName), "\d", "") replace_all(sName, charsmax(sName), "\r", "") replace_all(sName, charsmax(sName), "\w", "") replace_all(sName, charsmax(sName), "\y", "") client_print_color(iId, iId, "^4%s %L", get_server_prefix(), iId, "COLOR_CHANGED_MENU", sName) return PLUGIN_HANDLED } public cmd_say(iId) { new sMessage[192] read_args(sMessage, charsmax(sMessage)) remove_quotes(sMessage) if(strlen(sMessage) == 0 || sMessage[0] == '/') return PLUGIN_HANDLED new sColor[3], sDeath[16] if(g_iColor[iId] == 0) formatex(sColor, charsmax(sColor), "^1") else if(g_iColor[iId] == -4) formatex(sColor, charsmax(sColor), "^4") else formatex(sColor, charsmax(sColor), "^3") for(new i = 1; i <= get_maxplayers(); i++) { if(is_user_connected(i) && !is_user_bot(i)) { formatex(sDeath, charsmax(sDeath), is_user_alive(iId) ? "":"%L", i, "DEAD") client_print_color(i, g_iColor[iId], "%s^1%n:%s %s ", sDeath, iId, sColor, sMessage) } } return PLUGIN_HANDLED } public cmd_say_team(iId) { new sMessage[192] read_args(sMessage, charsmax(sMessage)) remove_quotes(sMessage) if(strlen(sMessage) == 0 || sMessage[0] == '/') return PLUGIN_HANDLED new sColor[3], sTeam[32], sDeath[16] if(g_iColor[iId] == 0) formatex(sColor, charsmax(sColor), "^1") else if(g_iColor[iId] == -4) formatex(sColor, charsmax(sColor), "^4") else formatex(sColor, charsmax(sColor), "^3") get_user_team(iId, sTeam, charsmax(sTeam)) for(new i = 1; i <= get_maxplayers(); i++) { if(get_user_team(iId) == get_user_team(i) || access(i, ADMIN_BAN) && is_user_connected(i) && !is_user_bot(i)) { formatex(sDeath, charsmax(sDeath), is_user_alive(iId) ? "":"%L", i, "DEAD") client_print_color(i, g_iColor[iId], "%s(%s) ^1%n:%s %s ", sDeath, sTeam, iId, sColor, sMessage) } } return PLUGIN_HANDLED } get_server_prefix() { new sPrefix[64] get_pcvar_string(g_iCSPrefix, sPrefix, charsmax(sPrefix)) return sPrefix }