Raised This Month: $ Target: $400
 0% 

[HELP]Colours in chat!


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
lagger
Member
Join Date: Feb 2011
Location: Latvia
Old 04-24-2012 , 15:56   [HELP]Colours in chat!
Reply With Quote #1

Hello.
I added a code to an admincmd who addes color to a text in admincmd lang file.

Code what i added:
PHP Code:
stock ChatColor(const id, const input[], any:...)
{
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msg190input3)
    
    
replace_all(msg190"!g""^4"// Green Color
    
replace_all(msg190"!y""^1"// Default Color
    
replace_all(msg190"!t""^3"// Team Color
    
    
if (idplayers[0] = id; else get_players(playerscount"ch"
    {
        for ( new 
0counti++ )
        {
            if ( 
is_user_connected(players[i]) )
            {
                
message_begin(MSG_ONE_UNRELIABLESayText_players[i])
                
write_byte(players[i]);
                
write_string(msg);
                
message_end();
            }
        }
    }

When i add to lang file things like !g !t !y the colour won't changes.It's still the same(yellow)
Someone know how can i make these colours in chat work?
Here is my full code of admincmd.sma

PHP Code:
/* AMX Mod X
*   Admin Commands Plugin
*
* by the AMX Mod X Development Team
*  originally developed by OLO
*
* This file is part of AMX Mod X.
*
*
*  This program is free software; you can redistribute it and/or modify it
*  under the terms of the GNU General Public License as published by the
*  Free Software Foundation; either version 2 of the License, or (at
*  your option) any later version.
*
*  This program is distributed in the hope that it will be useful, but
*  WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
*  General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program; if not, write to the Free Software Foundation, 
*  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*  In addition, as a special exception, the author gives permission to
*  link the code of this program with the Half-Life Game Engine ("HL
*  Engine") and Modified Game Libraries ("MODs") developed by Valve, 
*  L.L.C ("Valve"). You must obey the GNU General Public License in all
*  respects for all of the code used other than the HL Engine and MODs
*  from Valve. If you modify this file, you may extend this exception
*  to your version of the file, but you are not obligated to do so. If
*  you do not wish to do so, delete this exception statement from your
*  version.
*/

#include <amxmodx>
#include <amxmisc>

// This is not a dynamic array because it would be bad for 24/7 map servers.
#define OLD_CONNECTION_QUEUE 10

new g_pauseCon
new Float:g_pausAble
new bool:g_Paused
new bool:g_PauseAllowed false
new g_addCvar[] = "amx_cvar add %s"

new pausable;
new 
rcon_password;

// Old connection queue
new g_Names[OLD_CONNECTION_QUEUE][32];
new 
g_SteamIDs[OLD_CONNECTION_QUEUE][32];
new 
g_IPs[OLD_CONNECTION_QUEUE][32];
new 
g_Access[OLD_CONNECTION_QUEUE];
new 
g_Tracker;
new 
g_Size;

stock InsertInfo(id)
{
    
    
// Scan to see if this entry is the last entry in the list
    // If it is, then update the name and access
    // If it is not, then insert it again.

    
if (g_Size 0)
    {
        new 
ip[32]
        new 
auth[32];

        
get_user_authid(idauthcharsmax(auth));
        
get_user_ip(idipcharsmax(ip), 1/*no port*/);

        new 
last 0;
        
        if (
g_Size sizeof(g_SteamIDs))
        {
            
last g_Size 1;
        }
        else
        {
            
last g_Tracker 1;
            
            if (
last 0)
            {
                
last g_Size 1;
            }
        }
        
        if (
equal(authg_SteamIDs[last]) &&
            
equal(ipg_IPs[last])) // need to check ip too, or all the nosteams will while it doesn't work with their illegitimate server
        
{
            
get_user_name(idg_Names[last], charsmax(g_Names[]));
            
g_Access[last] = get_user_flags(id);
            
            return;
        }
    }
    
    
// Need to insert the entry
    
    
new target 0;  // the slot to save the info at

    // Queue is not yet full
    
if (g_Size sizeof(g_SteamIDs))
    {
        
target g_Size;
        
        ++
g_Size;
        
    }
    else
    {
        
target g_Tracker;
        
        ++
g_Tracker;
        
// If we reached the end of the array, then move to the front
        
if (g_Tracker == sizeof(g_SteamIDs))
        {
            
g_Tracker 0;
        }
    }
    
    
get_user_authid(idg_SteamIDs[target], charsmax(g_SteamIDs[]));
    
get_user_name(idg_Names[target], charsmax(g_Names[]));
    
get_user_ip(idg_IPs[target], charsmax(g_IPs[]), 1/*no port*/);
    
    
g_Access[target] = get_user_flags(id);

}
stock GetInfo(iname[], namesizeauth[], authsizeip[], ipsize, &access)
{
    if (
>= g_Size)
    {
        
abort(AMX_ERR_NATIVE"GetInfo: Out of bounds (%d:%d)"ig_Size);
    }
    
    new 
target = (g_Tracker i) % sizeof(g_SteamIDs);
    
    
copy(namenamesizeg_Names[target]);
    
copy(authauthsizeg_SteamIDs[target]);
    
copy(ip,   ipsize,   g_IPs[target]);
    
access g_Access[target];
    
}
public 
client_disconnect(id)
{
    if (!
is_user_bot(id))
    {
        
InsertInfo(id);
    }
}

public 
plugin_init()
{
    
register_plugin("Admin Commands"AMXX_VERSION_STR"AMXX Dev Team")

    
register_dictionary("admincmd.txt")
    
register_dictionary("common.txt")
    
register_dictionary("adminhelp.txt")
    
    
    
register_concmd("amx_kick""cmdKick"ADMIN_KICK"<name or #userid> [reason]")
    
register_concmd("amx_ban""cmdBan"ADMIN_BAN"<name or #userid> <minutes> [reason]")
    
register_concmd("amx_banip""cmdBanIP"ADMIN_BAN"<name or #userid> <minutes> [reason]")
    
register_concmd("amx_addban""cmdAddBan"ADMIN_BAN"<^"authid^" or ip> <minutes> [reason]")
    
register_concmd("amx_unban""cmdUnban"ADMIN_BAN"<^"authid^" or ip>")
    
register_concmd("amx_slay""cmdSlay"ADMIN_SLAY"<name or #userid>")
    
register_concmd("amx_slap""cmdSlap"ADMIN_SLAY"<name or #userid> [power]")
    
register_concmd("amx_leave""cmdLeave"ADMIN_KICK"<tag> [tag] [tag] [tag]")
    
register_concmd("amx_pause""cmdPause"ADMIN_CVAR"- pause or unpause the game")
    
register_concmd("amx_who""cmdWho"ADMIN_ADMIN"- displays who is on server")
    
register_concmd("amx_cvar""cmdCvar"ADMIN_CVAR"<cvar> [value]")
    
register_concmd("amx_plugins""cmdPlugins"ADMIN_ADMIN)
    
register_concmd("amx_modules""cmdModules"ADMIN_ADMIN)
    
register_concmd("amx_map""cmdMap"ADMIN_MAP"<mapname>")
    
register_concmd("amx_cfg""cmdCfg"ADMIN_CFG"<filename>")
    
register_concmd("amx_nick""cmdNick"ADMIN_SLAY"<name or #userid> <new nick>")
    
register_concmd("amx_last""cmdLast"ADMIN_BAN"- list the last few disconnected clients info");
    
register_clcmd("amx_rcon""cmdRcon"ADMIN_RCON"<command line>")
    
register_clcmd("amx_showrcon""cmdShowRcon"ADMIN_RCON"<command line>")
    
register_clcmd("pauseAck""cmdLBack")


    
rcon_password=get_cvar_pointer("rcon_password");
    
pausable=get_cvar_pointer("pausable");
    
    
}

public 
plugin_cfg()
{
    
// Cvars which can be changed only with rcon access
    
server_cmd(g_addCvar"rcon_password")
    
server_cmd(g_addCvar"amx_show_activity")
    
server_cmd(g_addCvar"amx_mode")
    
server_cmd(g_addCvar"amx_password_field")
    
server_cmd(g_addCvar"amx_default_access")
    
server_cmd(g_addCvar"amx_reserved_slots")
    
server_cmd(g_addCvar"amx_reservation")
    
server_cmd(g_addCvar"amx_sql_table");
    
server_cmd(g_addCvar"amx_sql_host");
    
server_cmd(g_addCvar"amx_sql_user");
    
server_cmd(g_addCvar"amx_sql_pass");
    
server_cmd(g_addCvar"amx_sql_db");
    
server_cmd(g_addCvar"amx_sql_type");

}

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

    
new arg[32]
    
read_argv(1arg31)
    new 
player cmd_target(idargCMDTARGET_OBEY_IMMUNITY CMDTARGET_ALLOW_SELF)
    
    if (!
player)
        return 
PLUGIN_HANDLED
    
    
new authid[32], authid2[32], name2[32], name[32], userid2reason[32]
    
    
get_user_authid(idauthid31)
    
get_user_authid(playerauthid231)
    
get_user_name(playername231)
    
get_user_name(idname31)
    
userid2 get_user_userid(player)
    
read_argv(2reason31)
    
remove_quotes(reason)
    
    
log_amx("Kick: ^"%s<%d><%s><>^" kick ^"%s<%d><%s><>^" (reason ^"%s^")"nameget_user_userid(id), authidname2userid2authid2reason)

    
show_activity_key("ADMIN_KICK_1""ADMIN_KICK_2"namename2);

    if (
is_user_bot(player))
        
server_cmd("kick #%d"userid2)
    else
    {
        if (
reason[0])
            
server_cmd("kick #%d ^"%s^""userid2reason)
        else
            
server_cmd("kick #%d"userid2)
    }
    
    
console_print(id"[AMXX] Client ^"%s^" kicked"name2)
    
    return 
PLUGIN_HANDLED
}

public 
cmdUnban(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new arg[32], authid[32], name[32]
    
    
read_argv(1arg31)
    
    if (
contain(arg".") != -1)
    {
        
server_cmd("removeip ^"%s^";writeip"arg)
        
console_print(id"[AMXX] %L"id"IP_REMOVED"arg)
    } else {
        
server_cmd("removeid %s;writeid"arg)
        
console_print(id"[AMXX] %L"id"AUTHID_REMOVED"arg)
    }

    
get_user_name(idname31)

    
show_activity_key("ADMIN_UNBAN_1""ADMIN_UNBAN_2"namearg);

    
get_user_authid(idauthid31)
    
log_amx("Cmd: ^"%s<%d><%s><>^" unban ^"%s^""nameget_user_userid(id), authidarg)
    
    return 
PLUGIN_HANDLED
}

/* amx_addban is a special command now.
 * If a user with rcon uses it, it bans the user.  No questions asked.
 * If a user without rcon but with ADMIN_BAN uses it, it will scan the old
 * connection queue, and if it finds the info for a player in it, it will
 * check their old access.  If they have immunity, it will not ban.
 * If they do not have immunity, it will ban.  If the user is not found,
 * it will refuse to ban the target.
 */
 
public cmdAddBan(idlevelcid)
{
    if (!
cmd_access(idlevelcid3true)) // check for ADMIN_BAN access
    
{
        if (
get_user_flags(id) & level// Getting here means they didn't input enough args
        
{
            return 
PLUGIN_HANDLED;
        }
        if (!
cmd_access(idADMIN_RCONcid3)) // If somehow they have ADMIN_RCON without ADMIN_BAN, continue
        
{
            return 
PLUGIN_HANDLED;
        }
    }

    new 
arg[32], authid[32], name[32], minutes[32], reason[32]
    
    
read_argv(1arg31)
    
read_argv(2minutes31)
    
read_argv(3reason31)
    
    
    if (!(
get_user_flags(id) & ADMIN_RCON))
    {
        new 
bool:canban false;
        new 
bool:isip false;
        
// Limited access to this command
        
if (equali(arg"STEAM_ID_PENDING") ||
            
equali(arg"STEAM_ID_LAN") ||
            
equali(arg"HLTV") ||
            
equali(arg"4294967295") ||
            
equali(arg"VALVE_ID_LAN") ||
            
equali(arg"VALVE_ID_PENDING"))
        {
            
// Hopefully we never get here, so ML shouldn't be needed
            
console_print(id"Cannot ban %s"arg);
            return 
PLUGIN_HANDLED;
        }
        
        if (
contain(arg".") != -1)
        {
            
isip true;
        }
        
        
// Scan the disconnection queue
        
if (isip)
        {
            new 
IP[32];
            new 
Name[32];
            new 
dummy[1];
            new 
Access;
            for (new 
0g_Sizei++)
            {
                
GetInfo(iNamecharsmax(Name), dummy0IPcharsmax(IP), Access);
                
                if (
equal(IParg))
                {
                    if (
Access ADMIN_IMMUNITY)
                    {
                        
console_print(id"[AMXX] %s : %L"IPid"CLIENT_IMM"Name);
                        
                        return 
PLUGIN_HANDLED;
                    }
                    
// User did not have immunity
                    
canban true;
                }
            }
        }
        else
        {
            new 
Auth[32];
            new 
Name[32];
            new 
dummy[1];
            new 
Access;
            for (new 
0g_Sizei++)
            {
                
GetInfo(iNamecharsmax(Name), Authcharsmax(Auth), dummy0Access);
                
                if (
equal(Autharg))
                {
                    if (
Access ADMIN_IMMUNITY)
                    {
                        
console_print(id"[AMXX] %s : %L"Authid"CLIENT_IMM"Name);
                        
                        return 
PLUGIN_HANDLED;
                    }
                    
// User did not have immunity
                    
canban true;
                }
            }
        }
        
        if (!
canban)
        {
            
console_print(id"[AMXX] You may only ban recently disconnected clients.  Use ^"amx_last^" to view.");
            
            return 
PLUGIN_HANDLED;
        }
        
    }
    
    
// User has access to ban their target
    
if (contain(arg".") != -1)
    {
        
server_cmd("addip ^"%s^" ^"%s^";wait;writeip"minutesarg)
        
console_print(id"[AMXX] Ip ^"%s^" added to ban list"arg)
    } else {
        
server_cmd("banid ^"%s^" ^"%s^";wait;writeid"minutesarg)
        
console_print(id"[AMXX] Authid ^"%s^" added to ban list"arg)
    }

    
get_user_name(idname31)

    
show_activity_key("ADMIN_ADDBAN_1""ADMIN_ADDBAN_2"namearg);

    
get_user_authid(idauthid31)
    
log_amx("Cmd: ^"%s<%d><%s><>^" ban ^"%s^" (minutes ^"%s^") (reason ^"%s^")"nameget_user_userid(id), authidargminutesreason)

    return 
PLUGIN_HANDLED
}

public 
cmdBan(idlevelcid)
{
    if (!
cmd_access(idlevelcid3))
        return 
PLUGIN_HANDLED

    
new target[32], minutes[8], reason[64]
    
    
read_argv(1target31)
    
read_argv(2minutes7)
    
read_argv(3reason63)
    
    new 
player cmd_target(idtargetCMDTARGET_OBEY_IMMUNITY CMDTARGET_NO_BOTS CMDTARGET_ALLOW_SELF)
    
    if (!
player)
        return 
PLUGIN_HANDLED

    
new authid[32], name2[32], authid2[32], name[32]
    new 
userid2 get_user_userid(player)

    
get_user_authid(playerauthid231)
    
get_user_authid(idauthid31)
    
get_user_name(playername231)
    
get_user_name(idname31)
    
    
log_amx("Ban: ^"%s<%d><%s><>^" ban and kick ^"%s<%d><%s><>^" (minutes ^"%s^") (reason ^"%s^")"nameget_user_userid(id), authidname2userid2authid2minutesreason)
    
    new 
temp[64], banned[16], nNum str_to_num(minutes)
    if (
nNum)
        
format(temp63"%L"player"FOR_MIN"minutes)
    else
        
format(temp63"%L"player"PERM")

    
format(banned15"%L"player"BANNED")

    if (
reason[0])
        
server_cmd("kick #%d ^"%(%%s)^";wait;banid ^"%s^" ^"%s^";wait;writeid"userid2reasonbannedtempminutesauthid2)
    else
        
server_cmd("kick #%d ^"%%s^";wait;banid ^"%s^" ^"%s^";wait;writeid"userid2bannedtempminutesauthid2)

    
    
// Display the message to all clients

    
new msg[256];
    new 
len;
    new 
maxpl get_maxplayers();
    for (new 
1<= maxpli++)
    {
        if (
is_user_connected(i) && !is_user_bot(i))
        {
            
len formatex(msgcharsmax(msg), "%L"i"BAN");
            
len += formatex(msg[len], charsmax(msg) - len" %s "name2);
            if (
nNum)
            {
                
len += formatex(msg[len], charsmax(msg) - len"%L"i"FOR_MIN"minutes);
            }
            else
            {
                
len += formatex(msg[len], charsmax(msg) - len"%L"i"PERM");
            }
            if (
strlen(reason) > 0)
            {
                
formatex(msg[len], charsmax(msg) - len" (%L: %s)"i"REASON"reason);
            }
            
show_activity_id(iidnamemsg);
        }
    }
    
    
console_print(id"[AMXX] %L"id"CLIENT_BANNED"name2)
    
    return 
PLUGIN_HANDLED
}

public 
cmdBanIP(idlevelcid)
{
    if (!
cmd_access(idlevelcid3))
        return 
PLUGIN_HANDLED
    
    
new target[32], minutes[8], reason[64]
    
    
read_argv(1target31)
    
read_argv(2minutes7)
    
read_argv(3reason63)
    
    new 
player cmd_target(idtargetCMDTARGET_OBEY_IMMUNITY CMDTARGET_NO_BOTS CMDTARGET_ALLOW_SELF)
    
    if (!
player)
    {
        
// why is this here?
        // no idea
        // player = cmd_target(id, target, 9);
        
return PLUGIN_HANDLED
    
}
    
    new 
authid[32], name2[32], authid2[32], name[32]
    new 
userid2 get_user_userid(player)
    
    
get_user_authid(playerauthid231)
    
get_user_authid(idauthid31)
    
get_user_name(playername231)
    
get_user_name(idname31)
    
    
log_amx("Ban: ^"%s<%d><%s><>^" ban and kick ^"%s<%d><%s><>^" (minutes ^"%s^") (reason ^"%s^")"nameget_user_userid(id), authidname2userid2authid2minutesreason)

    new 
temp[64], banned[16], nNum str_to_num(minutes)
    if (
nNum)
        
format(temp63"%L"player"FOR_MIN"minutes)
    else
        
format(temp63"%L"player"PERM")
    
format(banned15"%L"player"BANNED")

    new 
address[32]
    
get_user_ip(playeraddress311)

    if (
reason[0])
        
server_cmd("kick #%d ^"%(%%s)^";wait;addip ^"%s^" ^"%s^";wait;writeip"userid2reasonbannedtempminutesaddress)
    else
        
server_cmd("kick #%d ^"%%s^";wait;addip ^"%s^" ^"%s^";wait;writeip"userid2bannedtempminutesaddress)

    
// Display the message to all clients

    
new msg[256];
    new 
len;
    new 
maxpl get_maxplayers();
    for (new 
1<= maxpli++)
    {
        if (
is_user_connected(i) && !is_user_bot(i))
        {
            
len formatex(msgcharsmax(msg), "%L"i"BAN");
            
len += formatex(msg[len], charsmax(msg) - len" %s "name2);
            if (
nNum)
            {
                
formatex(msg[len], charsmax(msg) - len"%L"i"FOR_MIN"minutes);
            }
            else
            {
                
formatex(msg[len], charsmax(msg) - len"%L"i"PERM");
            }
            if (
strlen(reason) > 0)
            {
                
formatex(msg[len], charsmax(msg) - len" (%L: %s)"i"REASON"reason);
            }
            
show_activity_id(iidnamemsg);
        }
    }

    
console_print(id"[AMXX] %L"id"CLIENT_BANNED"name2)
    
    return 
PLUGIN_HANDLED
}

public 
cmdSlay(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new arg[32]
    
    
read_argv(1arg31)
    
    new 
player cmd_target(idargCMDTARGET_OBEY_IMMUNITY CMDTARGET_ALLOW_SELF CMDTARGET_ONLY_ALIVE)
    
    if (!
player)
        return 
PLUGIN_HANDLED
    
    user_kill
(player)
    
    new 
authid[32], name2[32], authid2[32], name[32]
    
    
get_user_authid(idauthid31)
    
get_user_name(idname31)
    
get_user_authid(playerauthid231)
    
get_user_name(playername231)
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" slay ^"%s<%d><%s><>^""nameget_user_userid(id), authidname2get_user_userid(player), authid2)

    
show_activity_key("ADMIN_SLAY_1""ADMIN_SLAY_2"namename2);

    
console_print(id"[AMXX] %L"id"CLIENT_SLAYED"name2)
    
    return 
PLUGIN_HANDLED
}

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

    
new arg[32]
    
    
read_argv(1arg31)
    new 
player cmd_target(idargCMDTARGET_OBEY_IMMUNITY CMDTARGET_ALLOW_SELF CMDTARGET_ONLY_ALIVE)
    
    if (!
player)
        return 
PLUGIN_HANDLED

    
new spower[32], authid[32], name2[32], authid2[32], name[32]
    
    
read_argv(2spower31)
    
    new 
damage str_to_num(spower)
    
    
user_slap(playerdamage)
    
    
get_user_authid(idauthid31)
    
get_user_name(idname31)
    
get_user_authid(playerauthid231)
    
get_user_name(playername231)
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" slap with %d damage ^"%s<%d><%s><>^""nameget_user_userid(id), authiddamagename2get_user_userid(player), authid2)

    
show_activity_key("ADMIN_SLAP_1""ADMIN_SLAP_2"namename2damage);

    
console_print(id"[AMXX] %L"id"CLIENT_SLAPED"name2damage)
    
    return 
PLUGIN_HANDLED
}

public 
chMap(map[])
{
    
server_cmd("changelevel %s"map)
}

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

    
new arg[32]
    new 
arglen read_argv(1arg31)
    
    if (!
is_map_valid(arg))
    {
        
console_print(id"[AMXX] %L"id"MAP_NOT_FOUND")
        return 
PLUGIN_HANDLED
    
}

    new 
authid[32], name[32]
    
    
get_user_authid(idauthid31)
    
get_user_name(idname31)
    
    
show_activity_key("ADMIN_MAP_1""ADMIN_MAP_2"namearg);
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" changelevel ^"%s^""nameget_user_userid(id), authidarg)
    
    new 
_modName[10]
    
get_modname(_modName9)
    
    if (!
equal(_modName"zp"))
    {
        
message_begin(MSG_ALLSVC_INTERMISSION)
        
message_end()
    }
    
    
set_task(2.0"chMap"0argarglen 1)
    
    return 
PLUGIN_HANDLED
}

