Перехват сообщений сервера.

Тед Лисов

Участник
Сообщения
2
Реакции
0
Я хочу перехватить сообщения типа "Say @" от сервера, но блокировать их не получается. Сообщение просто дублируется. Возможно ли это? Кто может что подскажет?
Код прилагается.
public OnPluginStart()
{
AddCommandListener(HookServerChat, "say");
}

public Action:HookServerChat(client, const String:command[], args)
{
if (client == 0)
{
if (args < 1)
{
ReplyToCommand(client, "[SM] Usage: say <message>");
return Plugin_Handled;
}
decl String:text[192];
GetCmdArgString(text, sizeof(text));
CPrintToChatAll("{white}[{lime}FoxWorld{white}] %s", text);
return Plugin_Handled;
}
return Plugin_Continue;
}
 

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
Я хочу перехватить сообщения типа "Say @" от сервера, но блокировать их не получается. Сообщение просто дублируется. Возможно ли это? Кто может что подскажет?
Код прилагается.
public OnPluginStart()
{
AddCommandListener(HookServerChat, "say");
}

public Action:HookServerChat(client, const String:command[], args)
{
if (client == 0)
{
if (args < 1)
{
ReplyToCommand(client, "[SM] Usage: say <message>");
return Plugin_Handled;
}
decl String:text[192];
GetCmdArgString(text, sizeof(text));
CPrintToChatAll("{white}[{lime}FoxWorld{white}] %s", text);
return Plugin_Handled;
}
return Plugin_Continue;
}

PHP:
#include <sourcemod>

public OnPluginStart()
{
	AddCommandListener(Server_Say, "say");
}

public Action:Server_Say(client, const String:command[], args)
{
	if (client == 0 && args < 1)
	{
		decl String:text_console[192];
		GetCmdArgString(text_console, sizeof(text_console));
		PrintToServer("Console %s", text_console);
		PrintToChatAll("Console: %s", text_console);
		return Plugin_Handled;
	}
	return Plugin_Handled;
}

PHP:
#include <sourcemod>
#include <csgo_colors>

public OnPluginStart()
{
	AddCommandListener(Server_Say, "say");
}

public Action:Server_Say(client, const String:command[], args)
{
	if (client == 0 && args != 0)
	{
		decl String:text_console[192];
		GetCmdArgString(text_console, sizeof(text_console));
		PrintToServer("Console %s", text_console);
		CGOPrintToChatAll("{RED}Console{DEFAULT}: {GREEN}%s", text_console);
		return Plugin_Handled;
	}
	return Plugin_Continue;
}
 

Тед Лисов

Участник
Сообщения
2
Реакции
0
Проблему вообще не решает.
Решение нашел, say @ = sm_say. basechat переписал.
 

crux

Участник
Сообщения
49
Реакции
4
Так ты о sourcemod sm_say говорил? С того и нужно было начинать...
Здравствуйте, наткнулся на эту тему и появился вопрос: когда игрок меняет имя, в начале нового раунда все игроки получают сообщение в чат о том, что игрок сменил имя, но я не могу найти этого сообщения в файлах с переводами. Как можно перехватить это сообщение для дальнейших манипуляций?
 

babka68

Участник
Сообщения
2,124
Реакции
956
Здравствуйте, наткнулся на эту тему и появился вопрос: когда игрок меняет имя, в начале нового раунда все игроки получают сообщение в чат о том, что игрок сменил имя, но я не могу найти этого сообщения в файлах с переводами. Как можно перехватить это сообщение для дальнейших манипуляций?
#Cstrike_Name_Change
 
Сверху Снизу