Цветные радиосообщения

Сообщения
10
Реакции
0
Я хочу раскрасить радио-сообщения, я искал дополнение к этому, и я нашел это, но это не показывает сообщение.

Как я хочу показать это:
-> ТЕРРОРИСТ 666 (РАДИО): Следуй за мной!
-> CT 666 (РАДИО): Следуй за мной!

как показано:
-> ТЕРРОРИСТ s1 (РАДИО): s2
-> CT s1 (РАДИО): s2

PHP:
#include <amxmodx>

#define PLUGIN_VERSION "2.0"

public plugin_init()
{
    register_plugin("Colored Radio Messages", PLUGIN_VERSION, "OciXCrom @ amxx-bg.info")
    register_message(get_user_msgid("TextMsg"), "OnTextMsg")
}

public OnTextMsg(iMsgId, iMsgDest, id)
{
    if(get_msg_args() != 5)
        return
        
    static szMsg[2][192]
    get_msg_arg_string(3, szMsg[0], charsmax(szMsg[]))
    get_msg_arg_string(5, szMsg[1], charsmax(szMsg[]))
    
    if(equal(szMsg[0], "#Game_radio") && !equal(szMsg[1], "#Fire_in_the_hole"))
    {
         set_msg_arg_string(3, "^3%s1 ^4(RADIO): ^3 %s2")
    }
}
Мне удалось сделать это таким образом, но я могу только установить цвет оборудования по умолчанию, я не могу установить зеленый цвет на (РАДИО):

PHP:
#include <amxmodx>

#define PLUGIN_VERSION "2.0"

public plugin_init()
{
    register_plugin("Colored Radio Messages", PLUGIN_VERSION, "OciXCrom @ amxx-bg.info")
    register_message(get_user_msgid("TextMsg"), "OnTextMsg")
}

public OnTextMsg(iMsgId, iMsgDest, id)
{
    if(get_msg_args() != 5)
        return
        
    static szMsg[2][192]
    get_msg_arg_string(3, szMsg[0], charsmax(szMsg[]))
    get_msg_arg_string(5, szMsg[1], charsmax(szMsg[]))
    
    if(equal(szMsg[0], "#Game_radio") && !equal(szMsg[1], "#Fire_in_the_hole"))
    {
        new szRadio[192];
        get_msg_arg_string(3, szRadio, 191)
        formatex(szMsg[0], 191,"^3%s",szRadio);
        set_msg_arg_string(3, szMsg[0])
    }
}
 
Сообщения
584
Реакции
1,006
Помог
18 раз(а)
Ayk, я лишь показал как выдрать индекс отправителя.
 

Ayk

Сообщения
763
Реакции
478
Помог
19 раз(а)
Mistrick, да, всё верно, но именно он и нужен для подмены %n.
И в целом, раз автор не сообщил о других проблемах, то решение рабочее.
 
Сообщения
10
Реакции
0
Я сделал это таким образом, я не знаю, правильно ли это, но это показывает мне сообщение так:

CT -> 666 (РАДИО): #Follow_me

Я не знаю, что делать, чтобы показать сообщение

PHP:
public OnTextMsg(iMsgId, iMsgDest, id)
{
    if(get_msg_args() != 5)
        return
        
    static szMsg[2][192]; new str[100]
    get_msg_arg_string(3, szMsg[0], charsmax(szMsg[]))
    get_msg_arg_string(5, szMsg[1], charsmax(szMsg[]))
    
    if(equal(szMsg[0], "#Game_radio") && !equal(szMsg[1], "#Fire_in_the_hole"))
    {
        static SenderName[32],MsgRadio[200]
        get_msg_arg_string(4, SenderName, charsmax(SenderName));
        get_msg_arg_string(5, MsgRadio, charsmax(MsgRadio));
        formatex(str, charsmax (str ),"^3%s ^4(RADIO): ^3%s",SenderName,MsgRadio);
        set_msg_arg_string(3,str)
    }
}
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу