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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.
2 страниц V   1 2

Colorchat.Inc

Статус пользователя eX-test
сообщение 13.2.2014, 17:55
Сообщение #1


Стаж: 14 лет

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

Нужен пофикшенный от connor mc leod, их так много развелось - не знаю какой взять
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
urpok
сообщение 13.2.2014, 18:52
Сообщение #2
Стаж: 13 лет

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

Тебе инклуд нужен ?
colorchat.inc
#if defined _colorchat_included
#endinput
#endif
#define _colorchat_included

enum Color
{
NORMAL = 1, // clients scr_concolor cvar color
GREEN, // Green Color
TEAM_COLOR, // Red, grey, blue
GREY, // grey
RED, // Red
BLUE, // Blue
}

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

ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
new message[256];

switch(type)
{
case NORMAL: // clients scr_concolor cvar color
{
message[0] = 0x01;
}
case GREEN: // Green
{
message[0] = 0x04;
}
default: // White, Red, Blue
{
message[0] = 0x03;
}
}

vformat(message[1], 251, msg, 4);


message[192] = '^0';

new team, ColorChange, index, MSG_Type;

if(id)
{
MSG_Type = MSG_ONE;
index = id;
} else {
index = FindPlayer();
MSG_Type = MSG_ALL;
}

team = get_user_team(index);
ColorChange = ColorSelection(index, MSG_Type, type);

ShowColorMessage(index, MSG_Type, message);

if(ColorChange)
{
Team_Info(index, MSG_Type, TeamName[team]);
}
}

ShowColorMessage(id, type, message[])
{
static bool:saytext_used;
static get_user_msgid_saytext;
if(!saytext_used)
{
get_user_msgid_saytext = get_user_msgid("SayText");
saytext_used = true;
}
message_begin(type, get_user_msgid_saytext, _, id);
write_byte(id)
write_string(message);
message_end();
}

Team_Info(id, type, team[])
{
static bool:teaminfo_used;
static get_user_msgid_teaminfo;
if(!teaminfo_used)
{
get_user_msgid_teaminfo = get_user_msgid("TeamInfo");
teaminfo_used = true;
}
message_begin(type, get_user_msgid_teaminfo, _, id);
write_byte(id);
write_string(team);
message_end();

return 1;
}

ColorSelection(index, type, Color:Type)
{
switch(Type)
{
case RED:
{
return Team_Info(index, type, TeamName[1]);
}
case BLUE:
{
return Team_Info(index, type, TeamName[2]);
}
case GREY:
{
return Team_Info(index, type, TeamName[0]);
}
}

return 0;
}

