This site is a testing version, but all data is shared with the live forum.


Raised This Month: $ Target: $400
 0% 

[REQ] Change Admin [HELP] Chat Color To Default (Yellow)


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
T0FF
Member
Join Date: Oct 2014
Location: Asia
Old 08-20-2015 , 10:43   [REQ] Change Admin [HELP] Chat Color To Default (Yellow)
Reply With Quote #1

Its Admin_Tag_Color plugin, have different tags like [Head Admin] , [Admin] , [Mod] , [VIP] , [Help]
Tags & nicks are green in color while the chat color is white.

I want somebody to edit it that the chat color of admin [Help] should be the default color (Yellow)).


Code:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Admin Chat Colors"
#define VERSION "2.2a"
#define AUTHOR "Arion/juan"

#define ACCESS_LEVEL		ADMIN_LEVEL_H
#define ADMIN_LISTEN		ADMIN_LEVEL_H
#define HEADADMIN_CHAT_FLAG 	ADMIN_IMMUNITY
#define ADMIN_CHAT_FLAG		ADMIN_LEVEL_E
#define VIP_CHAT_FLAG		ADMIN_LEVEL_F
#define SMS_CHAT_FLAG		ADMIN_LEVEL_G
#define HELP_CHAT_FLAG		ADMIN_LEVEL_C

new message[192]
new sayText
new teamInfo
new maxPlayers

new g_MessageColor
new g_NameColor
new g_AdminListen

new strName[191]
new strText[191]
new alive[11]

new const g_szTag[][] = {
        "",
        "[Head Admin]",
        "[Admin]",
        "[Mod]",
        "[VIP]",
        "[Help]"
}

public plugin_init()
{
        register_plugin(PLUGIN, VERSION, AUTHOR)

        g_MessageColor = register_cvar("amx_color", "3") // Message colors: [1] Default Yellow, [2] Green, [3] White, [4] Blue, [5] Red
        g_NameColor = register_cvar("amx_namecolor", "2") // Name colors: [1] Default Yellow, [2] Green, [3] White, [4] Blue, [5] Red, [6] Team-color
        g_AdminListen = register_cvar("amx_listen", "1") // Set whether admins see or not all messages(Alive, dead and team-only)


        sayText = get_user_msgid("SayText")
        teamInfo = get_user_msgid("TeamInfo")
        maxPlayers = get_maxplayers()


        register_message(sayText, "avoid_duplicated")

        register_concmd("amx_color", "set_color", ACCESS_LEVEL, "<color>")
        register_concmd("amx_namecolor", "set_name_color", ACCESS_LEVEL, "<color>")
        register_concmd("amx_listen", "set_listen", ACCESS_LEVEL, "<1 | 0>")
        register_clcmd("say", "hook_say")
        register_clcmd("say_team", "hook_teamsay")
}


public avoid_duplicated(msgId, msgDest, receiver)
{
        return PLUGIN_HANDLED
}


