HLMOD.HU Forrás Megtekintés
- www.hlmod.hu#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
}