stock bool:onlyRcon(const name[])
{
    new 
ptr=get_cvar_pointer(name);
    if (
ptr && get_pcvar_flags(ptr) & FCVAR_PROTECTED)
    {
        return 
true;
    }
    return 
false;
}

public 
cmdCvar(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new arg[32], arg2[64]
    
    
read_argv(1arg31)
    
read_argv(2arg263)
    
    new 
pointer;
    
    if (
equal(arg"add") && (get_user_flags(id) & ADMIN_RCON))
    {
        if ((
pointer=get_cvar_pointer(arg2))!=0)
        {
            new 
flags=get_pcvar_flags(pointer);
            
            if (!(
flags FCVAR_PROTECTED))
            {
                
set_pcvar_flags(pointer,flags FCVAR_PROTECTED);
            }
        }
        return 
PLUGIN_HANDLED
    
}
    
    if ((
pointer=get_cvar_pointer(arg))==0)
    {
        
console_print(id"[AMXX] %L"id"UNKNOWN_CVAR"arg)
        return 
PLUGIN_HANDLED
    
}
    
    if (
onlyRcon(arg) && !(get_user_flags(id) & ADMIN_RCON))
    {
        
// Exception for the new onlyRcon rules:
        //   sv_password is allowed to be modified by ADMIN_PASSWORD
        
if (!(equali(arg,"sv_password") && (get_user_flags(id) & ADMIN_PASSWORD)))
        {
            
console_print(id"[AMXX] %L"id"CVAR_NO_ACC")
            return 
PLUGIN_HANDLED
        
}
    }
    
    if (
read_argc() < 3)
    {
        
get_pcvar_string(pointerarg263)
        
console_print(id"[AMXX] %L"id"CVAR_IS"argarg2)
        return 
PLUGIN_HANDLED
    
}

    new 
authid[32], name[32]
    
    
get_user_authid(idauthid31)
    
get_user_name(idname31)
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" set cvar (name ^"%s^") (value ^"%s^")"nameget_user_userid(id), authidargarg2)
    
