Русское сообщество по скриптингу

How to remove city chat?

Scripting help for english speaking users. While not very active, you still have a chance to get help here.
Правила форума
We cannot maintain english version version of our forum rules, but shortly (it's simple) - Don't be a dick. If you really want to know our rules you should check appropriate thread.

How to remove city chat?

Сообщение VenomIvanof » 24 май 2016, 13:50

i want to remove the city chat. I need only the admin flags to stay. Can someone help?

Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <geoip>

#define ACCESS_LEVEL      ADMIN_RCON
#define ADMIN_LISTEN      ADMIN_CHAT
#define HEADADMIN_CHAT_FLAG    ADMIN_LEVEL_B
#define ADMIN_CHAT_FLAG      ADMIN_LEVEL_C
#define VIP_CHAT_FLAG      ADMIN_LEVEL_D
#define SMS_CHAT_FLAG      ADMIN_LEVEL_E
#define HELP_CHAT_FLAG      ADMIN_LEVEL_F

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[][] = {
"",
"=Administrator=",
"-Admin-",
"Super V.I.P.",
"-V.I.P.-",
"-Donator-"
}

public 
plugin_init()
{
register_plugin("AdminTags+CityChat","x.xx","-----"

g_MessageColor register_cvar("amx_color""3")
g_NameColor register_cvar("amx_namecolor""6")
g_AdminListen register_cvar("amx_listen""1")

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
}

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

if(
message[0] == '@' || message[0] == '/' || message[0] == '!' || message[0] == '#' || message[0] == '$' || equal(message""))
 return 
PLUGIN_CONTINUE

new name[32]
get_user_name(idname31)

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

switch(
get_pcvar_num(g_MessageColor))
{
case 
1:
format(strText191"^x03%s"message)
case 
2:
format(strText191"^x03%s"message)
case 
3:
{
copy(color9"SPECTATOR")
format(strText191"^x03%s"message)
}
case 
4:
{
copy(color9"CT")
format(strText191"^x03%s"message)
}
case 
5:
{
copy(color9"TERRORIST")
format(strText191"^x03%s"message)
}
}
}
else
{
new 
UserIp[16];
get_user_ip(idUserIp15);

new 
UserCity[45];
geoip_city(UserIpUserCitycharsmax(UserCity));
get_user_team(idcolor9)
format(strName191"%s^x04[^x03%s^x04]^x03%s"aliveUserCityname)
format(strText191"%s"message)
}

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

sendMessage(colorisAlive)

return 
PLUGIN_CONTINUE
}

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

switch(
playerTeam)
{
case 
1:
copy(playerTeamName11"Terrorists")

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

default:
copy(playerTeamName9"Spectator")
}

read_args(message191)
remove_quotes(message)

if(
message[0] == '@' || message[0] == '/' || message[0] == '!' || message[0] == '#' || message[0] == '$' || equal(message""))
return 
PLUGIN_CONTINUE

new name[32]
get_user_name(idname31)

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

switch(
get_pcvar_num(g_MessageColor))
{
case 
1:
format(strText191"^x03%s"message)
case 
2:
format(strText191"^x03%s"message)
case 
3:
{
copy(color9"SPECTATOR")
format(strText191"^x03%s"message)
}
case 
4:
{
copy(color9"CT")
format(strText191"^x03%s"message)
}
case 
5:
{
copy(color9"TERRORIST")
format(strText191"^x03%s"message)
}
}
}
else
{
new 
UserIp[16];
get_user_ip(idUserIp15);

new 
UserCity[45];
geoip_city(UserIpUserCitycharsmax(UserCity));
get_user_team(idcolor9)
format(strName191"%s[^x03%s^x01]^x04[^x03%s^x04]^x03%s"aliveplayerTeamNameUserCityname)
format(strText191"%s"message)
}

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

sendTeamMessage(colorisAliveplayerTeam)

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)
changeTeamInfo(playercolor)
writeMessage(playermessage)
changeTeamInfo(playerteamName)
}
}
}


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)
changeTeamInfo(playercolor)
writeMessage(playermessage)
changeTeamInfo(playerteamName)
}
}
}
}

public 
changeTeamInfo(playerteam[])
{
message_begin(MSG_ONEteamInfo_player)
write_byte(player)
write_string(team)
message_end()
}

public 
writeMessage(playermessage[])
{
message_begin(MSG_ONEsayText, {000}, player)
write_byte(player)
write_string(message)
message_end()
}
 
Аватара пользователя
VenomIvanof
 
Сообщения: 66
Зарегистрирован: 02 апр 2016, 13:26
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Языки программирования: Counter-Strike 1.6

Re: How to remove city chat?

Сообщение partymaker » 24 май 2016, 14:19

Код: Выделить всё
#include <amxmodx>
#include <amxmisc>

#define ACCESS_LEVEL      ADMIN_RCON
#define ADMIN_LISTEN      ADMIN_CHAT
#define HEADADMIN_CHAT_FLAG    ADMIN_LEVEL_B
#define ADMIN_CHAT_FLAG      ADMIN_LEVEL_C
#define VIP_CHAT_FLAG      ADMIN_LEVEL_D
#define SMS_CHAT_FLAG      ADMIN_LEVEL_E
#define HELP_CHAT_FLAG      ADMIN_LEVEL_F

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[][] = {
    
"",
    
"=Administrator=",
    
"-Admin-",
    
"Super V.I.P.",
    
"-V.I.P.-",
    
"-Donator-"
}

public 
plugin_init()
{
    
register_plugin("AdminTags","x.xx","-----"

    
g_MessageColor register_cvar("amx_color""3")
    
g_NameColor register_cvar("amx_namecolor""6")
    
g_AdminListen register_cvar("amx_listen""1")

    
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
}

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

    if(
message[0] == '@' || message[0] == '/' || message[0] == '!' || message[0] == '#' || message[0] == '$' || equal(message""))
    return 
PLUGIN_CONTINUE

    
new name[32]
    
get_user_name(idname31)

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

        switch(
get_pcvar_num(g_MessageColor))
        {
        case 
1:
            
format(strText191"^x03%s"message)
        case 
2:
            
format(strText191"^x03%s"message)
        case 
3:
            {
                
copy(color9"SPECTATOR")
                
format(strText191"^x03%s"message)
            }
        case 
4:
            {
                
copy(color9"CT")
                
format(strText191"^x03%s"message)
            }
        case 
5:
            {
                
copy(color9"TERRORIST")
                
format(strText191"^x03%s"message)
            }
        }
    }

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

    
sendMessage(colorisAlive)

    return 
PLUGIN_CONTINUE
}

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

    switch(
playerTeam)
    {
    case 
1:
        
copy(playerTeamName11"Terrorists")

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

    default:
        
copy(playerTeamName9"Spectator")
    }

    
read_args(message191)
    
remove_quotes(message)

    if(
message[0] == '@' || message[0] == '/' || message[0] == '!' || message[0] == '#' || message[0] == '$' || equal(message""))
    return 
PLUGIN_CONTINUE

    
new name[32]
    
get_user_name(idname31)

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

        switch(
get_pcvar_num(g_MessageColor))
        {
        case 
1:
            
format(strText191"^x03%s"message)
        case 
2:
            
format(strText191"^x03%s"message)
        case 
3:
            {
                
copy(color9"SPECTATOR")
                
format(strText191"^x03%s"message)
            }
        case 
4:
            {
                
copy(color9"CT")
                
format(strText191"^x03%s"message)
            }
        case 
5:
            {
                
copy(color9"TERRORIST")
                
format(strText191"^x03%s"message)
            }
        }
    }

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

    
sendTeamMessage(colorisAliveplayerTeam)

    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)
            
changeTeamInfo(playercolor)
            
writeMessage(playermessage)
            
changeTeamInfo(playerteamName)
        }
    }
}


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)
                
changeTeamInfo(playercolor)
                
writeMessage(playermessage)
                
changeTeamInfo(playerteamName)
            }
        }
    }
}

public 
changeTeamInfo(playerteam[])
{
    
message_begin(MSG_ONEteamInfo_player)
    
write_byte(player)
    
write_string(team)
    
message_end()
}

public 
writeMessage(playermessage[])
{
    
message_begin(MSG_ONEsayText, {000}, player)
    
write_byte(player)
    
write_string(message)
    
message_end()

?
Пытаюсь сделать змод с минимальными ф-ями (конечно же, не без вашей помощи).
Начало сделано...
Аватара пользователя
partymaker
 
Сообщения: 623
Зарегистрирован: 21 авг 2013, 21:00
Благодарил (а): 78 раз.
Поблагодарили: 83 раз.
Языки программирования: Counter Strike


Вернуться в Scripting

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4