public hook_say(id)
{
        read_args(message, 191)
        remove_quotes(message)

        // Gungame commands and empty messages
        if(message[0] == '@' || message[0] == '/' || message[0] == '!' || message[0] == '#' || message[0] == '$' || equal(message, "")) // Ignores Admin Hud Messages, Admin Slash commands
                return PLUGIN_CONTINUE

        new name[32]
        get_user_name(id, name, 31)

        new admin = 0, iFlags = get_user_flags(id)

        if(iFlags & HEADADMIN_CHAT_FLAG)
                admin = 1
        else if(iFlags & ADMIN_CHAT_FLAG)
                admin = 2
        else if(iFlags & VIP_CHAT_FLAG)
                admin = 3
        else if(iFlags & SMS_CHAT_FLAG)
                admin = 4
        else if(iFlags & HELP_CHAT_FLAG)
                admin = 5

        new isAlive

        if(is_user_alive(id))
        {
                isAlive = 1
                alive = "^x01"
        }
        else
        {
                isAlive = 0
                alive = "^x01*DEAD* "
        }

        static color[10]

        if(admin)
        {
                // Name
                switch(get_pcvar_num(g_NameColor))
                {
                        case 1:
                                format(strName, 191, "^x03%s %s%s", g_szTag[admin], alive, name)
                        case 2:
                                format(strName, 191, "^x03%s %s^x04%s ", g_szTag[admin], alive, name)
                        case 3:
                        {
                                color = "SPECTATOR"
                                format(strName, 191, "^x03%s %s^x03%s ", g_szTag[admin], alive, name)
                        }
                        case 4:
                        {
                                color = "CT"
                                format(strName, 191, "^x03%s %s^x03%s", g_szTag[admin], alive, name)
                        }
                        case 5:
                        {
                                color = "TERRORIST"
                                format(strName, 191, "^x03%s %s^x03%s", g_szTag[admin], alive, name)
                        }
                        case 6:
                        {
                                get_user_team(id, color, 9)
                                format(strName, 191, "^x03%s %s^x03%s", g_szTag[admin], alive, name)
                        }
                }

                // Message
                switch(get_pcvar_num(g_MessageColor))
                {
                        case 1:    // Yellow
                                format(strText, 191, "^x03%s", message)
                        case 2:    // Green
                                format(strText, 191, "^x03%s", message)
                        case 3:    // White
                        {
                                copy(color, 9, "SPECTATOR")
                                format(strText, 191, "^x03%s", message)
                        }
                        case 4:    // Blue
                        {
                                copy(color, 9, "CT")
                                format(strText, 191, "^x03%s", message)
                        }
                        case 5:    // Red
                        {
                                copy(color, 9, "TERRORIST")
                                format(strText, 191, "^x03%s", message)
                        }
                }
        }
        else     // Player is not admin. Team-color name : Yellow message
        {
                get_user_team(id, color, 9)
                format(strName, 191, "%s^x03%s", alive, name)
                format(strText, 191, "%s", message)
        }

        format(message, 191, "%s^x01 :  %s", strName, strText)

        sendMessage(color, isAlive)    // Sends the colored message

        return PLUGIN_CONTINUE
}


