Raised This Month: $12 Target: $400
 3% 

[ADMIN], [MOD] and [VIP] tag


Post New Thread Reply   
 
Thread Tools Display Modes
saionaara
Member
Join Date: Jan 2009
Old 02-10-2011 , 02:08   Re: [ADMIN], [MOD] and [VIP] tag
Reply With Quote #31

Quote:
Originally Posted by Exolent[jNr] View Post
PHP Code:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Admin Chat Colors"
#define VERSION "2.0"
#define AUTHOR "Arion"

#define ACCESS_LEVEL ADMIN_IMMUNITY
#define ADMIN_LISTEN 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[][] = {
    
""// DO NOT REMOVE
    
"[ADMIN]",
    
"[MOD]",
    
"[VIP]",
    
"[YOUR NEW TAG]"
}

new const 
g_iTagFlag[sizeof(g_szTag)] = {
    
ADMIN_ALL// DO NOT REMOVE
    
ADMIN_IMMUNITY,
    
ADMIN_BAN,
    
ADMIN_RESERVATION,
    
ADMIN_LEVEL_B
}

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)

    
g_MessageColor register_cvar("amx_color""2"// Message colors: [1] Default Yellow, [2] Green, [3] White, [4] Blue, [5] Red
    
g_NameColor register_cvar("amx_namecolor""6"// 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(msgIdmsgDestreceiver)
{
    return 
PLUGIN_HANDLED
}

get_tag_index(id)
{
    new 
flags get_user_flags(id)
    
    for(new 
1sizeof(g_iTagFlag); i++)
    {
        if(
check_admin_flag(flagsg_iTagFlag[i]))
        {
            return 
i
        
}
    }
    
    return 
0
}

check_admin_flag(flagsflag)
{
    if(
flag == ADMIN_ADMIN)
    {
        return ((
flags & ~ADMIN_USER) > 0)
    }
    else if(
flag == ADMIN_ALL)
    {
        return 
1
    
}
    
    return (
flags flag)
}

public 
hook_say(id)
{
    
read_args(message191)
    
remove_quotes(message)

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

    
new name[32]
    
get_user_name(idname31)

    new 
admin get_tag_index(id)

    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(strName191"^x04%s %s%s"g_szTag[admin], alivename)
            case 
2:
                
format(strName191"^x04%s %s^x04%s "g_szTag[admin], alivename)
            case 
3:
            {
                
color "SPECTATOR"
                
format(strName191"^x04%s %s^x03%s "g_szTag[admin], alivename)
            }
            case 
4:
            {
                
color "CT"
                
format(strName191"^x04%s %s^x03%s"g_szTag[admin], alivename)
            }
            case 
5:
            {
                
color "TERRORIST"
                
format(strName191"^x04%s %s^x03%s"g_szTag[admin], alivename)
            }
            case 
6:
            {
                
get_user_team(idcolor9)
                
format(strName191"^x04%s %s^x03%s"g_szTag[admin], alivename)
            }
        }

        
// Message
        
switch(get_pcvar_num(g_MessageColor))
        {
            case 
1:    // Yellow
                
format(strText191"%s"message)
            case 
2:    // Green
                
format(strText191"^x04%s"message)
            case 
3:    // White
            
{
                
copy(color9"SPECTATOR")
                
format(strText191"^x03%s"message)
            }
            case 
4:    // Blue
            
{
                
copy(color9"CT")
                
format(strText191"^x03%s"message)
            }
            case 
5:    // Red
            
{
                
copy(color9"TERRORIST")
                
format(strText191"^x03%s"message)
            }
        }
    }
    else     
// Player is not admin. Team-color name : Yellow message
    
{
        
get_user_team(idcolor9)
        
format(strName191"%s^x03%s"alivename)
        
format(strText191"%s"message)
    }

    
format(message191"%s^x01 :  %s"strNamestrText)

    
sendMessage(colorisAlive)    // 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(playerTeamName11"Terrorists")

        case 
2:
            
copy(playerTeamName18"Counter-Terrorists")

        default:
            
copy(playerTeamName9"Spectator")
    }

    
read_args(message191)
    
remove_quotes(message)

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

    
new name[32]
    
get_user_name(idname31)

    new 
admin get_tag_index(id)

    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(strName191"%s(%s)^x04%s %s"aliveplayerTeamNameg_szTag[admin], name)
            case 
2:
                
format(strName191"%s(%s)^x04%s ^x04%s"aliveplayerTeamNameg_szTag[admin], name)
            case 
3:
            {
                
color "SPECTATOR"
                
format(strName191"%s(%s)^x04%s ^x03%s"aliveplayerTeamNameg_szTag[admin], name)
            }
            case 
4:
            {
                
color "CT"
                
format(strName191"%s(%s)^x04%s ^x03%s"aliveplayerTeamNameg_szTag[admin], name)
            }
            case 
5:
            {
                
color "TERRORIST"
                
format(strName191"%s(%s)^x04%s ^x03%s"aliveplayerTeamNameg_szTag[admin], name)
            }
            case 
6:
            {
                
get_user_team(idcolor9)
                
format(strName191"%s(%s)^x04%s ^x03%s"aliveplayerTeamNameg_szTag[admin], name)
            }
        }

        
// Message
        
switch(get_pcvar_num(g_MessageColor))
        {
            case 
1:    // Yellow
                
format(strText191"%s"message)
            case 
2:    // Green
                
format(strText191"^x04%s"message)
            case 
3:    // White
            
{
                
copy(color9"SPECTATOR")
                
format(strText191"^x03%s"message)
            }
            case 
4:    // Blue
            
{
                
copy(color9"CT")
                
format(strText191"^x03%s"message)
            }
            case 
5:    // Red
            
{
                
copy(color9"TERRORIST")
                
format(strText191"^x03%s"message)
            }
        }
    }
    else     
// Player is not admin. Team-color name : Yellow message
    
{
        
get_user_team(idcolor9)
        
format(strName191"%s(%s) ^x03%s"aliveplayerTeamNamename)
        
format(strText191"%s"message)
    }

    
format(message191"%s ^x01:  %s"strNamestrText)

    
sendTeamMessage(colorisAliveplayerTeam)    // Sends the colored message

    
return PLUGIN_CONTINUE
}


public 
set_color(idlevelcid)
{
    if(!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED

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

    
newColor str_to_num(arg)

    if(
newColor >= && newColor <= 5)
    {
        
set_pcvar_num(g_MessageColornewColor)

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

    return 
PLUGIN_HANDLED
}


public 
set_name_color(idlevelcid)
{
    if(!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED

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

    
newColor str_to_num(arg)

    if(
newColor >= && newColor <= 6)
    {
        
set_pcvar_num(g_NameColornewColor)

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

    return 
PLUGIN_HANDLED
}


public 
set_listen(idlevelcid)
{
    if(!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED

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

    
newListen str_to_num(arg)

    
set_pcvar_num(g_AdminListennewListen)

    return 
PLUGIN_HANDLED
}


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

    for(new 
player 1player maxPlayersplayer++)
    {
        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(playerteamName9)    // Stores user's team name to change back after sending the message
            
changeTeamInfo(playercolor)        // Changes user's team according to color choosen
            
writeMessage(playermessage)        // Writes the message on player's chat
            
changeTeamInfo(playerteamName)    // Changes user's team back to original
        
}
    }
}


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

    for(new 
player 1player maxPlayersplayer++)
    {
        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(playerteamName9)    // Stores user's team name to change back after sending the message
                
changeTeamInfo(playercolor)        // Changes user's team according to color choosen
                
writeMessage(playermessage)        // Writes the message on player's chat
                
changeTeamInfo(playerteamName)    // Changes user's team back to original
            
}
        }
    }
}


