Помогите с плагином

√ιקELITE√ιק

Участник
Сообщения
276
Реакции
48
Здравствуйте всем, нашел отрывок в плагине который убирает написание в чате на сервере лишней инфо например гравитация изменена и т.п.
Но он только убирает только квары с чата, а можно было бы сделать чтоб он убирал вообще все написания с чата осталось бы только реклама и статистика lvl ну и естественно чтоб игроки могли писать. Игра cs go

public OnPluginStart()
{
HookEvent("server_cvar", silent_events, EventHookMode_Pre);
}

public Action:silent_events(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!dontBroadcast)
{
SetEventBroadcast(event, true);
}
}
 
  • Мне нравится
Реакции: PVE

alexmo812

Менеджер у *****
Сообщения
366
Реакции
312
Здравствуйте всем, нашел отрывок в плагине который убирает написание в чате на сервере лишней инфо например гравитация изменена и т.п.
Но он только убирает только квары с чата, а можно было бы сделать чтоб он убирал вообще все написания с чата осталось бы только реклама и статистика lvl ну и естественно чтоб игроки могли писать. Игра cs go

public OnPluginStart()
{
HookEvent("server_cvar", silent_events, EventHookMode_Pre);
}

public Action:silent_events(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!dontBroadcast)
{
SetEventBroadcast(event, true);
}
}
#pragma semicolon 1

#include <sdkhooks>
#include <sourcemod>

#define PLUGIN_VERSION "1.1"

public Plugin:myinfo =
{
name = "Clean Chat",
author = "Monomizer",
version = PLUGIN_VERSION,
};

public OnPluginStart()
{
HookEvent("player_connect", Event_PlayerConnect, EventHookMode_Pre);
HookEvent("player_disconnect", Event_PlayerDisconnect, EventHookMode_Pre);
HookEventEx("player_changename", Event_PlayerChangename, EventHookMode_Pre);
HookEvent("server_cvar", Event_Cvar, EventHookMode_Pre);
HookEvent("player_team", Event_PlayerTeam, EventHookMode_Pre);
HookUserMessage(GetUserMessageId("TextMsg"), Hook_TextMsg, true);
// HookUserMessage(GetUserMessageId("HintText"), Hook_TextMsg, true);
}

public OnClientAuthorized(client, const String:auth[])
{
decl String:clientname[128];
GetClientName(client,clientname,sizeof(clientname));
}

public Action:Event_PlayerConnect(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!dontBroadcast)
{
SetEventBroadcast(event, true);
}
}

public Action:Event_PlayerDisconnect(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!dontBroadcast)
{
SetEventBroadcast(event, true);
new client = GetClientOfUserId(GetEventInt(event, "userid"));
decl String:clientname[128];
GetClientName(client,clientname,sizeof(clientname));
}
}

public Action:Hook_TextMsg(UserMsg:msg_id, Handle:pb, const players[], playersNum, bool:reliable, bool:init)
{
decl String:message[256];
PbReadString(pb, "params", message, sizeof(message), 0);

if (StrContains(message, "teammate_attack") != -1)
return Plugin_Handled;

if (StrContains(message, "Killed_Teammate") != -1)
return Plugin_Handled;

return Plugin_Continue;
}

public Action:Hook_HintText(UserMsg:msg_id, Handle:pb, const players[], playersNum, bool:reliable, bool:init)
{
decl String:message[256];
PbReadString(pb, "params", message, sizeof(message), 0);

if (StrContains(message, "spotted_a_friend") != -1)
return Plugin_Handled;

if (StrContains(message, "careful_around_teammates") != -1)
return Plugin_Handled;

if (StrContains(message, "try_not_to_injure_teammates") != -1)
return Plugin_Handled;

return Plugin_Continue;
}

public Action:Event_Cvar(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!dontBroadcast)
{
SetEventBroadcast(event, true);
}
}

public Action:Event_PlayerChangename(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!dontBroadcast)
{
SetEventBroadcast(event, true);
}
}

public Action:Event_PlayerTeam(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!dontBroadcast)
{
SetEventBroadcast(event, true);
}
}
Если правильно понял, то это :)
Если стоит money distributor, то убери сообщения в чате (в конфиге)
 
  • Мне нравится
Реакции: PVE

PVE

Участник
Сообщения
66
Реакции
19
#pragma semicolon 1

#include <sdkhooks>
#include <sourcemod>

#define PLUGIN_VERSION "1.1"

public Plugin:myinfo =
{
name = "Clean Chat",
author = "Monomizer",
version = PLUGIN_VERSION,
};

public OnPluginStart()
{
HookEvent("player_connect", Event_PlayerConnect, EventHookMode_Pre);
HookEvent("player_disconnect", Event_PlayerDisconnect, EventHookMode_Pre);
HookEventEx("player_changename", Event_PlayerChangename, EventHookMode_Pre);
HookEvent("server_cvar", Event_Cvar, EventHookMode_Pre);
HookEvent("player_team", Event_PlayerTeam, EventHookMode_Pre);
HookUserMessage(GetUserMessageId("TextMsg"), Hook_TextMsg, true);
// HookUserMessage(GetUserMessageId("HintText"), Hook_TextMsg, true);
}

public OnClientAuthorized(client, const String:auth[])
{
decl String:clientname[128];
GetClientName(client,clientname,sizeof(clientname));
}

public Action:Event_PlayerConnect(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!dontBroadcast)
{
SetEventBroadcast(event, true);
}
}

public Action:Event_PlayerDisconnect(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!dontBroadcast)
{
SetEventBroadcast(event, true);
new client = GetClientOfUserId(GetEventInt(event, "userid"));
decl String:clientname[128];
GetClientName(client,clientname,sizeof(clientname));
}
}

public Action:Hook_TextMsg(UserMsg:msg_id, Handle:pb, const players[], playersNum, bool:reliable, bool:init)
{
decl String:message[256];
PbReadString(pb, "params", message, sizeof(message), 0);

if (StrContains(message, "teammate_attack") != -1)
return Plugin_Handled;

if (StrContains(message, "Killed_Teammate") != -1)
return Plugin_Handled;

return Plugin_Continue;
}

public Action:Hook_HintText(UserMsg:msg_id, Handle:pb, const players[], playersNum, bool:reliable, bool:init)
{
decl String:message[256];
PbReadString(pb, "params", message, sizeof(message), 0);

if (StrContains(message, "spotted_a_friend") != -1)
return Plugin_Handled;

if (StrContains(message, "careful_around_teammates") != -1)
return Plugin_Handled;

if (StrContains(message, "try_not_to_injure_teammates") != -1)
return Plugin_Handled;

return Plugin_Continue;
}

public Action:Event_Cvar(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!dontBroadcast)
{
SetEventBroadcast(event, true);
}
}

public Action:Event_PlayerChangename(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!dontBroadcast)
{
SetEventBroadcast(event, true);
}
}

public Action:Event_PlayerTeam(Handle:event, const String:name[], bool:dontBroadcast)
{
if(!dontBroadcast)
{
SetEventBroadcast(event, true);
}
}
Если правильно понял, то это :)
Если стоит money distributor, то убери сообщения в чате (в конфиге)

Будет интересно протестирую сегодня Спасибо тоже искал такой плагин
 
Сверху Снизу