1. x00peR Пользователь

    Регистрация:
    16.10.15
    Сообщения:
    300
    Симпатии:
    42
    Пол:
    Мужской
    Skype:
    x00peR
    ICQ:
    474751117
    Есть надпись, выводящаяся в чат: "Осторожно! Игрок %s кинул"
    Как в этом коде раскрасить в team цвет %s ?
    PHP:
    /* AMX Mod X
    *   Descriptive 'Fire in the hole!'
    *
    * (c) Copyright 2006 by VEN
    *
    * This file is provided as is (no warranties)
    *
    *     DESCRIPTION
    *       Plugin provides additional colored text for "Fire in the hole!" radio chat message.
    *       The color and the text is different for each grenade type and can be altered.
    *       This will help teammates to get the throwed grenade type and act accordingly.
    *       Search for "EDITABLE" mark in the plugin's source code to configure text and color.
    *
    *     CREDITS
    *       Damaged Soul - colored chat text method
    *       p3tsin - team color override method
    */

    #include <amxmodx>

    #define PLUGIN_NAME "Descriptive 'Fire in the hole!'"
    #define PLUGIN_VERSION "0.1"
    #define PLUGIN_AUTHOR "VEN"

    enum grenade {
        
    GRENADE_HE,
        
    GRENADE_FLASH,
        
    GRENADE_SMOKE
    }

    // EDITABLE: grenade description
    new const g_grenade_description[_:grenade][] = {
        
    " [Боевую!]",
        
    " [Флешку!]",
        
    " [Дым!]"
    }

    enum color {
        
    COLOR_NORMAL,
        
    COLOR_RED,
        
    COLOR_BLUE,
        
    COLOR_GRAY,
        
    COLOR_GREEN
    }

    // EDITABLE: grenade description text color
    new const g_grenade_desccolor[_:grenade] = {
        
    COLOR_RED,
        
    COLOR_GRAY,
        
    COLOR_GREEN
    }

    new const 
    g_grenade_weaponid[_:grenade] = {
        
    CSW_HEGRENADE,
        
    CSW_FLASHBANG,
        
    CSW_SMOKEGRENADE
    }

    #define COLORCODE_NORMAL 0x01
    #define COLORCODE_TEAM 0x03
    #define COLORCODE_LOCATION 0x04

    new const g_color_code[_:color] = {
        
    COLORCODE_NORMAL,
        
    COLORCODE_TEAM,
        
    COLORCODE_TEAM,
        
    COLORCODE_TEAM,
        
    COLORCODE_LOCATION
    }

    new const 
    g_color_teamname[_:color][] = {
        
    "",
        
    "TERRORIST",
        
    "CT",
        
    "SPECTATOR",
        
    ""
    }

    #define RADIOTEXT_MSGARG_NUMBER 5

    enum radiotext_msgarg {
        
    RADIOTEXT_MSGARG_PRINTDEST 1,
        
    RADIOTEXT_MSGARG_CALLERID,
        
    RADIOTEXT_MSGARG_TEXTTYPE,
        
    RADIOTEXT_MSGARG_CALLERNAME,
        
    RADIOTEXT_MSGARG_RADIOTYPE,
    }

    new const 
    g_required_radiotype[] = "#Fire_in_the_hole"
    new const g_radiotext_template[] = "Осторожно! Игрок %s кинул"

    new g_msgid_saytext
    new g_msgid_teaminfo

    public plugin_init() {
        
    register_plugin(PLUGIN_NAMEPLUGIN_VERSIONPLUGIN_AUTHOR)

        
    register_message(get_user_msgid("TextMsg"), "message_text")

        
    g_msgid_saytext get_user_msgid("SayText")
        
    g_msgid_teaminfo get_user_msgid("TeamInfo")
    }

    public 
    message_text(msgiddestid) {
        if (
    get_msg_args() != RADIOTEXT_MSGARG_NUMBER || get_msg_argtype(RADIOTEXT_MSGARG_RADIOTYPE) != ARG_STRING)
            return 
    PLUGIN_CONTINUE

        
    static arg[32]
        
    get_msg_arg_string(RADIOTEXT_MSGARG_RADIOTYPEargsizeof arg 1)
        if (!
    equal(argg_required_radiotype))
            return 
    PLUGIN_CONTINUE

        get_msg_arg_string
    (RADIOTEXT_MSGARG_CALLERIDargsizeof arg 1)
        new 
    caller str_to_num(arg)
        if (!
    is_user_alive(caller))
            return 
    PLUGIN_CONTINUE

        
    new clipammoweapon
        weapon 
    get_user_weapon(callerclipammo)
        for (new 
    isizeof g_grenade_weaponid; ++i) {
            if (
    g_grenade_weaponid[i] == weapon) {
                static 
    text[192]
                new 
    pos 0
                text
    [pos++] = g_color_code[COLOR_NORMAL]

                
    get_msg_arg_string(RADIOTEXT_MSGARG_CALLERNAMEargsizeof arg 1)
                
    pos += formatex(text[pos], sizeof text pos 1g_radiotext_templatearg)
                
    copy(text[++pos], sizeof text pos 1g_grenade_description[i])

                new 
    desccolor g_grenade_desccolor[i]
                if ((
    text[--pos] = g_color_code[desccolor]) == COLORCODE_TEAM) {
                    static 
    teamname[12]
                    
    get_user_team(idteamnamesizeof teamname 1)

                    if (!
    equal(teamnameg_color_teamname[desccolor])) {
                        
    msg_teaminfo(idg_color_teamname[desccolor])
                        
    msg_saytext(idtext)
                        
    msg_teaminfo(idteamname)

                        return 
    PLUGIN_HANDLED
                    
    }
                }

                
    msg_saytext(idtext)

                return 
    PLUGIN_HANDLED
            
    }
        }

        return 
    PLUGIN_CONTINUE
    }

    msg_teaminfo(idteamname[]) {
        
    message_begin(MSG_ONEg_msgid_teaminfo_id)
        
    write_byte(id)
        
    write_string(teamname)
        
    message_end()
    }

    msg_saytext(idtext[]) {
        
    message_begin(MSG_ONEg_msgid_saytext_id)
        
    write_byte(id)
        
    write_string(text)
        
    message_end()
    }
     
  2. LeninChan^^ Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.086
    Симпатии:
    368
    Пол:
    Мужской
    Telegram:
    LeninChan
    x00peR, колорчат подключить и выводить цвет команды