public 
changeTeamInfo(playerteam[])
{
    
message_begin(MSG_ONEteamInfo_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(playermessage[])
{
    
message_begin(MSG_ONEsayText, {000}, 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

Thanx alot Exolent[jNr] for trying but there seems to be little problem, this new tag is not working like should, i am the server owner and i want new tag to be [OWNER] what i already changed but the problem is that it still showing [ADMIN] to me...
Can you fix this please ? i think that owner should have custom flag "n"

Last edited by saionaara; 02-10-2011 at 02:23.
saionaara is offline
Joeyman
Member
Join Date: Dec 2010
Old 02-10-2011 , 05:03   Re: [ADMIN], [MOD] and [VIP] tag
Reply With Quote #32

can i help you?


look

if you want to appear the [OWNER] tag

change the [ADMIN] to the [OWNER] tag
and change the flag of your new tag to the admin flag you want

and

the [OWNER] stays with the Immunity flag
(i thing that is the flag you want)

and your say would be like that

[OWNER]saionaara:the message
Joeyman is offline
Send a message via AIM to Joeyman Send a message via Yahoo to Joeyman Send a message via Skype™ to Joeyman
saionaara
Member
Join Date: Jan 2009
Old 02-10-2011 , 06:02   Re: [ADMIN], [MOD] and [VIP] tag
Reply With Quote #33

I need to use all 4 for different access of players...

i have vips, admins, immunity admins and me the owner of the server, i cant change [ADMIN] to [OWNER] then this flag appears to all my server ordinari admins

i just need to add one more flag option for player who is using custom flag "n" then would appear [OWNER]

Last edited by saionaara; 02-10-2011 at 06:06.
saionaara is offline
Joeyman
Member
Join Date: Dec 2010
Old 02-10-2011 , 14:32   Re: [ADMIN], [MOD] and [VIP] tag
Reply With Quote #34

Fysiks

sorry
but what you have did
was something like this

Name with Team Color
and
Message with Green

and i want

Name with Spec color
and
Message with Team color

Last edited by Joeyman; 02-10-2011 at 17:35.
Joeyman is offline
Send a message via AIM to Joeyman Send a message via Yahoo to Joeyman Send a message via Skype™ to Joeyman
gladius
Veteran Member
Join Date: Jul 2008
Location: Santiago, Chile
Old 02-10-2011 , 15:03   Re: [ADMIN], [MOD] and [VIP] tag
Reply With Quote #35

Quote:
Originally Posted by saionaara View Post
I need to use all 4 for different access of players...

i have vips, admins, immunity admins and me the owner of the server, i cant change [ADMIN] to [OWNER] then this flag appears to all my server ordinari admins

i just need to add one more flag option for player who is using custom flag "n" then would appear [OWNER]
You can change all admin flags and place that are not used for anything important. Also your error that says "admin" is because you have the admin flag and that automatically makes you put in as admin instead of owner.

So if you are VIP you can't have admin flag or owner flag, etc. And the same goes for the others. (if you are Owner you can't have moderator flag, etc)

PD:I made a function like this in my kzmod and I use ADMIN_LEVEL_A, ADMIN_LEVEL_B and ADMIN_LEVEL_C
__________________
Proyects
Kreedz Chile Mod [100%] (Fixing some details).


Last edited by gladius; 02-10-2011 at 15:08.
gladius is offline
Send a message via MSN to gladius Send a message via Skype™ to gladius
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 02-10-2011 , 18:22   Re: [ADMIN], [MOD] and [VIP] tag
Reply With Quote #36

Quote:
Originally Posted by Joeyman View Post
Fysiks

sorry
but what you have did
was something like this

Name with Team Color
and
Message with Green

and i want

Name with Spec color
and
Message with Team color

Ok . . . I'm not so familiar with the colors so I will look into it.
__________________
fysiks is offline
Joeyman
Member
Join Date: Dec 2010
Old 02-10-2011 , 18:25   Re: [ADMIN], [MOD] and [VIP] tag
Reply With Quote #37

thanx
Joeyman is offline
Send a message via AIM to Joeyman Send a message via Yahoo to Joeyman Send a message via Skype™ to Joeyman
Exolent[jNr]
Veteran Member
Join Date: Feb 2007
Location: Tennessee
Old 02-10-2011 , 23:05   Re: [ADMIN], [MOD] and [VIP] tag
Reply With Quote #38

Quote:
Originally Posted by saionaara View Post
Thanx alot Exolent[jNr] for trying but there seems to be little problem, this new tag is not working like should, i am the server owner and i want new tag to be [OWNER] what i already changed but the problem is that it still showing [ADMIN] to me...
Can you fix this please ? i think that owner should have custom flag "n"
The tags go by importance, so the first one is the most important.
Add it above the [ADMIN] tag and move the flag above ADMIN_IMMUNITY and it should work.
__________________
No private work or selling mods.
Quote:
Originally Posted by xPaw View Post
I love you exolent!
Exolent[jNr] is offline
saionaara
Member
Join Date: Jan 2009
Old 02-11-2011 , 01:23   Re: [ADMIN], [MOD] and [VIP] tag
Reply With Quote #39

Thank you very much, its working now
saionaara is offline
dreamedward
Senior Member
Join Date: Aug 2010
Location: ZombieWorld
Old 02-11-2011 , 04:20   Re: [ADMIN], [MOD] and [VIP] tag
Reply With Quote #40

Excuse me but can someone tell me how can I make the messages from all tags to be showed like this:
[ADMIN] dreamedward : Hello, mates!
Thanks in advance!
dreamedward 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 04:37.


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