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

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

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

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

> Информационная доска

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

1. Во время создания новой темы аккуратно оформляйте её, не допускайте грамматических ошибок.
2. Описывая проблему старайтесь, как можно больше рассказать о ней, а так же о действиях с сервером после которых она возникла, по возможности подкрепите информацию логами.
3. Если вопрос касается проблемы в работе сервера, то обязательно прикрепляйте список плагинов (введите в консоли сервера: meta list и amxx plugins), настройки server.cfg, логи. Так же указывайте операционную систему, версию HLDS (введите к консоли сервера: version) и где хостится сервер.

Длинную информацию скрывайте под спойлер.

Зеленый чат

Статус пользователя verizon
сообщение 26.9.2013, 17:38
Сообщение #1


Стаж: 13 лет

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

У меня на сервере такой баг, когда в консоле пишешь "say %TEXT" то в чате сообщение высвечивается зеленым. Есть какой-то фикс этого ?

Отредактировал: verizon, - 26.9.2013, 17:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя offtop2012
сообщение 26.9.2013, 17:47
Сообщение #2


Стаж: 13 лет

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

Цитата(verizon @ 26.9.2013, 19:38) *
У меня на сервере такой баг, когда в консоле пишешь "say %TEXT" то в чате сообщение высвечивается зеленым. Есть какой-то фикс этого ?

Список плагинов скинь
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя verizon
сообщение 26.9.2013, 17:53
Сообщение #3


Стаж: 13 лет

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

из тех что работают с плагином, только army ranks.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TarikYuzkiv
сообщение 26.9.2013, 18:32
Сообщение #4
Стаж: 13 лет

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

Плагины тут ни при чём.

Отредактировал: TarikYuzkiv, - 26.9.2013, 18:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя LaFA
сообщение 26.9.2013, 19:24
Сообщение #5


Стаж: 16 лет

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

TarikYuzkiv, это загадка которая останется нераскрытой... особенно без списка плагинов.

по-моему это баг колортранслита, если память не подводит - название верное, мб он где-то вшит для цветных сообщений, исправляется заменой способа вывода зеленых сообщений, хотя точно уже не скажу.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя offtop2012
сообщение 26.9.2013, 19:33
Сообщение #6


Стаж: 13 лет

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

Цитата(TarikYuzkiv @ 26.9.2013, 20:32) *
Плагины тут ни при чём.

Если ты знаешь что плагины не причем, напиши тогда в чем проблема
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 26.9.2013, 19:44
Сообщение #7


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

Стаж: 16 лет

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

Меценат Меценат

Цитата(offtop2012 @ 26.9.2013, 21:33) *
Если ты знаешь что плагины не причем, напиши тогда в чем проблема

это баг плагинов admin_chat_colors и подобных

и в частности инклуда colorchat.inc
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TarikYuzkiv
сообщение 26.9.2013, 19:46
Сообщение #8
Стаж: 13 лет

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

Оу, неправ, извиняюсь.

Все время думал, что эта "фича" вшита в игру/hlds...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя gudaus
сообщение 26.9.2013, 21:07
Сообщение #9


Стаж: 14 лет

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

У всех зелёный или только у админов? Если у всех, то баг какого-то плагина, работающего с чатом. Если только у админов, то фича. Смотри настройки.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Shur1k_ua
сообщение 26.9.2013, 21:13
Сообщение #10


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

Стаж: 14 лет
Город: Ровно

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

Да всё равно, список плагинов нужен. В описании написано уже, если проблемы, нужно выкладывать список плагинов и server.cfg


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя LaFA
сообщение 27.9.2013, 0:34
Сообщение #11


Стаж: 16 лет

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

Legenda, да, я напутал малёха с названием, именно в нём проблема.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
exec1337
сообщение 27.9.2013, 0:47
Сообщение #12
Стаж: 13 лет

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

TarikYuzkiv,отчасти вы правы. Это баг/уязвимость.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя LaFA
сообщение 27.9.2013, 0:50
Сообщение #13


Стаж: 16 лет

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

exec1337, уязвимостью сложно назвать, обычный баг)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя cMeeX
сообщение 27.9.2013, 1:11
Сообщение #14
Стаж: 14 лет

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

это от army ranks :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя winzh1
сообщение 27.9.2013, 3:43
Сообщение #15


Стаж: 14 лет

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

Нашел такой интересный плагин
Код:
#include <amxmodx>

#define PLUGIN "Remove % bug in chat"
#define VERSION "1.1"
#define AUTHOR "Sn!ff3r"

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say","hook")
register_clcmd("say_team","hook")
}

public hook(id)
{
new said[3]
read_args(said,2)
return said[1] == '%' ? PLUGIN_HANDLED : PLUGIN_CONTINUE
}


