forked from UNLOZE/sm-plugins
ChatFilter: Disable auto compile.
Its not finished yet xD
This commit is contained in:
@@ -1,129 +0,0 @@
|
||||
#pragma newdecls required
|
||||
|
||||
#include <sourcemod>
|
||||
#include <regex>
|
||||
#include <ccc>
|
||||
|
||||
ArrayList g_aClientFilters[MAXPLAYERS+1];
|
||||
ArrayList g_aGroupFilters[MAXPLAYERS+1];
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public Plugin myinfo =
|
||||
{
|
||||
name = "ChatFilter",
|
||||
author = "zaCade",
|
||||
description = "Allows users to filter their chat messages",
|
||||
version = "1.0.0"
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public void OnPluginStart()
|
||||
{
|
||||
RegConsoleCmd("sm_cf", Command_ChatFilter);
|
||||
RegConsoleCmd("sm_cfg", Command_ChatFilterGroup);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
for (int client = 1; client <= MAXPLAYERS; client++)
|
||||
{
|
||||
g_aClientFilters[client] = new ArrayList(512);
|
||||
g_aGroupFilters[client] = new ArrayList(512);
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public void OnClientConnected(int client)
|
||||
{
|
||||
g_aClientFilters[client].Clear();
|
||||
g_aGroupFilters[client].Clear();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public Action Command_ChatFilter(int client, int args)
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// g_aClientFilters[client].PushString(filter);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public Action Command_ChatFilterGroup(int client, int args)
|
||||
{
|
||||
|
||||
|
||||
|
||||
// ArrayList filters = new ArrayList(128);
|
||||
|
||||
|
||||
|
||||
// filters.PushString(filter);
|
||||
|
||||
|
||||
|
||||
// g_aGroupFilters[client].Push(filters);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
public Action CCC_OnChatMessage(int client, int author, const char[] message)
|
||||
{
|
||||
bool bBlockMessage = false;
|
||||
|
||||
// Check the clients own filter list.
|
||||
if (!bBlockMessage && g_aClientFilters[client].Length)
|
||||
{
|
||||
for (int filterID; filterID < g_aClientFilters[client].Length; filterID++)
|
||||
{
|
||||
char filter[128];
|
||||
g_aClientFilters[client].GetString(filterID, filter, sizeof(filter));
|
||||
|
||||
if (StrContains(message, filter, false))
|
||||
{
|
||||
bBlockMessage = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check the clients group filter lists.
|
||||
if (!bBlockMessage && g_aGroupFilters[client].Length)
|
||||
{
|
||||
for (int groupID; groupID < g_aGroupFilters[client].Length; groupID++)
|
||||
{
|
||||
ArrayList filters = g_aGroupFilters[client].Get(groupID);
|
||||
|
||||
if (filters.Length)
|
||||
{
|
||||
for (int filterID; filterID < filters.Length; filterID++)
|
||||
{
|
||||
char filter[128];
|
||||
filters.GetString(filterID, filter, sizeof(filter));
|
||||
|
||||
if (StrContains(message, filter, false))
|
||||
{
|
||||
bBlockMessage = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (bBlockMessage) ? Plugin_Handled : Plugin_Continue;
|
||||
}
|
||||
Reference in New Issue
Block a user