set_cvar_string(argarg2)
    
    
    
// Display the message to all clients

    
new cvar_val[64];
    new 
maxpl get_maxplayers();
    for (new 
1<= maxpli++)
    {
        if (
is_user_connected(i) && !is_user_bot(i))
        {
            if (
get_pcvar_flags(pointer) & FCVAR_PROTECTED || equali(arg"rcon_password"))
            {
                
formatex(cvar_valcharsmax(cvar_val), "*** %L ***"i"PROTECTED");
            }
            else
            {
                
copy(cvar_valcharsmax(cvar_val), arg2);
            }
            
show_activity_id(iidname"%L"i"SET_CVAR_TO"""argcvar_val);
        }
    }

    
console_print(id"[AMXX] %L"id"CVAR_CHANGED"argarg2)
    
    return 
PLUGIN_HANDLED
}

public 
cmdPlugins(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED
        
    
if (id==0// If server executes redirect this to "amxx plugins" for more in depth output
    
{
        
server_cmd("amxx plugins");
        
server_exec();
        return 
PLUGIN_HANDLED;
    }

    new 
name[32], version[32], author[32], filename[32], status[32]
    new 
lName[32], lVersion[32], lAuthor[32], lFile[32], lStatus[32]

    
format(lName31"%L"id"NAME")
    
format(lVersion31"%L"id"VERSION")
    
format(lAuthor31"%L"id"AUTHOR")
    
format(lFile31"%L"id"FILE")
    
format(lStatus31"%L"id"STATUS")

    new 
StartPLID=0;
    new 
EndPLID;

    new 
Temp[96]

    new 
num get_pluginsnum()
    
    if (
read_argc() > 1)
    {
        
read_argv(1,Temp,sizeof(Temp)-1);
        
StartPLID=str_to_num(Temp)-1// zero-based
    
}

    
EndPLID=min(StartPLID 10num);
    
    new 
running 0
    
    console_print
(id"----- %L -----"id"LOADED_PLUGINS")
    
console_print(id"%-18.17s %-11.10s %-17.16s %-16.15s %-9.8s"lNamelVersionlAuthorlFilelStatus)

    new 
i=StartPLID;
    while (
<EndPLID)
    {
        
get_plugin(i++, filename31name31version31author31status31)
        
console_print(id"%-18.17s %-11.10s %-17.16s %-16.15s %-9.8s"nameversionauthorfilenamestatus)
        
        if (
status[0]=='d' || status[0]=='r'// "debug" or "running"
            
running++
    }
    
console_print(id"%L"id"PLUGINS_RUN"EndPLID-StartPLIDrunning)
    
console_print(id"----- %L -----",id,"HELP_ENTRIES",StartPLID 1,EndPLID,num);
    
    if (
EndPLID num)
    {
        
formatex(Temp,sizeof(Temp)-1,"----- %L -----",id,"HELP_USE_MORE"EndPLID 1);
        
replace_all(Temp,sizeof(Temp)-1,"amx_help","amx_plugins");
        
console_print(id,"%s",Temp);
    }
    else
    {
        
formatex(Temp,sizeof(Temp)-1,"----- %L -----",id,"HELP_USE_BEGIN");
        
replace_all(Temp,sizeof(Temp)-1,"amx_help","amx_plugins");
        
console_print(id,"%s",Temp);
    }

    return 
PLUGIN_HANDLED
}

public 
cmdModules(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED

    
new name[32], version[32], author[32], statussStatus[16]
    new 
lName[32], lVersion[32], lAuthor[32], lStatus[32];

    
format(lName31"%L"id"NAME")
    
format(lVersion31"%L"id"VERSION")
    
format(lAuthor31"%L"id"AUTHOR")
    
format(lStatuscharsmax(lStatus), "%L"id"STATUS")

    new 
num get_modulesnum()
    
    
console_print(id"%L:"id"LOADED_MODULES")
    
console_print(id"%-23.22s %-11.10s %-20.19s %-11.10s"lNamelVersionlAuthorlStatus)
    
    for (new 
0numi++)
    {
        
get_module(iname31author31version31status)
        
        switch (
status)
        {
            case 
module_loadedcopy(sStatus15"running")
            default: 
            {
                
copy(sStatus15"bad load");
                
copy(namecharsmax(name), "unknown");
                
copy(authorcharsmax(author), "unknown");
                
copy(versioncharsmax(version), "unknown");
            }
        }
        
        
console_print(id"%-23.22s %-11.10s %-20.19s %-11.10s"nameversionauthorsStatus)
    }
    
console_print(id"%L"id"NUM_MODULES"num)

    return 
PLUGIN_HANDLED
}

public 
cmdCfg(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new arg[128]
    
read_argv(1arg127)
    
    if (!
file_exists(arg))
    {
        
console_print(id"[AMXX] %L"id"FILE_NOT_FOUND"arg)
        return 
PLUGIN_HANDLED
    
}
    
    new 
authid[32], name[32]
    
    
get_user_authid(idauthid31)
    
get_user_name(idname31)
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" execute cfg (file ^"%s^")"nameget_user_userid(id), authidarg)
    
    
console_print(id"[AMXX] Executing file ^"%s^""arg)
    
server_cmd("exec %s"arg)

    
show_activity_key("ADMIN_CONF_1""ADMIN_CONF_2"namearg);

    return 
PLUGIN_HANDLED
}

public 
cmdLBack()
{
    if (!
g_PauseAllowed)
        return 
PLUGIN_CONTINUE    

    
new paused[25]
    
    
format(paused24"%L"g_pauseCong_Paused "UNPAUSED" "PAUSED")
    
set_cvar_float("pausable"g_pausAble)
    
console_print(g_pauseCon"[AMXX] Server %s"paused)
    
g_PauseAllowed false
    
    
if (g_Paused)
        
g_Paused false
    
else 
        
g_Paused true
    
    
return PLUGIN_HANDLED
}

public 
cmdPause(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED 
    
    
new authid[32], name[32], slayer id
    
    get_user_authid
(idauthid31
    
get_user_name(idname31
    if (
pausable!=0)
    {
        
g_pausAble get_pcvar_float(pausable)
    }
    
    if (!
slayer)
        
slayer find_player("h"
    
    if (!
slayer)
    { 
        
console_print(id"[AMXX] %L"id"UNABLE_PAUSE"
        return 
PLUGIN_HANDLED
    
}

    
set_cvar_float("pausable"1.0)
    
g_PauseAllowed true
    client_cmd
(slayer"pause;pauseAck")
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" %s server"nameget_user_userid(id), authidg_Paused "unpause" "pause")
    
    
console_print(id"[AMXX] %L"idg_Paused "UNPAUSING" "PAUSING")

    
// Display the message to all clients

    
new maxpl get_maxplayers();
    for (new 
1<= maxpli++)
    {
        if (
is_user_connected(i) && !is_user_bot(i))
        {
            
show_activity_id(iidname"%L server"ig_Paused "UNPAUSE" "PAUSE");
        }
    }

    
g_pauseCon id
    
    
return PLUGIN_HANDLED


public 
cmdShowRcon(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
        
    
new password[64]
    
    
get_pcvar_string(rcon_passwordpassword63)
    
    if (!
password[0])
    {
        
cmdRcon(idlevelcid)
    } else {
        new 
args[128]
        
        
read_args(args127)
        
client_cmd(id"rcon_password %s"password)
        
client_cmd(id"rcon %s"args)
    }
    
    return 
PLUGIN_HANDLED
}

public 
cmdRcon(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new arg[128], authid[32], name[32]
    
    
read_args(arg127)
    
get_user_authid(idauthid31)
    
get_user_name(idname31)
    
    
log_amx("Cmd: ^"%s<%d><%s><>^" server console (cmdline ^"%s^")"nameget_user_userid(id), authidarg)
    
    
console_print(id"[AMXX] %L"id"COM_SENT_SERVER"arg)
    
server_cmd("%s"arg)
    
    return 
PLUGIN_HANDLED
}

public 
cmdWho(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
        return 
PLUGIN_HANDLED

    
new players[32], inumcl_on_server[64], authid[32], name[32], flagssflags[32]
    new 
lImm[16], lRes[16], lAccess[16], lYes[16], lNo[16]
    
    
format(lImm15"%L"id"IMMU")
    
format(lRes15"%L"id"RESERV")
    
format(lAccess15"%L"id"ACCESS")
    
format(lYes15"%L"id"YES")
    
format(lNo15"%L"id"NO")
    
    
get_players(playersinum)
    
format(cl_on_server63"%L"id"CLIENTS_ON_SERVER")
    
console_print(id"^n%s:^n #  %-16.15s %-20s %-8s %-4.3s %-4.3s %s"cl_on_server"nick""authid""userid"lImmlReslAccess)
    
    for (new 
0inum; ++a)
    {
        
get_user_authid(players[a], authid31)
        
get_user_name(players[a], name31)
        
flags get_user_flags(players[a])
        
get_flags(flagssflags31)
        
console_print(id"%2d  %-16.15s %-20s %-8d %-6.5s %-6.5s %s"players[a], nameauthid
        
get_user_userid(players[a]), (flags&ADMIN_IMMUNITY) ? lYes lNo, (flags&ADMIN_RESERVATION) ? lYes lNosflags)
    }
    
    
console_print(id"%L"id"TOTAL_NUM"inum)
    
get_user_authid(idauthid31)
    
get_user_name(idname31)
    
log_amx("Cmd: ^"%s<%d><%s><>^" ask for players list"nameget_user_userid(id), authid
    
    return 
PLUGIN_HANDLED
}

hasTag(name[], tags[4][32], tagsNum)
{
    for (new 
0tagsNum; ++a)
        if (
contain(nametags[a]) != -1)
            return 
a
    
return -1
}

public 
cmdLeave(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
        return 
PLUGIN_HANDLED
    
    
new argnum read_argc()
    new 
ltags[4][32]
    new 
ltagsnum 0
    
    
for (new 15; ++a)
    {
        if (
argnum)
            
read_argv(altags[ltagsnum++], 31)
        else
            
ltags[ltagsnum++][0] = 0
    
}
    
    new 
nick[32], irespnum get_maxplayers() + 1count 0lReason[128]
    
    for (new 
1pnum; ++b)
    {
        if (!
is_user_connected(b) && !is_user_connecting(b)) continue

        
get_user_name(bnick31)
        
ires hasTag(nickltagsltagsnum)
        
        if (
ires != -1)
        {
            
console_print(id"[AMXX] %L"id"SKIP_MATCH"nickltags[ires])
            continue
        }
        
        if (
get_user_flags(b) & ADMIN_IMMUNITY)
        {
            
console_print(id"[AMXX] %L"id"SKIP_IMM"nick)
            continue
        }
        
        
console_print(id"[AMXX] %L"id"KICK_PL"nick)
        
        if (
is_user_bot(b))
            
server_cmd("kick #%d"get_user_userid(b))
        else
        {
            
format(lReason127"%L"b"YOU_DROPPED")
            
server_cmd("kick #%d ^"%s^""get_user_userid(b), lReason)
        }
        
count++
    }
    
    
console_print(id"[AMXX] %L"id"KICKED_CLIENTS"count)
    
    new 
authid[32], name[32]

    
get_user_authid(idauthid31)
    
get_user_name(idname31)
    
log_amx("Kick: ^"%s<%d><%s><>^" leave some group (tag1 ^"%s^") (tag2 ^"%s^") (tag3 ^"%s^") (tag4 ^"%s^")"nameget_user_userid(id), authidltags[0], ltags[1], ltags[2], ltags[3])

    
show_activity_key("ADMIN_LEAVE_1""ADMIN_LEAVE_2"nameltags[0], ltags[1], ltags[2], ltags[3]);

    return 
PLUGIN_HANDLED
}

public 
cmdNick(idlevelcid)
{
    if (!
cmd_access(idlevelcid3))
        return 
PLUGIN_HANDLED

    
new arg1[32], arg2[32], authid[32], name[32], authid2[32], name2[32]

    
read_argv(1arg131)
    
read_argv(2arg231)

    new 
player cmd_target(idarg1CMDTARGET_OBEY_IMMUNITY CMDTARGET_ALLOW_SELF)
    
    if (!
player)
        return 
PLUGIN_HANDLED

    get_user_authid
(idauthid31)
    
get_user_name(idname31)
    
get_user_authid(playerauthid231)
    
get_user_name(playername231)

    
client_cmd(player"name ^"%s^""arg2)

    
log_amx("Cmd: ^"%s<%d><%s><>^" change nick to ^"%s^" ^"%s<%d><%s><>^""nameget_user_userid(id), authidarg2name2get_user_userid(player), authid2)

    
show_activity_key("ADMIN_NICK_1""ADMIN_NICK_2"namename2arg2);

    
console_print(id"[AMXX] %L"id"CHANGED_NICK"name2arg2)

    return 
PLUGIN_HANDLED
}

public 
cmdLast(idlevelcid)
{
    if (!
cmd_access(idlevelcid1))
    {
        return 
PLUGIN_HANDLED;
    }
    
    new 
name[32];
    new 
authid[32];
    new 
ip[32];
    new 
flags[32];
    new 
access;
    
    
    
// This alignment is a bit weird (it should grow if the name is larger)
    // but otherwise for the more common shorter name, it'll wrap in server console
    // Steam client display is all skewed anyway because of the non fixed font.
    
console_print(id"%19s %20s %15s %s""name""authid""ip""access");
    
    for (new 
0g_Sizei++)
    {
        
GetInfo(inamecharsmax(name), authidcharsmax(authid), ipcharsmax(ip), access);
        
        
get_flags(accessflagscharsmax(flags));
        
        
console_print(id"%19s %20s %15s %s"nameauthidipflags);
    }
    
    
console_print(id"%d old connections saved."g_Size);
    
    return 
PLUGIN_HANDLED;
}

stock ChatColor(const id, const input[], any:...)
{
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msg190input3)
    
    
replace_all(msg190"!g""^4"// Green Color
    
replace_all(msg190"!y""^1"// Default Color
    
replace_all(msg190"!t""^3"// Team Color
    
    
if (idplayers[0] = id; else get_players(playerscount"ch"
    {
        for ( new 
0counti++ )
        {
            if ( 
is_user_connected(players[i]) )
            {
                
message_begin(MSG_ONE_UNRELIABLESayText_players[i])
                
write_byte(players[i]);
                
write_string(msg);
                
message_end();
            }
        }
    }

P.S i tested it with admin_kick_1 and admin_kick_2.

Last edited by lagger; 04-24-2012 at 15:59.
lagger is offline
Send a message via Skype™ to lagger
EpicMonkey
buttmonkey
Join Date: Feb 2012
Old 04-25-2012 , 02:14   Re: [HELP]Colours in chat!
Reply With Quote #2

show the code you tried with?

Green chat ex :
PHP Code:
ChatColor(id"!g[AMXX] This is how it should be done"

Last edited by EpicMonkey; 04-25-2012 at 02:17.
EpicMonkey is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 04-25-2012 , 02:29   Re: [HELP]Colours in chat!
Reply With Quote #3

In Connor's color chat thread in Code Snippets/Tutorials explains what you need to do to get colors to work in lang files.
__________________
fysiks is offline
lagger
Member
Join Date: Feb 2011
Location: Latvia
Old 04-25-2012 , 06:38   Re: [HELP]Colours in chat!
Reply With Quote #4

In lang file i triend this:ADMIN_KICK_1 = !g[ADMIN]!y: kick !t%s
Where i have to put this:ChatColor(id, "!g[AMXX] This is how it should be done")
In .sma or in lang file?
lagger is offline
Send a message via Skype™ to lagger
EpicMonkey
buttmonkey
Join Date: Feb 2012
Old 04-25-2012 , 07:08   Re: [HELP]Colours in chat!
Reply With Quote #5

its better to do what fysiks said
EpicMonkey is offline
lagger
Member
Join Date: Feb 2011
Location: Latvia
Old 04-25-2012 , 08:18   Re: [HELP]Colours in chat!
Reply With Quote #6

Maybe do it with something like this?
PHP Code:
ChatColorid"%s"LANG_PLAYER"ADMIN_KICK_1" 
It changes the %s in :ADMIN_KICK_1 = !y[ADMIN] !g: !ykick !t%s

Last edited by lagger; 04-25-2012 at 08:22.
lagger is offline
Send a message via Skype™ to lagger
EpicMonkey
buttmonkey
Join Date: Feb 2012
Old 04-25-2012 , 10:22   Re: [HELP]Colours in chat!
Reply With Quote #7

http://forums.alliedmods.net/showthread.php?t=94960

Last edited by EpicMonkey; 04-26-2012 at 02:23.
EpicMonkey is offline
lagger
Member
Join Date: Feb 2011
Location: Latvia
Old 04-25-2012 , 17:19   Re: [HELP]Colours in chat!
Reply With Quote #8

Ok,so i downloaded the chatcolor include,i included it in admincmd.sma file,then i compiled admincmd.sma(no errors)I put in admincmd.amxx in my server and restarted the server.
Then i tried to write something in console like amx_kick ,but that command didn't work.So it means plugin won't work if i include chatcolor.
Can someone help me?
P.S i have already edited admincmd lang file with !g , !t and !y
lagger is offline
Send a message via Skype™ to lagger
rak
Veteran Member
Join Date: Oct 2011
Location: banned country
Old 04-25-2012 , 17:30   Re: [HELP]Colours in chat!
Reply With Quote #9

you need modify show_activity_key in amxmisc.inc
__________________

www.amxmodx-es.com

Steam: Luchokoldo
rak is offline
Send a message via MSN to rak Send a message via Skype™ to rak
lagger
Member
Join Date: Feb 2011
Location: Latvia
Old 04-28-2012 , 08:35   Re: [HELP]Colours in chat!
Reply With Quote #10

Can you edit it and post the include here?
lagger is offline
Send a message via Skype™ to lagger
Reply


Thread Tools
Display Modes

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 07:46.


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