Установлю и настрою FreshBans, DopBan.
Писать в ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя neverminde
сообщение 27.9.2013, 4:08
Сообщение #16


Стаж: 15 лет

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

Ставьте плагин что в посте выше плагина чата и бага не будет

Отредактировал: neverminde, - 27.9.2013, 4:09
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя TarikYuzkiv
сообщение 27.9.2013, 7:10
Сообщение #17
Стаж: 13 лет

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

Увы, не помогло...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя winzh1
сообщение 27.9.2013, 7:12
Сообщение #18


Стаж: 14 лет

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

Цитата(TarikYuzkiv @ 27.9.2013, 12:10) *
Увы, не помогло...

Может у Вас баг связанный со спецсимволом, а не с %?


Установлю и настрою FreshBans, DopBan.
Писать в ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя TarikYuzkiv
сообщение 27.9.2013, 7:15
Сообщение #19
Стаж: 13 лет

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

Цитата(winzh1 @ 27.9.2013, 8:12) *
Может у Вас баг связанный со спецсимволом, а не с %?

Баг такой же, как и у тс'а.

По идее он связан со спецсимволом...)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя winzh1
сообщение 27.9.2013, 7:22
Сообщение #20


Стаж: 14 лет

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

Цитата(TarikYuzkiv @ 27.9.2013, 12:15) *
Баг такой же, как и у тс'а.

По идее он связан со спецсимволом...)

Верно, не учел, перед % ставится спецсимвол, если не ошибаюсь.
Попробуйте этот вариант
Скрытый текст
Код:

#include <amxmodx>
#include <fakemeta>

new const PLUGIN[] = "Percent Bug Fix"
new const VERSION[] = "2.0"
new const AUTHOR[] = "F4RR3LL"

#define OFFSET_INTERNALMODEL 126
#define OFFSET_TEAM 114

enum CS_Internal_Models
{
CS_DONTCHANGE = 0,
CS_CT_URBAN = 1,
CS_T_TERROR = 2,
CS_T_LEET = 3,
CS_T_ARCTIC = 4,
CS_CT_GSG9 = 5,
CS_CT_GIGN = 6,
CS_CT_SAS = 7,
CS_T_GUERILLA = 8,
CS_CT_VIP = 9,
CZ_T_MILITIA = 10,
CZ_CT_SPETSNAZ = 11
}

enum CsTeams
{
CS_TEAM_UNASSIGNED = 0,
CS_TEAM_T = 1,
CS_TEAM_CT = 2,
CS_TEAM_SPECTATOR = 3
}

enum ChatColor
{
CHATCOLOR_NORMAL = 1, // Normal
CHATCOLOR_GREEN, // Green Color
CHATCOLOR_TEAM_COLOR, // Red, grey, blue
CHATCOLOR_GREY, // grey
CHATCOLOR_RED, // Red
CHATCOLOR_BLUE, // Blue
}

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

new g_msgSayText
new g_msgTeamInfo

new g_say_team[] = "say_team"

new g_name_change[] = "#Cstrike_Name_Change"
new g_name[] = "name"

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

register_clcmd("say", "cmdCheckSay", -1)
register_clcmd(g_say_team, "cmdCheckSay", -1)

register_forward(FM_ClientUserInfoChanged, "forward_client_userinfochanged")

g_msgSayText = get_user_msgid("SayText")
g_msgTeamInfo = get_user_msgid("TeamInfo")
}

public cmdCheckSay(id)
{
static message[192]
read_args(message, 191)

if(contain(message, "%") != -1)
{
remove_quotes(message)

static cmd[9]
read_argv(0, cmd, sizeof cmd -1)

static name[32]
get_user_name(id, name, sizeof name -1)

static CsTeams:team
team = fm_get_user_team(id)

static new_message[191] // -1 :o
static players[32], totalplayers, pid

switch (team)
{
case CS_TEAM_SPECTATOR:
{
if(equal(cmd, g_say_team))
{
get_players(players, totalplayers, "c")
format(new_message, sizeof new_message -1, "^x01(Spectator)^x03 %s^x01 : %s", name, message)

for (new i = 0; i < totalplayers; i++)
{
pid = players[i]

if(fm_get_user_team(pid) == CS_TEAM_SPECTATOR)
{
colorChat(pid, CHATCOLOR_GREY, "%s", new_message)
}
}
}
else
{
get_players(players, totalplayers, "bc")
format(new_message, sizeof new_message -1, "^x01*SPEC*^x03 %s^x01 : %s", name, message)

colorChat(pid, CHATCOLOR_GREY, "%s", new_message)
}
}
case CS_TEAM_T:
{
if(is_user_alive(id))
{
if(equal(cmd, g_say_team))
{
get_players(players, totalplayers, "ace", "TERRORIST")
format(new_message, sizeof new_message -1, "^x01(Terrorist)^x03 %s^x01 : %s", name, message)

for (new i = 0; i < totalplayers; i++)
{
pid = players[i]

colorChat(pid, CHATCOLOR_RED, "%s", new_message)
}
}
else
{
get_players(players, totalplayers, "ac")
format(new_message, sizeof new_message -1, "^x03%s^x01 : %s", name, message)

for (new i = 0; i < totalplayers; i++)
{
pid = players[i]

colorChat(pid, CHATCOLOR_RED, "%s", new_message)
}
}
}
else
{
if(equal(cmd, g_say_team))
{
get_players(players, totalplayers, "bce", "TERRORIST")
format(new_message, sizeof new_message -1, "^x01*DEAD*(Terrorist)^x03 %s^x01 : %s", name, message)

for (new i = 0; i < totalplayers; i++)
{
pid = players[i]

colorChat(pid, CHATCOLOR_RED, "%s", new_message)
}
}
else
{
get_players(players, totalplayers, "bc")
format(new_message, sizeof new_message -1, "^x01*DEAD*^x03 %s^x01 : %s", name, message)

for (new i = 0; i < totalplayers; i++)
{
pid = players[i]

colorChat(pid, CHATCOLOR_RED, "%s", new_message)
}
}
}
}
case CS_TEAM_CT:
{
if(is_user_alive(id))
{
if(equal(cmd, g_say_team))
{
get_players(players, totalplayers, "ace", "CT")
format(new_message, sizeof new_message -1, "^x01(Counter-Terrorist) ^x03%s ^x01: %s", name, message)

for (new i = 0; i < totalplayers; i++)
{
pid = players[i]

colorChat(pid, CHATCOLOR_BLUE, "%s", new_message)
}
}
else
{
get_players(players, totalplayers, "ac")
format(new_message, sizeof new_message -1, "^x03%s ^x01: %s", name, message)

for (new i = 0; i < totalplayers; i++)
{
pid = players[i]

colorChat(pid, CHATCOLOR_BLUE, "%s", new_message)
}
}
}
else
{
if(equal(cmd, g_say_team))
{
get_players(players, totalplayers, "bce", "CT")
format(new_message, sizeof new_message -1, "^x01*DEAD*(Counter-Terrorist)^x03 %s^x01 : %s", name, message)

for (new i = 0; i < totalplayers; i++)
{
pid = players[i]

colorChat(pid, CHATCOLOR_BLUE, "%s", new_message)
}
}
else
{
get_players(players, totalplayers, "bc")
format(new_message, sizeof new_message -1, "^x01*DEAD*^x03 %s^x01 : %s", name, message)

for (new i = 0; i < totalplayers; i++)
{
pid = players[i]

colorChat(pid, CHATCOLOR_BLUE, "%s", new_message)
}
}
}
}
}

return PLUGIN_HANDLED
}

return PLUGIN_CONTINUE
}

public forward_client_userinfochanged(id, buffer)
{
if (!is_user_connected(id))
return FMRES_IGNORED

static oldname[32], newname[32]
pev(id, pev_netname, oldname, sizeof oldname -1)

engfunc(EngFunc_InfoKeyValue, buffer, g_name, newname, sizeof newname - 1)

if(equal(newname, oldname))
return FMRES_IGNORED

message_begin(MSG_BROADCAST, g_msgSayText)
write_byte(id)
write_string(g_name_change)
write_string(oldname)
write_string(newname)
message_end()

return FMRES_SUPERCEDE
}

stock CsTeams:fm_get_user_team(id, &{ CS_Internal_Models, _ }:model = CS_DONTCHANGE)
{
model = CS_Internal_Models:get_pdata_int(id, OFFSET_INTERNALMODEL)

return CsTeams:get_pdata_int(id, OFFSET_TEAM)
}

colorChat(id, ChatColor:color, const msg[], {Float,Sql,Result,_}:...)
{
new team, index, MSG_Type
new bool:teamChanged = false
static message[192]

switch(color)
{
case CHATCOLOR_NORMAL: // Normal
{
message[0] = 0x01;
}
case CHATCOLOR_GREEN: // Green
{
message[0] = 0x04;
}
default: // Grey, Red, Blue
{
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)
{
if(is_user_connected(id)) 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()
{
static players[32], inum, pid

get_players(players, inum)

for (new a = 0; a < inum; a++)
{
pid = players[a]
if(is_user_connected(pid))
return pid
}

return 0
}


Отредактировал: winzh1, - 27.9.2013, 7:40


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