public hook_teamsay(id)
{
        new playerTeam = get_user_team(id)
        new playerTeamName[19]

        switch(playerTeam) // Team names which appear on team-only messages
        {
                case 1:
                        copy(playerTeamName, 11, "Terrorists")

                case 2:
                        copy(playerTeamName, 18, "Counter-Terrorists")

                default:
                        copy(playerTeamName, 9, "Spectator")
        }

        read_args(message, 191)
        remove_quotes(message)

        // Gungame commands and empty messages
        if(message[0] == '@' || message[0] == '/' || message[0] == '!' || message[0] == '#' || message[0] == '$' || equal(message, "")) // Ignores Admin Hud Messages, Admin Slash commands
                return PLUGIN_CONTINUE

        new name[32]
        get_user_name(id, name, 31)

        new admin = 0, iFlags = get_user_flags(id)

        if(iFlags & HEADADMIN_CHAT_FLAG)
                admin = 1
        else if(iFlags & ADMIN_CHAT_FLAG)
                admin = 2
        else if(iFlags & VIP_CHAT_FLAG)
                admin = 3
        else if(iFlags & SMS_CHAT_FLAG)
                admin = 4
        else if(iFlags & HELP_CHAT_FLAG)
                admin = 5

        new isAlive

        if(is_user_alive(id))
        {
                isAlive = 1
                alive = "^x01"
        }
        else
        {
                isAlive = 0
                alive = "^x01*DEAD* "
        }

        static color[10]

        if(admin)
        {
                // Name
                switch(get_pcvar_num(g_NameColor))
                {
                        case 1:
                                format(strName, 191, "%s(%s) ^x03%s %s", alive, playerTeamName, g_szTag[admin], name)
                        case 2:
                                format(strName, 191, "%s(%s) ^x03%s ^x04%s", alive, playerTeamName, g_szTag[admin], name)
                        case 3:
                        {
                                color = "SPECTATOR"
                                format(strName, 191, "%s(%s) ^x03%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
                        }
                        case 4:
                        {
                                color = "CT"
                                format(strName, 191, "%s(%s) ^x03%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
                        }
                        case 5:
                        {
                                color = "TERRORIST"
                                format(strName, 191, "%s(%s) ^x03%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
                        }
                        case 6:
                        {
                                get_user_team(id, color, 9)
                                format(strName, 191, "%s(%s) ^x03%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
                        }
                }

                // Message
                switch(get_pcvar_num(g_MessageColor))
                {
                        case 1:    // Yellow
                                format(strText, 191, "^x03%s", message)
                        case 2:    // Green
                                format(strText, 191, "^x03%s", message)
                        case 3:    // White
                        {
                                copy(color, 9, "SPECTATOR")
                                format(strText, 191, "^x03%s", message)
                        }
                        case 4:    // Blue
                        {
                                copy(color, 9, "CT")
                                format(strText, 191, "^x03%s", message)
                        }
                        case 5:    // Red
                        {
                                copy(color, 9, "TERRORIST")
                                format(strText, 191, "^x03%s", message)
                        }
                }
        }
        else     // Player is not admin. Team-color name : Yellow message
        {
                get_user_team(id, color, 9)
                format(strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
                format(strText, 191, "%s", message)
        }

        format(message, 191, "%s ^x01:  %s", strName, strText)

        sendTeamMessage(color, isAlive, playerTeam)    // Sends the colored message

        return PLUGIN_CONTINUE
}


public set_color(id, level, cid)
{
        if(!cmd_access(id, level, cid, 2))
                return PLUGIN_HANDLED

        new arg[1], newColor
        read_argv(1, arg, 1)

        newColor = str_to_num(arg)

        if(newColor >= 1 && newColor <= 5)
        {
                set_pcvar_num(g_MessageColor, newColor)

                if(get_pcvar_num(g_NameColor) != 1 &&
                        ((newColor == 3 &&  get_pcvar_num(g_NameColor) != 3)
                        ||(newColor == 4 &&  get_pcvar_num(g_NameColor) != 4)
                        ||(newColor == 5 &&  get_pcvar_num(g_NameColor) != 5)))
                {
                        set_pcvar_num(g_NameColor, 2)
                }
        }

        return PLUGIN_HANDLED
}


public set_name_color(id, level, cid)
{
        if(!cmd_access(id, level, cid, 2))
                return PLUGIN_HANDLED

        new arg[1], newColor
        read_argv(1, arg, 1)

        newColor = str_to_num(arg)

        if(newColor >= 1 && newColor <= 6)
        {
                set_pcvar_num(g_NameColor, newColor)

                if((get_pcvar_num(g_MessageColor) != 1
                        &&((newColor == 3 &&  get_pcvar_num(g_MessageColor) != 3)
                        ||(newColor == 4 &&  get_pcvar_num(g_MessageColor) != 4)
                        ||(newColor == 5 &&  get_pcvar_num(g_MessageColor) != 5)))
                        || get_pcvar_num(g_NameColor) == 6)
                {
                        set_pcvar_num(g_MessageColor, 2)
                }
        }

        return PLUGIN_HANDLED
}


public set_listen(id, level, cid)
{
        if(!cmd_access(id, level, cid, 2))
                return PLUGIN_HANDLED

        new arg[1], newListen
        read_argv(1, arg, 1)

        newListen = str_to_num(arg)

        set_pcvar_num(g_AdminListen, newListen)

        return PLUGIN_HANDLED
}


public sendMessage(color[], alive)
{
        new teamName[10]

        for(new player = 1; player < maxPlayers; player++)
        {
                if(!is_user_connected(player))
                        continue

                if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
                {
                        get_user_team(player, teamName, 9)    // Stores user's team name to change back after sending the message
                        changeTeamInfo(player, color)        // Changes user's team according to color choosen
                        writeMessage(player, message)        // Writes the message on player's chat
                        changeTeamInfo(player, teamName)    // Changes user's team back to original
                }
        }
}


public sendTeamMessage(color[], alive, playerTeam)
{
        new teamName[10]

        for(new player = 1; player < maxPlayers; player++)
        {
                if(!is_user_connected(player))
                        continue

                if(get_user_team(player) == playerTeam || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
                {
                        if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
                        {
                                get_user_team(player, teamName, 9)    // Stores user's team name to change back after sending the message
                                changeTeamInfo(player, color)        // Changes user's team according to color choosen
                                writeMessage(player, message)        // Writes the message on player's chat
                                changeTeamInfo(player, teamName)    // Changes user's team back to original
                        }
                }
        }
}


public changeTeamInfo(player, team[])
{
        message_begin(MSG_ONE, teamInfo, _, player)    // Tells to to modify teamInfo(Which is responsable for which time player is)
        write_byte(player)                // Write byte needed
        write_string(team)                // Changes player's team
        message_end()                    // Also Needed
}


public writeMessage(player, message[])
{
        message_begin(MSG_ONE, sayText, {0, 0, 0}, player)    // Tells to modify sayText(Which is responsable for writing colored messages)
        write_byte(player)                    // Write byte needed
        write_string(message)                    // Effectively write the message, finally, afterall
        message_end()                        // Needed as always
}
Thanks in advance!

Last edited by T0FF; 08-26-2015 at 18:33.
T0FF is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 19:04.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode