Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Как добавить красный цвет в плагин: advertisements

Статус пользователя vad1m19981
сообщение 22.9.2014, 17:05
Сообщение #1
Стаж: 11 лет

Сообщений: 11
Благодарностей: 1
Полезность: 0

Здравствуйте.
Помогите пожалуйтса добавить красный цвет в плагине advertisements.
Если что-то ещё нужно для этого пишите.
Плагин и Include:


Прикрепленные файлы:
Прикрепленный файл  advertisements.sma ( 1,84 килобайт ) Кол-во скачиваний: 20
Прикрепленный файл  colorchat.rar ( 2,08 килобайт ) Кол-во скачиваний: 26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя winXP
сообщение 22.9.2014, 17:08
Сообщение #2


Стаж: 11 лет

Сообщений: 29
Благодарностей: 3
Полезность: 3

vad1m19981,
Тебе нужен чтобы цветным шрифтом писались сообщения в чат, с конфига?

Отредактировал: winXP, - 22.9.2014, 17:09
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vad1m19981
сообщение 22.9.2014, 17:12
Сообщение #3
Стаж: 11 лет

Сообщений: 11
Благодарностей: 1
Полезность: 0

Цитата(winXP @ 22.9.2014, 17:08) *
vad1m19981,
куда добавить?
Кусок кода куда добавить скинь.

Так я же выложил Инклюд и плагин, что ещё нужно, и написал в какой плагин добавить, advertisements - это реклама на сервере.

Цитата(winXP @ 22.9.2014, 17:08) *
vad1m19981,
Тебе нужен чтобы цветным шрифтом писались сообщения в чат, с конфига?

Да он и так цветной только нету синего и красного цвета, только цвет команды. За ТТ - красным, а за КТ - синим, а я хочу сделать что бы можно было за КТ красным и за терров, и так же синий для терров синий и для кт.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя winXP
сообщение 22.9.2014, 17:12
Сообщение #4


Стаж: 11 лет

Сообщений: 29
Благодарностей: 3
Полезность: 3

vad1m19981,
Это пишется не в плагин, а в конфиг "adverts.ini"..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя winXP
сообщение 22.9.2014, 17:12
Сообщение #5


Стаж: 11 лет

Сообщений: 29
Благодарностей: 3
Полезность: 3

Доступно 3 цвета:

!g - зеленый
!y - обычный желтый цвет чата
!t - цвет команды(красный/синий)
в плагине.
Например тебе нужно зеленое сообщение ты пишешь:
"!gМоё сообщение и тд!"
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vad1m19981
сообщение 22.9.2014, 17:14
Сообщение #6
Стаж: 11 лет

Сообщений: 11
Благодарностей: 1
Полезность: 0

Цитата(winXP @ 22.9.2014, 17:12) *
vad1m19981,
Это пишется не в плагин, а в конфиг "adverts.ini"..

Вот какие цвета можно только изменять в конфинге:
Код:
	replace_all(string, len, "!n", "^1");
replace_all(string, len, "!t", "^3");
replace_all(string, len, "!g", "^4");

Ну и в инклюде.

Цитата(winXP @ 22.9.2014, 17:12) *
Доступно 3 цвета:

!g - зеленый
!y - обычный желтый цвет чата
!t - цвет команды(красный/синий)
в плагине.
Например тебе нужно зеленое сообщение ты пишешь:
"!gМоё сообщение и тд!"

А МНЕ НУЖЕН КРАСНЫЙ.
TEAM_COLOR - не пойдёт...)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя winXP
сообщение 22.9.2014, 17:22
Сообщение #7


Стаж: 11 лет

Сообщений: 29
Благодарностей: 3
Полезность: 3

Цитата(vad1m19981 @ 22.9.2014, 17:14) *
Вот какие цвета можно только изменять в конфинге:
Код:
	replace_all(string, len, "!n", "^1");
replace_all(string, len, "!t", "^3");
replace_all(string, len, "!g", "^4");

Ну и в инклюде.


А МНЕ НУЖЕН КРАСНЫЙ.
TEAM_COLOR - не пойдёт...)


Код
    replace_all(string, len, "!r", "^5");

Поставь это под это
Код
replace_all(string, len, "!n", "^1");
    replace_all(string, len, "!t", "^3");
    replace_all(string, len, "!g", "^4");


И потом пишешь:
!rБлаблабла!
И будет тебе оно красным цветом)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 22.9.2014, 17:29
Сообщение #8
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

winXP, это вы сами придумали?
Это возможно только на amxmodx 1.8.3 с использованием натива client_print_color, насколько мне известно
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя winXP
сообщение 22.9.2014, 17:40
Сообщение #9


Стаж: 11 лет

Сообщений: 29
Благодарностей: 3
Полезность: 3

Вот веськ од плагина.
Код:
#include <amxmodx>
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif

#define ALL // Показывать всем. Для показа только мервым и спектаторам закомментируйте
#define REPEAT_TIME 60.0 // Время между сообщениями

new adMessages[256][192];
new ad_count, iMessgCount;

public plugin_init()
{
register_plugin("Advert Messages", "1.2", "neygomon\ add red color by ChesterField*");
set_task(REPEAT_TIME, "advert", .flags="b");
}

public plugin_cfg()
{
new configsdir[64], filename[64], file;
get_localinfo("amxx_configsdir", configsdir,charsmax(configsdir));
formatex(filename, charsmax(filename), "%s/adverts.ini",configsdir);

file = fopen(filename,"r");

if(file)
{
new string[512], message[192];
while((ad_count < 256) && !feof(file))
{
fgets(file, string, charsmax(string));

if((string[0] != ';') && (string[0] != '/') && parse(string, message, charsmax(message)))
{
format_color(message, charsmax(message));
copy(adMessages[ad_count], 192, message);
ad_count++;
}
}
fclose(file);
}
else
log_amx("File ^"%s^" not found", filename);
}

public advert()
{
if(!ad_count) return;
#if defined ALL
client_print_color(0, 0, "%s", adMessages[iMessgCount == ad_count ? (iMessgCount = 0) : iMessgCount++]);
#else
static players[32], pcount;
get_players(players, pcount, "bch");
for(new i; i < pcount; i++)
{
client_print_color(players[i], 0, "%s", adMessages[iMessgCount == ad_count ? (iMessgCount = 0) : iMessgCount++]);
}
#endif
}

stock format_color(message[], msglen)
{
new string[256], len = charsmax(string);

copy(string, len, message);

replace_all(string, len, "!n", "^1");
replace_all(string, len, "!t", "^3");
replace_all(string, len, "!g", "^4");
replace_all(string, len, "!r", "^5");

formatex(message, msglen, "^1%s", string);
}


Цитата(voed @ 22.9.2014, 17:29) *
winXP, это вы сами придумали?
Это возможно только на amxmodx 1.8.3 с использованием натива client_print_color, насколько мне известно


А вы видели этот участок кода?

Код
client_print_color(players[i], 0, "%s", adMessages[iMessgCount == ad_count ? (iMessgCount = 0) : iMessgCount++]);


Честерфилд это я, если что.

Отредактировал: winXP, - 22.9.2014, 17:46
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 22.9.2014, 17:48
Сообщение #10
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(winXP @ 22.9.2014, 17:40) *
А вы видели этот участок кода?

Код
client_print_color(players[i], 0, "%s", adMessages[iMessgCount == ad_count ? (iMessgCount = 0) : iMessgCount++]);

А вы отличаете натив от инклуда?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя winXP
сообщение 22.9.2014, 17:51
Сообщение #11


Стаж: 11 лет

Сообщений: 29
Благодарностей: 3
Полезность: 3

voed,
Извиняюсь, перепутал. blush2.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RoccatZERO
сообщение 22.9.2014, 17:53
Сообщение #12
Стаж: 11 лет

Сообщений: 65
Благодарностей: 14
Полезность: 116

Цитата(winXP @ 22.9.2014, 20:22) *
Код
    replace_all(string, len, "!r", "^5");

Поставь это под это
Код
replace_all(string, len, "!n", "^1");
    replace_all(string, len, "!t", "^3");
    replace_all(string, len, "!g", "^4");


И потом пишешь:
!rБлаблабла!
И будет тебе оно красным цветом)

Ахах, выдумщик ты однако
Код:
replace_all(_translation_szBuffer, charsmax(_translation_szBuffer), "!g", "^4");
replace_all(_translation_szBuffer, charsmax(_translation_szBuffer), "!t", "^3");
replace_all(_translation_szBuffer, charsmax(_translation_szBuffer), "!n", "^1");
replace_all(_translation_szBuffer, charsmax(_translation_szBuffer), "^^4", "^4");
replace_all(_translation_szBuffer, charsmax(_translation_szBuffer), "^^3", "^3");
replace_all(_translation_szBuffer, charsmax(_translation_szBuffer), "^^1", "^1");
replace_all(_translation_szBuffer, charsmax(_translation_szBuffer), "^^n", "^n");
replace_all(_translation_szBuffer, charsmax(_translation_szBuffer), "^^t", "^t");
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя panikajo
сообщение 22.9.2014, 19:28
Сообщение #13
Стаж: 12 лет

Сообщений: 395
Благодарностей: 51
Полезность: < 0

Скрытый текст
Код
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "text in chat"
#define VERSION "1.0"
#define AUTHOR "patr1g / Pr4yer"


enum ChatColor
{
    CHATCOLOR_YELLOW = 1,     // ЖЁЛТЫЙ
    CHATCOLOR_GREEN,     // ЗЕЛЁНЫЙ
    CHATCOLOR_TEAM_COLOR,     // Цвет, в зависимости от команды. (T - красный, CT - синий, CPEC - серый)
    CHATCOLOR_GREY,     // СЕРЫЙ
    CHATCOLOR_RED,         // КРАСНЫЙ
    CHATCOLOR_BLUE,     // СИНИЙ
}

new g_TeamName[][] =
{
    "",
    "TERRORIST",
    "CT",
    "SPECTATOR"
}

new g_msgSayText
new g_msgTeamInfo


public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_cvar("text_chat", "1")
    register_cvar("text_chat_interval", "25")
    
    register_cvar("text_chat_1", "PETYX 1")
    register_cvar("text_chat_2", "PETYX 2")
    register_cvar("text_chat_3", "PETYX 3")
    register_cvar("text_chat_4", "PETYX 4")
    register_cvar("text_chat_5", "PETYX 5")
    
    g_msgSayText = get_user_msgid("SayText")
    g_msgTeamInfo = get_user_msgid("TeamInfo")
}

public plugin_cfg()
{
  set_task(get_cvar_float("text_chat_interval"), "showMsg", 12345, "", _, "b")
}

public showMsg()
{
  if(get_cvar_num("text_chat") == 1)
  {
    static
            msg1[128],
            msg2[128],
            msg3[128],
            msg4[128],
            msg5[128]
    
    get_cvar_string("text_chat_1", msg1, 127)
    get_cvar_string("text_chat_2", msg2, 127)
    get_cvar_string("text_chat_3", msg3, 127)
    get_cvar_string("text_chat_4", msg4, 127)
    get_cvar_string("text_chat_5", msg5, 127)
    
    colorChat(0, CHATCOLOR_RED, "%s", msg1)
    colorChat(0, CHATCOLOR_RED, "%s", msg2)
    colorChat(0, CHATCOLOR_RED, "%s", msg3)
    colorChat(0, CHATCOLOR_RED, "%s", msg4)
    colorChat(0, CHATCOLOR_RED, "%s", msg5)
  }
}

colorChat(id, ChatColor:color, const msg[], {Float,Sql,Result,_}:...)
{
    new team, index, MSG_Type
    new bool:teamChanged = false
    new message[192]
    
    switch(color)
    {
        case CHATCOLOR_YELLOW:
        {
            message[0] = 0x01;
        }
        case CHATCOLOR_GREEN:
        {
            message[0] = 0x04;
        }
        default:
        {
            message[0] = 0x03;
        }
    }
    
    vformat(message[1], 190, msg, 4);
    
    if (id == 0)
    {
        index = findAnyPlayer();
        MSG_Type = MSG_ALL;
    }
    else
    {
        index = id;
        MSG_Type = MSG_ONE;
    }
    if (index != 0)
    {
        team = get_user_team(index);    
        if (color == CHATCOLOR_RED && team != 1)
        {
            messageTeamInfo(index, MSG_Type, g_TeamName[1])
            teamChanged = true
        }
        else
        if (color == CHATCOLOR_BLUE && team != 2)
        {
            messageTeamInfo(index, MSG_Type, g_TeamName[2])
            teamChanged = true
        }
        else
        if (color == CHATCOLOR_GREY && team != 0)
        {
            messageTeamInfo(index, MSG_Type, g_TeamName[0])
            teamChanged = true
        }
        messageSayText(index, MSG_Type, message);
        if (teamChanged)
        {
            messageTeamInfo(index, MSG_Type, g_TeamName[team]);
        }
    }
}

messageSayText(id, type, message[])
{
    message_begin(type, g_msgSayText, _, id)
    write_byte(id)        
    write_string(message)
    message_end()
}
    
messageTeamInfo(id, type, team[])
{
    message_begin(type, g_msgTeamInfo, _, id)
    write_byte(id)
    write_string(team)
    message_end()
}
    