FindPlayer()
{
new i = -1;

while(i <= get_maxplayers())
{
if(is_user_connected(++i))
return i;
}

return -1;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя stefkone
сообщение 13.2.2014, 18:59
Сообщение #3


Иконка группы

Стаж: 19 лет

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

Код:
#if defined _colorchat_included
#endinput
#endif
#define _colorchat_included

/* ColorChat Support */
#define NORMAL DontChange
#define GREEN DontChange
#define TEAM_COLOR DontChange
#define RED Red
#define BLUE Blue
#define GREY Grey
#define ColorChat client_print_color
/* ColorChat Support */

enum _:Colors {
DontChange,
Red,
Blue,
Grey
}

stock const g_szTeamName[Colors][] =
{
"UNASSIGNED",
"TERRORIST",
"CT",
"SPECTATOR"
}

stock client_print_color(id, iColor=DontChange, const szMsg[], any:...)
{
// check if id is different from 0
if( id && !is_user_connected(id) )
{
return 0;
}

if( iColor > Grey )
{
iColor = DontChange;
}

new szMessage[192];
if( iColor == DontChange )
{
szMessage[0] = 0x04;
}
else
{
szMessage[0] = 0x03;
}

new iParams = numargs();
// Specific player code
if(id)
{
if( iParams == 3 )
{
copy(szMessage[1], charsmax(szMessage)-1, szMsg);
}
else
{
vformat(szMessage[1], charsmax(szMessage)-1, szMsg, 4);
}

if( iColor )
{
new szTeam[11]; // store current team so we can restore it
get_user_team(id, szTeam, charsmax(szTeam));

// set id TeamInfo in consequence
// so SayText msg gonna show the right color
Send_TeamInfo(id, id, g_szTeamName[iColor]);

// Send the message
Send_SayText(id, id, szMessage);

// restore TeamInfo
Send_TeamInfo(id, id, szTeam);
}
else
{
Send_SayText(id, id, szMessage);
}
}

// Send message to all players
else
{
// Figure out if at least 1 player is connected
// so we don't send useless message if not
// and we gonna use that player as team reference (aka SayText message sender) for color change
new iPlayers[32], iNum;
get_players(iPlayers, iNum, "ch");
if( !iNum )
{
return 0;
}

new iFool = iPlayers[0];

new iMlNumber, i, j;
new Array:aStoreML = ArrayCreate();
if( iParams >= 5 ) // ML can be used
{
for(j=4; j<iParams; j++)
{
// retrieve original param value and check if it's LANG_PLAYER value
if( getarg(j) == LANG_PLAYER )
{
i=0;
// as LANG_PLAYER == -1, check if next parm string is a registered language translation
while( ( szMessage[ i ] = getarg( j + 1, i++ ) ) ) {}
if( GetLangTransKey(szMessage) != TransKey_Bad )
{
// Store that arg as LANG_PLAYER so we can alter it later
ArrayPushCell(aStoreML, j++);

// Update ML array saire so we'll know 1st if ML is used,
// 2nd how many args we have to alterate
iMlNumber++;
}
}
}
}

// If arraysize == 0, ML is not used
// we can only send 1 MSG_BROADCAST message
if( !iMlNumber )
{
if( iParams == 3 )
{
copy(szMessage[1], charsmax(szMessage)-1, szMsg);
}
else
{
vformat(szMessage[1], charsmax(szMessage)-1, szMsg, 4);
}

if( iColor )
{
new szTeam[11];
get_user_team(iFool, szTeam, charsmax(szTeam));
Send_TeamInfo(0, iFool, g_szTeamName[iColor]);
Send_SayText(0, iFool, szMessage);
Send_TeamInfo(0, iFool, szTeam);
}
else
{
Send_SayText(0, iFool, szMessage);
}
}

// ML is used, we need to loop through all players,
// format text and send a MSG_ONE_UNRELIABLE SayText message
else
{
new szTeam[11], szFakeTeam[10];

if( iColor )
{
get_user_team(iFool, szTeam, charsmax(szTeam));
copy(szFakeTeam, charsmax(szFakeTeam), g_szTeamName[iColor]);
}

for( i = 0; i < iNum; i++ )
{
id = iPlayers[i];

for(j=0; j<iMlNumber; j++)
{
// Set all LANG_PLAYER args to player index ( = id )
// so we can format the text for that specific player
setarg(ArrayGetCell(aStoreML, j), _, id);
}

// format string for specific player
vformat(szMessage[1], charsmax(szMessage)-1, szMsg, 4);

if( iColor )
{
Send_TeamInfo(id, iFool, szFakeTeam);
Send_SayText(id, iFool, szMessage);
Send_TeamInfo(id, iFool, szTeam);
}
else
{
Send_SayText(id, iFool, szMessage);
}
}
ArrayDestroy(aStoreML);
}
}
return 1;
}

stock Send_TeamInfo(iReceiver, iPlayerId, szTeam[])
{
static iTeamInfo = 0;
if( !iTeamInfo )
{
iTeamInfo = get_user_msgid("TeamInfo");
}
message_begin(iReceiver ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, iTeamInfo, .player=iReceiver);
write_byte(iPlayerId);
write_string(szTeam);
message_end();
}

stock Send_SayText(iReceiver, iPlayerId, szMessage[])
{
static iSayText = 0;
if( !iSayText )
{
iSayText = get_user_msgid("SayText");
}
message_begin(iReceiver ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, iSayText, .player=iReceiver);
write_byte(iPlayerId);
write_string(szMessage);
message_end();
}

stock register_dictionary_colored(const filename[])
{
if( !register_dictionary(filename) )
{
return 0;
}

new szFileName[256];
get_localinfo("amxx_datadir", szFileName, charsmax(szFileName));
format(szFileName, charsmax(szFileName), "%s/lang/%s", szFileName, filename);
new fp = fopen(szFileName, "rt");
if( !fp )
{
log_amx("Failed to open %s", szFileName);
return 0;
}

new szBuffer[512], szLang[3], szKey[64], szTranslation[256], TransKey:iKey;

while( !feof(fp) )
{
fgets(fp, szBuffer, charsmax(szBuffer));
trim(szBuffer);

if( szBuffer[0] == '[' )
{
strtok(szBuffer[1], szLang, charsmax(szLang), szBuffer, 1, ']');
}
else if( szBuffer[0] )
{
strbreak(szBuffer, szKey, charsmax(szKey), szTranslation, charsmax(szTranslation));
iKey = GetLangTransKey(szKey);
if( iKey != TransKey_Bad )
{
while( replace(szTranslation, charsmax(szTranslation), "!g", "^4") ){}
while( replace(szTranslation, charsmax(szTranslation), "!t", "^3") ){}
while( replace(szTranslation, charsmax(szTranslation), "!n", "^1") ){}
AddTranslation(szLang, iKey, szTranslation[2]);
}
}
}

fclose(fp);
return 1;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя eX-test
сообщение 13.2.2014, 19:03
Сообщение #4


Стаж: 14 лет

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

пасяб!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 13.2.2014, 19:17
Сообщение #5
Стаж: 14 лет
Город: Moscow

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

Цитата(eX-test @ 13.2.2014, 19:55) *
Нужен пофикшенный от connor mc leod

Оригинальный уже был пофикшен автором. Я сделал маленькую добавку для совместимости с плагинами, сделанными во времена предыдущей оригинальной версии, она тут. Lev позже выполнил ряд модификаций, советую использовать только его версию; загрузка тут.

Правила применения: актуальны для старых билдов AMXX! В AMXX 1.8.3-dev с билда hg185 - своя поддержка!
• #include <colorchat> в каждом плагине
• вместо register_dictionary - register_dictionary_colored
• любая строка, которая должна быть цветной, должна начинаться с color-тэга (^1, ^3, ^4)
• второй аргумент в client_print_color(index, sender, const fmt[], any:...) задаёт тим-цвет:
Цитата(Safety1st @ 1.2.2014, 2:50) *
• DontChange - цвет, который увидит игрок, определяется тем, в какой он команде: CT увидят синий, TT - красный
• DontChange + sender index - цвет определяется командой 'отправителя' сообщения
• Red - все игроки будут видеть красный
• Blue - то же, но синий
• Grey - то же, но серый
Если тим-цвет в строке не используется, я рекомендую всегда ставить DontChange, фактически это и есть дефолтное значение аргумента.

Примеры:
Код
client_print_color( 0, DontChange, "^1normal ^4green" )
ColorChat( 0, DontChange, "^1normal ^4green" )
client_print_color( 0, Blue, "^1normal ^3blue" )
client_print_color( 0, DontChange, "^1normal ^3team" )
client_print_color( 0, DontChange + id, "^1normal ^3team" )


Если цветной чат используется во множестве плагинов на сервере, разумнее заюзать отдельный плагин от ConnorMcLeod для формирования цветных сообщений, а не вставлять один и тот же код в каждый. Нужные файлы прикреплены к шапке, автор называет этот вариант 'fake native' (видимо, поскольку настоящие нативы - нативы, предоставляемые модулями). Правила все те же, только:
• вместо #include <colorchat> -> #include <chatcolor>;
• только натива client_print_color(). Хотя поддержку ColorChat() добавить легко самому.

--

stefkone, твой вариант - предыдущая версия. Она не работает корректно и была исправлена автором 12.07.2013 г.

Отредактировал: Safety1st, - 15.7.2014, 11:17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 4 раз
   + Цитировать сообщение
Статус пользователя eX-test
сообщение 13.2.2014, 19:34
Сообщение #6


Стаж: 14 лет

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

Цитата(Safety1st @ 13.2.2014, 20:17) *
Оригинальный уже был пофикшен автором. Я сделал маленькую добавку для совместимости с плагинами, сделанными во времена предыдущей оригинальной версии, она тут.

Правила применения:
• #include <colorchat> в каждом плагине
• вместо register_dictionary - register_dictionary_colored
• любая строка, которая должна быть цветной, должна начинаться с color-тэга (^1, ^3, ^4)
• второй аргумент в client_print_color(index, sender, const fmt[], any:...) задаёт тим-цвет:
Если тим-цвет в строке не используется, я рекомендую всегда ставить DontChange, фактически это и есть дефолтное значение аргумента.

Примеры:
Код
client_print_color( 0, DontChange, "^1normal ^4green" )
ColorChat( 0, DontChange, "^1normal ^4green" )
client_print_color( 0, Blue, "^1normal ^3blue" )
client_print_color( 0, DontChange, "^1normal ^3team" )


Если цветной чат используется во множестве плагинов на сервере, разумнее заюзать отдельный плагин от ConnorMcLeod для формирования цветных сообщений, а не вставлять один и тот же код в каждый. Нужные файлы прикреплены к шапке, автор называет этот вариант 'fake native' (видимо, поскольку настоящие нативы - нативы, предоставляемые модулями). Правила все те же, только:
• вместо #include <colorchat> -> #include <chatcolor>;
• только натива client_print_color(). Хотя поддержку ColorChat() добавить легко самому.

--

stefkone, твой вариант - предыдущая версия. Она не работает корректно и была исправлена автором 12.07.2013 г.

Вот что и искал. именно твой фикс
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 30.9.2016, 9:59
Сообщение #7


Стаж: 12 лет

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

Подскажите пожалуйта!

Как сделать что бы в сообщении был красный и синий цвет одновременно ?

Нужно что бы в надписи:
"имя1 убил имя2"
имя1 = цвета команды игрока имя1
имя2 = цвета команды игрока имя2

Ну или на крайняк сам буду проверять через cs_get_user_team команду и сам писать каждому игроку цвет.
Т.е. пример:
"имя1 убил и мя2"
имя1 = синим
имя2 = красным


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Unknown
сообщение 30.9.2016, 10:03
Сообщение #8
Стаж: 10 лет

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

уже миллион раз повторили что это невозможно.


Аткажитесъ от плагенов бес исходника.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 30.9.2016, 10:12
Сообщение #9


Стаж: 12 лет

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

Цитата(Unknown @ 30.9.2016, 11:03) *
уже миллион раз повторили что это невозможно.

ни одного раза с миллиона не видел.

То получается, использовать одновременно синий и серый тоже невозможно ?

Отредактировал: ssx, - 30.9.2016, 10:16


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 30.9.2016, 10:19
Сообщение #10


Стаж: 12 лет

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

ssx, да, цвета команд в одном сообщении обычными colorchat'ами не чередуются, а именно можно использовать только цвет текущей команды.
Но про невозможно я что то сомневаюсь, вроде было какое то решение.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Unknown
сообщение 30.9.2016, 10:25
Сообщение #11
Стаж: 10 лет

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

Невозможно!
1 000 001


Аткажитесъ от плагенов бес исходника.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя energydance
сообщение 30.9.2016, 10:36
Сообщение #12


Стаж: 10 лет

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

ssx, видел на одном из серверов , админ писал белым текстом в чате хотя играл за команду , в кс естевственно стандартный цвет стоит желтый , значит все таки есть возможность , сервер к сожалению не помню


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 30.9.2016, 10:47
Сообщение #13


Стаж: 12 лет

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

energydance, цвет ставится не написавшего, а читающего. Т.е. например админ написал цветом команды, а CT увидели синим, TT увидели красным, а SPEC увидели серым.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя oxoTHuk.
сообщение 30.9.2016, 11:00
Сообщение #14


Иконка группы

Стаж: 17 лет

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

Лень смотреть 1.8.2, в 1.8.3 есть такое:
Код:
client_print_color(id, print_team_red, "^4Green ^3Red ^1Default")

И будет в чат писать только красным, вне зависимости от команды игрока
Код:
client_print_color(id, id2, "^4Green ^3id2's team color, ^1Default")

А тут после ^3 будет цвет того, кому отправили. Я думаю в 1.8.2 инклюде тоже есть такое =)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 30.9.2016, 11:02
Сообщение #15


Стаж: 12 лет

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

oxoTHuk., да, я не совсем правильно написал, запамятовал уже. Но чередовать все же в одной мессаге не выходит.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 30.9.2016, 11:29
Сообщение #16


Стаж: 12 лет

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

Цитата(Bloo @ 30.9.2016, 12:02) *
oxoTHuk., да, я не совсем правильно написал, запамятовал уже. Но чередовать все же в одной мессаге не выходит.

Если вот так:
Код:
client_print_color(0, DontChange + id, "^3%s ^4ололо", nick) 

То будет цвет команды отправляющего виден ВСЕМ игрокам.

Нужно как-то сделать что бы можно было использовать вместе цвета:
синий + красный
синий/красный + серый

Отредактировал: ssx, - 30.9.2016, 11:33


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 30.9.2016, 11:31
Сообщение #17


Стаж: 12 лет

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

ssx, да я про и забыл.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BaHeK
сообщение 30.9.2016, 12:38
Сообщение #18


Стаж: 17 лет

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

ssx,
Цитата
Нужно как-то сделать что бы можно было использовать вместе цвета:
синий + красный
синий/красный + серый

Невозможно использовать хотя бы 2 цвета из этих вместе, это цвет команды.
print_team_red, print_team_blue, print_team_green - перед отправкой сообщения меняют команду игрока в TAB, чтобы игрок увидел сообщение красным, синим или серым, а после меняется обратно.


Чуть-чуть нарушаю
http://img-host.su/aoN1.png
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя parmezan
сообщение 30.9.2016, 13:13
Сообщение #19


Стаж: 12 лет

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

Ловите кому пригодится, давно еще сделали решение чтобы можно было писать красным для всех команд аля предупреждения в чате
colorchat.inc
Код:
#if defined _colorchat_Included
#endinput
#endif
#define _colorchat_Included

#include <cstrike>

#define MAX_LANG_ARGS 5

enum
{
print_team_default = 0,
print_team_red = -1,
print_team_blue = -2,
print_team_grey = -3,
}

static const g_sTeamNames[][] =
{
"UNASSIGNED",
"TERRORIST",
"CT",
"SPECTATOR"
}

stock client_print_color ( receiver, sender = print_team_default, const message[], any:... )
{
new sBuffer[256]
new iArgs = numargs ()

if ( sender < print_team_grey || sender > 32 )
sender = print_team_default

if ( receiver )
{
for ( new iArg = 3; iArg < iArgs; iArg++ )
{
if ( getarg ( iArg ) != LANG_PLAYER )
continue

setarg ( iArg, _, receiver )
}

vformat ( sBuffer, 255, message, 4 )

while ( replace ( sBuffer, 255, "!y", "^1" ) ) {}
while ( replace ( sBuffer, 255, "!t", "^3" ) ) {}
while ( replace ( sBuffer, 255, "!g", "^4" ) ) {}

sBuffer[190] = '^0'

if ( sender >= 0 )
UTIL_SayText ( receiver, sender ? sender : receiver, sBuffer )
else
{
new iTeam = _:cs_get_user_team ( receiver )

if ( iTeam == -sender )
UTIL_SayText ( receiver, receiver, sBuffer )
else
{
UTIL_TeamInfo ( receiver, receiver, g_sTeamNames[-sender] )
UTIL_SayText ( receiver, receiver, sBuffer )
UTIL_TeamInfo ( receiver, receiver, g_sTeamNames[iTeam] )
}
}
}
else
{
new iChangeArgs[MAX_LANG_ARGS]
new iChanges, iArg

for ( iArg = 3; iArg < iArgs; iArg++ )
{
if ( getarg ( iArg ) != LANG_PLAYER )
continue

iChangeArgs[iChanges++] = iArg

if ( iChanges == MAX_LANG_ARGS )
break
}

new iPlayers[32], iNum, iPlayer
get_players ( iPlayers, iNum )

for ( new i; i < iNum; i++ )
{
iPlayer = iPlayers[i]

for ( iArg = 0; iArg < iChanges; iArg++ )
setarg ( iChangeArgs[iArg], _, iPlayer )

vformat ( sBuffer, 255, message, 4 )

while ( replace ( sBuffer, 255, "!y", "^1" ) ) {}
while ( replace ( sBuffer, 255, "!t", "^3" ) ) {}
while ( replace ( sBuffer, 255, "!g", "^4" ) ) {}

sBuffer[190] = '^0'

if ( sender >= 0 )
UTIL_SayText ( iPlayer, sender ? sender : iPlayer, sBuffer )
else
{
new iTeam = _:cs_get_user_team ( iPlayer )

if ( iTeam == -sender )
UTIL_SayText ( iPlayer, iPlayer, sBuffer )
else
{
UTIL_TeamInfo ( iPlayer, iPlayer, g_sTeamNames[-sender] )
UTIL_SayText ( iPlayer, iPlayer, sBuffer )
UTIL_TeamInfo ( iPlayer, iPlayer, g_sTeamNames[iTeam] )
}
}
}
}
}

stock UTIL_SayText ( entity, sender, const message[] )
{
static msgSayText
if ( !msgSayText )
msgSayText = get_user_msgid ( "SayText" )

message_begin ( MSG_ONE, msgSayText, .player = entity )
write_byte ( sender )
write_string ( message )
message_end ()
}

stock UTIL_TeamInfo ( entity, player, const team_name[] )
{
static msgTeamInfo
if ( !msgTeamInfo )
msgTeamInfo = get_user_msgid ( "TeamInfo" )

message_begin ( MSG_ONE, msgTeamInfo, .player = entity )
write_byte ( player )
write_string ( team_name )
message_end ()
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 30.9.2016, 13:42
Сообщение #20


Стаж: 12 лет

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

parmezan,
Не совсем понял где можно применить данный кусок кода если можно одной строкой:
Код:
client_print_color(0, Red, "^3Красный ^1Стандартный ^4Зеленый")

И будет видно всем одинаково.
Так же синим:
Код:
client_print_color(0, Blue, "^3Синий ^1Стандартный ^4Зеленый")


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: