Untitled diff

Creato Il diff non scade mai
3 rimozioni
210 linee
11 aggiunte
215 linee
/*
/*
----------------------------------------------------------------
----------------------------------------------------------------
Plugin : SaveChat
Plugin : SaveChat
Author : citkabuto
Author : citkabuto
Game : Any Source game
Game : Any Source game
Description : Will record all player messages to a file
Description : Will record all player messages to a file
================================================================
================================================================
Date Version Description
Date Version Description
================================================================
================================================================
23/Feb/10 1.2.1 - Fixed bug with player team id
23/Feb/10 1.2.1 - Fixed bug with player team id
15/Feb/10 1.2.0 - Now records team name when using cvar
15/Feb/10 1.2.0 - Now records team name when using cvar
sm_record_detail
sm_record_detail
01/Feb/10 1.1.1 - Fixed bug to prevent errors when using
01/Feb/10 1.1.1 - Fixed bug to prevent errors when using
HLSW (client index 0 is invalid)
HLSW (client index 0 is invalid)
31/Jan/10 1.1.0 - Fixed date format on filename
31/Jan/10 1.1.0 - Fixed date format on filename
Added ability to record player info
Added ability to record player info
when connecting using cvar:
when connecting using cvar:
sm_record_detail (0=none,1=all:def:1)
sm_record_detail (0=none,1=all:def:1)
28/Jan/10 1.0.0 - Initial Version
28/Jan/10 1.0.0 - Initial Version
----------------------------------------------------------------
----------------------------------------------------------------
*/
*/


#include <sourcemod>
#include <sourcemod>
#include <sdktools>
#include <sdktools>
#include <geoip.inc>
#include <geoip.inc>
#include <string.inc>
#include <string.inc>


#define PLUGIN_VERSION "SaveChat_1.2.1"
#define PLUGIN_VERSION "SaveChat_1.2.1"


static String:chatFile[128]
static String:chatFile[128]
new Handle:fileHandle = INVALID_HANDLE
new Handle:fileHandle = INVALID_HANDLE
new Handle:sc_record_detail = INVALID_HANDLE
new Handle:sc_record_detail = INVALID_HANDLE


public Plugin:myinfo =
public Plugin:myinfo =
{
{
name = "SaveChat",
name = "SaveChat",
author = "citkabuto",
author = "citkabuto",
description = "Records player chat messages to a file",
description = "Records player chat messages to a file",
version = PLUGIN_VERSION,
version = PLUGIN_VERSION,
url = "http://forums.alliedmods.net/showthread.php?t=117116"
url = "http://forums.alliedmods.net/showthread.php?t=117116"
}
}


public OnPluginStart()
public OnPluginStart()
{
{
new String:date[21]
new String:date[21]
new String:logFile[100]
new String:logFile[100]
new port


/* Register CVars */
/* Register CVars */
CreateConVar("sm_savechat_version", PLUGIN_VERSION, "Save Player Chat Messages Plugin",
CreateConVar("sm_savechat_version", PLUGIN_VERSION, "Save Player Chat Messages Plugin",
FCVAR_PLUGIN|FCVAR_DONTRECORD|FCVAR_REPLICATED)
FCVAR_PLUGIN|FCVAR_DONTRECORD|FCVAR_REPLICATED)


sc_record_detail = CreateConVar("sc_record_detail", "1",
sc_record_detail = CreateConVar("sc_record_detail", "1",
"Record player Steam ID and IP address",
"Record player Steam ID and IP address",
FCVAR_PLUGIN)
FCVAR_PLUGIN)


port = GetConVarInt(FindConVar("hostport"));

/* Say commands */
/* Say commands */
RegConsoleCmd("say", Command_Say)
RegConsoleCmd("say", Command_Say)
RegConsoleCmd("say_team", Command_SayTeam)
RegConsoleCmd("say_team", Command_SayTeam)


/* Format date for log filename */
/* Format date for log filename */
FormatTime(date, sizeof(date), "%d%m%y", -1)
FormatTime(date, sizeof(date), "%d%m%y", -1)


/* Create name of logfile to use */
/* Create name of logfile to use */
Format(logFile, sizeof(logFile), "/logs/chat%s.log", date)
Format(logFile, sizeof(logFile), "/logs/chat%s-%s.log", date, port)
BuildPath(Path_SM, chatFile, PLATFORM_MAX_PATH, logFile)
BuildPath(Path_SM, chatFile, PLATFORM_MAX_PATH, logFile)
}
}


/*
/*
* Capture player chat and record to file
* Capture player chat and record to file
*/
*/
public Action:Command_Say(client, args)
public Action:Command_Say(client, args)
{
{
LogChat(client, args, false)
LogChat(client, args, false)
return Plugin_Continue
return Plugin_Continue
}
}


/*
/*
* Capture player team chat and record to file
* Capture player team chat and record to file
*/
*/
public Action:Command_SayTeam(client, args)
public Action:Command_SayTeam(client, args)
{
{
LogChat(client, args, true)
LogChat(client, args, true)
return Plugin_Continue
return Plugin_Continue
}
}


public OnClientPostAdminCheck(client)
public OnClientPostAdminCheck(client)
{
{
/* Only record player detail if CVAR set */
/* Only record player detail if CVAR set */
if(GetConVarInt(sc_record_detail) != 1)
if(GetConVarInt(sc_record_detail) != 1)
return
return


if(IsFakeClient(client))
if(IsFakeClient(client))
return
return


new String:msg[2048]
new String:msg[2048]
new String:time[21]
new String:time[21]
new String:country[3]
new String:country[3]
new String:steamID[128]
new String:steamID[128]