findAnyPlayer()
{
    new players[32], inum
    
    get_players(players, inum)
    
    for (new a = 0; a < inum; ++a)
    {
        if(is_user_connected(players[a]))
        {
            return players[a]
        }
    }
    return 0
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vad1m19981
сообщение 22.9.2014, 19:46
Сообщение #14
Стаж: 11 лет

Сообщений: 11
Благодарностей: 1
Полезность: 0

Цитата(panikajo @ 22.9.2014, 19:28) *
Скрытый текст
Код
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "text in chat"
#define VERSION "1.0"
#define AUTHOR "patr1g / Pr4yer"


enum ChatColor
{
    CHATCOLOR_YELLOW = 1,     // ЖЁЛТЫЙ
    CHATCOLOR_GREEN,     // ЗЕЛЁНЫЙ
    CHATCOLOR_TEAM_COLOR,     // Цвет, в зависимости от команды. (T - красный, CT - синий, CPEC - серый)
    CHATCOLOR_GREY,     // СЕРЫЙ
    CHATCOLOR_RED,         // КРАСНЫЙ
    CHATCOLOR_BLUE,     // СИНИЙ
}

new g_TeamName[][] =
{
    "",
    "TERRORIST",
    "CT",
    "SPECTATOR"
}

new g_msgSayText
new g_msgTeamInfo


public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    register_cvar("text_chat", "1")
    register_cvar("text_chat_interval", "25")
    
    register_cvar("text_chat_1", "PETYX 1")
    register_cvar("text_chat_2", "PETYX 2")
    register_cvar("text_chat_3", "PETYX 3")
    register_cvar("text_chat_4", "PETYX 4")
    register_cvar("text_chat_5", "PETYX 5")
    
    g_msgSayText = get_user_msgid("SayText")
    g_msgTeamInfo = get_user_msgid("TeamInfo")
}

public plugin_cfg()
{
  set_task(get_cvar_float("text_chat_interval"), "showMsg", 12345, "", _, "b")
}

public showMsg()
{
  if(get_cvar_num("text_chat") == 1)
  {
    static
            msg1[128],
            msg2[128],
            msg3[128],
            msg4[128],
            msg5[128]
    
    get_cvar_string("text_chat_1", msg1, 127)
    get_cvar_string("text_chat_2", msg2, 127)
    get_cvar_string("text_chat_3", msg3, 127)
    get_cvar_string("text_chat_4", msg4, 127)
    get_cvar_string("text_chat_5", msg5, 127)
    
    colorChat(0, CHATCOLOR_RED, "%s", msg1)
    colorChat(0, CHATCOLOR_RED, "%s", msg2)
    colorChat(0, CHATCOLOR_RED, "%s", msg3)
    colorChat(0, CHATCOLOR_RED, "%s", msg4)
    colorChat(0, CHATCOLOR_RED, "%s", msg5)
  }
}

colorChat(id, ChatColor:color, const msg[], {Float,Sql,Result,_}:...)
{
    new team, index, MSG_Type
    new bool:teamChanged = false
    new message[192]
    
    switch(color)
    {
        case CHATCOLOR_YELLOW:
        {
            message[0] = 0x01;
        }
        case CHATCOLOR_GREEN:
        {
            message[0] = 0x04;
        }
        default:
        {
            message[0] = 0x03;
        }
    }
    
    vformat(message[1], 190, msg, 4);
    
    if (id == 0)
    {
        index = findAnyPlayer();
        MSG_Type = MSG_ALL;
    }
    else
    {
        index = id;
        MSG_Type = MSG_ONE;
    }
    if (index != 0)
    {
        team = get_user_team(index);    
        if (color == CHATCOLOR_RED && team != 1)
        {
            messageTeamInfo(index, MSG_Type, g_TeamName[1])
            teamChanged = true
        }
        else
        if (color == CHATCOLOR_BLUE && team != 2)
        {
            messageTeamInfo(index, MSG_Type, g_TeamName[2])
            teamChanged = true
        }
        else
        if (color == CHATCOLOR_GREY && team != 0)
        {
            messageTeamInfo(index, MSG_Type, g_TeamName[0])
            teamChanged = true
        }
        messageSayText(index, MSG_Type, message);
        if (teamChanged)
        {
            messageTeamInfo(index, MSG_Type, g_TeamName[team]);
        }
    }
}

messageSayText(id, type, message[])
{
    message_begin(type, g_msgSayText, _, id)
    write_byte(id)        
    write_string(message)
    message_end()
}
    
messageTeamInfo(id, type, team[])
{
    message_begin(type, g_msgTeamInfo, _, id)
    write_byte(id)
    write_string(team)
    message_end()
}
    
findAnyPlayer()
{
    new players[32], inum
    
    get_players(players, inum)
    
    for (new a = 0; a < inum; ++a)
    {
        if(is_user_connected(players[a]))
        {
            return players[a]
        }
    }
    return 0
}

А зачем мне сразу выводить 5 сообщений?
Об этом плагине я уже давно знал но не стал я его скачивать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: