Скрыть статус *spec* и *dead* в чате

Статус
Новые ответы в этой теме размещать нельзя.

rxki

Пользователь
Регистрация
5 Янв 2019
Сообщения
170
Симпатии
3
Пол
Мужской
#1
Доброго времени суток всем. Помогите с одним костылем. Не знаю, как скрыть статут игрока в чате (*SPEC* и *DEAD*). Нашел плагин (all chat), в котором есть решение этой проблемы, но мне нужна только эта функция, вешать целый плагин ради одного квара - бред) пытался вытянуть кусок кода, отвечающего за данную функцию - ничего не вышло... Прошу Вашей помощи, может кто знает, как это прописать. Заранее благодарю.
 

To be or not to be

Заблокированные
Пользователь
Регистрация
9 Июн 2017
Сообщения
1.214
Симпатии
303
#2
rxki, lite translit плагин используете ?
 

rxki

Пользователь
Регистрация
5 Янв 2019
Сообщения
170
Симпатии
3
Пол
Мужской
#5
На сервере стоит TD Mod

[ 1] AMXBans Core 6.13 YamiKaitou amxbans_core.am running
[ 2] AMXBans Main 6.13 YamiKaitou amxbans_main.am running
[ 3] Admin Base (SQL) 1.9.0.5235 AMXX Dev Team admin_sql.amxx stopped
[ 4] Admin Commands 1.9.0.5235 AMXX Dev Team admincmd.amxx running
[ 5] Multi-Lingual System 1.9.0.5235 AMXX Dev Team multilingual.am running
[ 6] Menus Front-End 1.9.0.5235 AMXX Dev Team menufront.amxx running
[ 7] Commands Menu 1.9.0.5235 AMXX Dev Team cmdmenu.amxx running
[ 8] Players Menu 1.9.0.5235 AMXX Dev Team plmenu.amxx running
[ 9] Maps Menu 1.9.0.5235 AMXX Dev Team mapsmenu.amxx running
[ 10] Plugin Menu 1.9.0.5235 AMXX Dev Team pluginmenu.amxx running
[ 11] Admin Chat 1.9.0.5235 AMXX Dev Team adminchat.amxx running
[ 12] Anti Flood 1.9.0.5235 AMXX Dev Team antiflood.amxx running
[ 13] Scrolling Message 1.9.0.5235 AMXX Dev Team scrollmsg.amxx running
[ 14] Info. Messages 1.9.0.5235 AMXX Dev Team imessage.amxx running
[ 15] Admin Votes 1.9.0.5235 AMXX Dev Team adminvote.amxx running
[ 16] Pause Plugins 1.9.0.5235 AMXX Dev Team pausecfg.amxx running
[ 17] Stats Configuration 1.9.0.5235 AMXX Dev Team statscfg.amxx running
[ 18] HUD Customizer 0.3 Igoreso hidedefhuds.amx running
[ 19] High Ping Kicker RBS 15.07.15 SKAJIbnEJIb hpk_rbs.amxx paused
[ 20] RockTheVote 1.0 rxki rtv.amxx running
[ 21] New NightVision 1.0 Fai nvg_fix.amxx running
[ 22] Game Namer Version 1. NeuroToxin gamenamechanger running
[ 23] 'Fire in the hole' blo 1.0 xPaw hidefireintheho running
[ 24] Tower Defense Mod 1.2 ReBuil tomcionek15 & gr td_engine.amxx debug
[ 25] Tower Defense Mod: Tur 1.1 Rebuil tomcionek15 & gr td_turrets_engi debug
[ 26] TD: Shop | 2x Damage 1.0 tomcionek15 & gr td_shop_2xdamag running
[ 27] TD: Shop | Multi Damag 1.0 tomcionek15 & gr td_shop_multi_d running
[ 28] TD: Shop | Endless amm 1.0 tomcionek15 & gr td_shop_bezlika running
[ 29] TD: SHOP| Napalm Nade 1.0 GT Team td_shop_napalm. running
[ 30] TD: SHOP| Frozen Nade 1.0 GT Team td_shop_frozen. running
[ 31] IonCannon 1.0 MarWit td_canon.amxx running
[ 32] TD SHOP: Lighting 1.0 GT Team td_shop_lightin running
[ 33] TD: Shop | 25% speed 1.0 tomcionek15 & gr td_shop_25speed running
[ 34] TD: SHOP| Damage totem 1.0 GT Team td_shop_totem_d running
[ 35] TD: SHOP| Range totem 1.0 GT Team td_shop_totem_r running
[ 36] TD: SHOP| Firerate tot 1.0 GT Team td_shop_totem_f running
[ 37] TD: SHOP| Super totem 1.0 GT Team td_shop_totem_a running
[ 38] Tower Defense: GiveGol 1.0 Beta GT Team td_givegold.amx running
[ 39] Tower Defense: Guns 1.1 GT Team td_guns.amxx running
[ 40] Tower Defense: Gun mod 1.1 tomcionek15 & gr td_gunmod.amxx debug
[ 41] TD Assits: v2 1.0 grs4 td_assist.amxx running
[ 42] Tower Defense: Best pl 1.0 GT Team td_best_players running
[ 43] TD Traps 1.0 GT Team td_traps.amxx running
 

To be or not to be

Заблокированные
Пользователь
Регистрация
9 Июн 2017
Сообщения
1.214
Симпатии
303
#6
rxki, говно-код, я знаю. (переделал лайттранслит)
Код:
#include <amxmodx>

#if AMXX_VERSION_NUM < 183
    #include <colorchat>
#endif

public plugin_init()
{
    register_clcmd("say", "HandlerSay");
    register_clcmd("say_team", "HandlerSayTeam");
}

public HandlerSay(id) return FormatMsg(id, false);
public HandlerSayTeam(id) return FormatMsg(id, true);

FormatMsg(id, bool:IsTeam)
{
    static sMessage[180];
    read_args(sMessage, charsmax(sMessage));
    remove_quotes(sMessage); trim(sMessage);
   
    static idTeam, sTeam[16], sName[32]; get_user_name(id, sName, charsmax(sName));
    idTeam = get_user_team(id, sTeam, charsmax(sTeam));
   
    switch(IsTeam)
    {
        case true:
        {
            for(new i = 1; i <= get_maxplayers(); i++)
            {
                if(idTeam == get_user_team(i))
                {
                    switch(idTeam)
                    {
                        case 1: client_print_color(i, print_team_red,  "^1(Terrorist) ^3%s^1 :  %s", sName, sMessage);
                        case 2: client_print_color(i, print_team_blue, "^1(Counter-Terrorist) ^3%s^1 :  %s", sName, sMessage);
                        default:client_print_color(i, print_team_grey, "^1(Spectator) ^3%s^1 :  %s", sName, sMessage);
                    }
                }
            }
        }
        case false:
        {  
            switch(idTeam)
            {
                case 1: client_print_color(0, print_team_red,  "^3%s^1 :  %s", sName, sMessage);
                case 2: client_print_color(0, print_team_blue, "^3%s^1 :  %s", sName, sMessage);
                default:client_print_color(0, print_team_grey, "^3%s^1 :  %s", sName, sMessage);
            }
        }
    }
    return PLUGIN_HANDLED;
}
 

rxki

Пользователь
Регистрация
5 Янв 2019
Сообщения
170
Симпатии
3
Пол
Мужской
#7
rxki, говно-код, я знаю. (переделал лайттранслит)
Код:
#include <amxmodx>

#if AMXX_VERSION_NUM < 183
    #include <colorchat>
#endif

public plugin_init()
{
    register_clcmd("say", "HandlerSay");
    register_clcmd("say_team", "HandlerSayTeam");
}

public HandlerSay(id) return FormatMsg(id, false);
public HandlerSayTeam(id) return FormatMsg(id, true);

FormatMsg(id, bool:IsTeam)
{
    static sMessage[180];
    read_args(sMessage, charsmax(sMessage));
    remove_quotes(sMessage); trim(sMessage);
  
    static idTeam, sTeam[16], sName[32]; get_user_name(id, sName, charsmax(sName));
    idTeam = get_user_team(id, sTeam, charsmax(sTeam));
  
    switch(IsTeam)
    {
        case true:
        {
            for(new i = 1; i <= get_maxplayers(); i++)
            {
                if(idTeam == get_user_team(i))
                {
                    switch(idTeam)
                    {
                        case 1: client_print_color(i, print_team_red,  "^1(Terrorist) ^3%s^1 :  %s", sName, sMessage);
                        case 2: client_print_color(i, print_team_blue, "^1(Counter-Terrorist) ^3%s^1 :  %s", sName, sMessage);
                        default:client_print_color(i, print_team_grey, "^1(Spectator) ^3%s^1 :  %s", sName, sMessage);
                    }
                }
            }
        }
        case false:
        { 
            switch(idTeam)
            {
                case 1: client_print_color(0, print_team_red,  "^3%s^1 :  %s", sName, sMessage);
                case 2: client_print_color(0, print_team_blue, "^3%s^1 :  %s", sName, sMessage);
                default:client_print_color(0, print_team_grey, "^3%s^1 :  %s", sName, sMessage);
            }
        }
    }
    return PLUGIN_HANDLED;
}
у меня амх 1.9.0. Полагаю, строка "#if AMXX_VERSION_NUM < 183 #include <colorchat> #endif" будет неактуальна?
 

To be or not to be

Заблокированные
Пользователь
Регистрация
9 Июн 2017
Сообщения
1.214
Симпатии
303
#8
rxki, ну тк её можно не убирать.
Там же написано, если версия < 183, то добавляет include

Да. неактуальна.
 

rxki

Пользователь
Регистрация
5 Янв 2019
Сообщения
170
Симпатии
3
Пол
Мужской
#9
rxki, ну тк её можно не убирать.
Там же написано, если версия < 183, то добавляет include

Да. неактуальна.
добавил плагин. Слетели префиксы с уровнем (были перед ником), перестали работать некоторые команды (аля /spec и тд)... Что то конфликтит:(
 

To be or not to be

Заблокированные
Пользователь
Регистрация
9 Июн 2017
Сообщения
1.214
Симпатии
303
#10
rxki, ну тк плагин по новой выводит сообщение, подставляя ник игрока.
Естественно слетят все префиксы с уровнями, это нужно было заранее писать.

По поводу /spec - у меня работают команды.
 

rxki

Пользователь
Регистрация
5 Янв 2019
Сообщения
170
Симпатии
3
Пол
Мужской
#11
rxki, ну тк плагин по новой выводит сообщение, подставляя ник игрока.
Естественно слетят все префиксы с уровнями, это нужно было заранее писать.

По поводу /spec - у меня работают команды.
я думал, что захайдить статус проще, чем это оказалось на самом деле) думал, это можно сделать с помощью костыля в 3-4 строки... иначе, я так понимаю, эту проблему не решить, кроме как метод, описанный тобою выше?
 

To be or not to be

Заблокированные
Пользователь
Регистрация
9 Июн 2017
Сообщения
1.214
Симпатии
303
#12
rxki, может и можно костылем, я сделал то, что смог
:D
 

rxki

Пользователь
Регистрация
5 Янв 2019
Сообщения
170
Симпатии
3
Пол
Мужской
#16
rxki, там надо рефакторить код.


Скинь ещё.
Вот, держи. Так же, нашел паблик, где описываются префиксы перед ником, может будет полезным, Вот:
PHP:
public handleSayText(msgId, msgDest, msgEnt)
{
    static isEmpty;

    if(isEmpty == 0)
    {
        if(!strlen(g_szVipChatPrefix))
            isEmpty = -1;
    }

    static chatColor;
    if(!chatColor)
        chatColor = g_ConfigValues[CFG_VIP_CHAT_COLOR];

    new id = get_msg_arg_int(1);

    new szTmp[256], szTmp2[256], szPrefix[33]
    get_msg_arg_string(2, szTmp, charsmax(szTmp))

    if(g_IsPlayerVip[id] && isEmpty != -1)
    {
        if(chatColor == 1)
            formatex(szPrefix, charsmax(szPrefix), "^x01[^x04%s^x01]", g_szVipChatPrefix)
        else if(chatColor == 2)
            formatex(szPrefix, charsmax(szPrefix), "^x01[^x04%s^x01]", g_szVipChatPrefix)
        else if(chatColor == 3)
            formatex(szPrefix, charsmax(szPrefix), "^x01[^x04%s^x01]", g_szVipChatPrefix)

        if(g_ConfigValues[CFG_CHAT_SHOW_LEVEL])
            formatex(szPrefix, charsmax(szPrefix), "%s ^x01[^x04LVL: %d^x01]", szPrefix, g_PlayerInfo[id][PLAYER_LEVEL])

    }
    else if(g_ConfigValues[CFG_CHAT_SHOW_LEVEL])
        formatex(szPrefix, charsmax(szPrefix), "^x01[^x04LVL: %d^x01]", g_PlayerInfo[id][PLAYER_LEVEL])

    if(!equal(szTmp, "#Cstrike_Chat_All"))
    {
        add(szTmp2, charsmax(szTmp2), szPrefix);
        add(szTmp2, charsmax(szTmp2), "^x03 ");
        add(szTmp2, charsmax(szTmp2), szTmp);
    }
    else
    {
        new szPlayerName[33];
        get_user_name(id, szPlayerName, charsmax(szPlayerName));

        get_msg_arg_string(4, szTmp, charsmax(szTmp));
        set_msg_arg_string(4, "");

        add(szTmp2, charsmax(szTmp2), szPrefix);
        add(szTmp2, charsmax(szTmp2), "^x03 ");
        add(szTmp2, charsmax(szTmp2), szPlayerName);
        add(szTmp2, charsmax(szTmp2), "^x01 :  ");
        add(szTmp2, charsmax(szTmp2), szTmp);
    }

    set_msg_arg_string(2, szTmp2);
    return;
}
 

Вложения

rxki

Пользователь
Регистрация
5 Янв 2019
Сообщения
170
Симпатии
3
Пол
Мужской
#18

rxki

Пользователь
Регистрация
5 Янв 2019
Сообщения
170
Симпатии
3
Пол
Мужской
#19
А, ну тут каналы. Можешь использоваться статью чтоб залогировать и изменить как нужно.
[TUT] Изм CellTrie
попытался сам отловить событие, прописав в плагине натив register_logevent("say", 1, "1=say" ). Но после этого только админка отпала, а в логах ничего полезного не выдало.. я, наверно, что то не так сделал... памагити :(
 

kapangaIII

Команда форума
Разработчик
Регистрация
31 Окт 2017
Сообщения
881
Симпатии
269
#20
попробуй перед этим, ну, выше строкой пихнуть что-то вроде:
Код:
replace_all(szTmp2, charsmax(szTmp2), "*DEAD*", "") ;
replace_all(szTmp2, charsmax(szTmp2), "*SPEC*", "") ;
Я уже не помню что рисует dead/spec, клиент или сервер, так что не могу точно сказать поможет или нет.
 
Статус
Новые ответы в этой теме размещать нельзя.