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

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

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

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

Хочу сделать цветной чат (сообщение) у меня оно все желтым показывает

Статус пользователя Check
сообщение 6.5.2017, 17:42
Сообщение #1
Стаж: 6 лет 11 месяцев

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

Все приветли, вопрос такой я хочу сделать цветной чат (сообщение)
у меня оно все желтым показывает разные способы перепробовал
что пришлось сюда обратится!

и так:
#include <colorchat>

client_print_color(ALL, print_team_default, "%L", 0, "LEVEL_CHAT", name, index);

lang --
[ru]
LEVEL_CHAT = ^1[^4Level^1] Игрок ^4%s ^1 достигнул нового уровня: ^3%d exp

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Check
сообщение 6.5.2017, 18:09
Сообщение #2
Стаж: 6 лет 11 месяцев

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

вот что тут не так сделано? что оно не работает через ланг и не показывает цветной чат???
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AVOG
сообщение 6.5.2017, 18:14
Сообщение #3


Стаж: 7 лет 5 месяцев
Город: Актобе

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

Может версия амхх? попробуй вместо ALL - 0

Отредактировал: AVOG, - 6.5.2017, 18:15


OverCS.Ru - Магазин цифровых товаров.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Check
сообщение 6.5.2017, 19:40
Сообщение #4
Стаж: 6 лет 11 месяцев

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

Цитата(AVOG @ 6.5.2017, 18:14) *
Может версия амхх? попробуй вместо ALL - 0

не поверишь, тоже пробовал...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Check
сообщение 6.5.2017, 19:42
Сообщение #5
Стаж: 6 лет 11 месяцев

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

Ах да забыл
если это не выводить в ланг то оно работает, но мне нужно именно lang
client_print_color(ALL, print_team_default, "^1[^4Level^1] ^1Игрок^4 %s^1 достигнул нового уровня:^3 %d lvl", name, index);
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Check
сообщение 6.5.2017, 19:43
Сообщение #6
Стаж: 6 лет 11 месяцев

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

Я пробовал и через colorchat и через chatcolor, и через сток цветного чата и многое другое
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 6.5.2017, 20:01
Сообщение #7
Стаж: 9 лет 9 месяцев

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

Кодировку ланг файла проверь
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Check
сообщение 6.5.2017, 21:22
Сообщение #8
Стаж: 6 лет 11 месяцев

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

Цитата(voed @ 6.5.2017, 20:01) *
Кодировку ланг файла проверь

Я в первую очередь это всегда проверяю
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Check
сообщение 6.5.2017, 21:23
Сообщение #9
Стаж: 6 лет 11 месяцев

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

Может есть у кого какой вариант?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 6.5.2017, 21:28
Сообщение #10
Стаж: 9 лет 9 месяцев

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

Тогда скинь исходник колорчата, именно тот который ты юзаешь
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Check
сообщение 6.5.2017, 21:31
Сообщение #11
Стаж: 6 лет 11 месяцев

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

Цитата(voed @ 6.5.2017, 21:28) *
Тогда скинь исходник колорчата, именно тот который ты юзаешь

ты про это?
Код:
#if defined _colorchat_included
#endinput
#endif
#define _colorchat_included


#define DontChange print_team_default
#define Blue print_team_blue
#define Red print_team_red
#define Grey print_team_grey

#define GREY print_team_grey
#define RED print_team_red
#define BLUE print_team_blue
#define ColorChat client_print_color

enum
{
print_team_default = 0,
print_team_grey = 33,
print_team_red,
print_team_blue
};

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

static const szTeamName[][] =
{
"",
"TERRORIST",
"CT"
};

new szMessage[191];

new iParams = numargs();
// Specific player code
if( id )
{
if( iParams == 3 )
{
copy(szMessage, charsmax(szMessage), fmt); // copy so message length doesn't exceed critical 192 value
}
else
{
vformat(szMessage, charsmax(szMessage), fmt, 4);
}

if( sender > GREY )
{
if( sender > BLUE )
{
sender = id;
}
else
{
_CC_TeamInfo(id, sender, szTeamName[sender-GREY]);
}
}
_CC_SayText(id, sender, szMessage);
}

// Send message to all players
else
{
// Figure out if at least 1 player is connected
// so we don't execute useless useless code if not
new iPlayers[32], iNum;
get_players(iPlayers, iNum, "ch");
if( !iNum )
{
return 0;
}

new iMlNumber, i, j;
new Array:aStoreML = ArrayCreate();
if( iParams >= 5 ) // ML can be used
{
for(j=3; 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_ALL message if sender != 0
if( !iMlNumber )
{
if( iParams == 3 )
{
copy(szMessage, charsmax(szMessage), fmt);
}
else
{
vformat(szMessage, charsmax(szMessage), fmt, 4);
}
if( 0 < sender < BLUE ) // if 0 is passed, need to loop
{
if( sender > GREY )
{
_CC_TeamInfo(0, sender, szTeamName[sender-GREY]);
}
_CC_SayText(0, sender, szMessage);
return 1;
}
}

if( sender > BLUE )
{
sender = 0; // use receiver index
}

for(--iNum; iNum>=0; iNum--)
{
id = iPlayers[iNum];

if( iMlNumber )
{
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, charsmax(szMessage), fmt, 4);
}

if( sender > GREY )
{
_CC_TeamInfo(id, sender, szTeamName[sender-GREY]);
}
_CC_SayText(id, sender, szMessage);
}

ArrayDestroy(aStoreML);
}
return 1;
}

stock _CC_TeamInfo(iReceiver, iSender, szTeam[])
{
static iTeamInfo = 0;
if( !iTeamInfo )
{
iTeamInfo = get_user_msgid("TeamInfo");
}
message_begin(iReceiver ? MSG_ONE : MSG_ALL, iTeamInfo, _, iReceiver);
write_byte(iSender);
write_string(szTeam);
message_end();
}

stock _CC_SayText(iReceiver, iSender, szMessage[])
{
static iSayText = 0;
if( !iSayText )
{
iSayText = get_user_msgid("SayText");
}
message_begin(iReceiver ? MSG_ONE : MSG_ALL, iSayText, _, iReceiver);
write_byte(iSender ? iSender : iReceiver);
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 )
{
replace_all(szTranslation, charsmax(szTranslation), "!g", "^4");
replace_all(szTranslation, charsmax(szTranslation), "!t", "^3");
replace_all(szTranslation, charsmax(szTranslation), "!n", "^1");
AddTranslation(szLang, iKey, szTranslation[2]);
}
}
}

fclose(fp);
return 1;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 6.5.2017, 22:00
Сообщение #12
Стаж: 9 лет 9 месяцев

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

Вообще если у тебя без ланга работает, то сделай сначала формат, а потом выводи
Код:
new str[190]
formatex(str, charsmax(str), "%L", 0, "LEVEL_CHAT", name, index)
client_print_color(ALL, print_team_default, str);
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Check
сообщение 6.5.2017, 23:01
Сообщение #13
Стаж: 6 лет 11 месяцев

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

cbf1b2bfde1a.gif даже и не знаю уже что можно
Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 7.5.2017, 0:15
Сообщение #14
Стаж: 9 лет 9 месяцев

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

Код:
stock register_dictionary_colored(const filename[])
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Check
сообщение 7.5.2017, 11:03
Сообщение #15
Стаж: 6 лет 11 месяцев

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

Цитата(voed @ 7.5.2017, 0:15) *
Код:
stock register_dictionary_colored(const filename[])

не помогает
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Check
сообщение 7.5.2017, 11:32
Сообщение #16
Стаж: 6 лет 11 месяцев

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

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