AutoRecorder: Record in batches of 30 minutes.
Restarts recording at roundstarts, if recording for longer then 30 minutes.
This commit is contained in:
parent
8b8d9abd4c
commit
a592567ca7
@ -10,9 +10,12 @@ ConVar g_hTimeStop;
|
|||||||
ConVar g_hFinishMap;
|
ConVar g_hFinishMap;
|
||||||
ConVar g_hDemoPath;
|
ConVar g_hDemoPath;
|
||||||
|
|
||||||
|
bool g_bRestartRecording = false;
|
||||||
bool g_bIsRecording = false;
|
bool g_bIsRecording = false;
|
||||||
bool g_bIsManual = false;
|
bool g_bIsManual = false;
|
||||||
|
|
||||||
|
int g_iRestartRecording;
|
||||||
|
|
||||||
// Default: o=rx,g=rx,u=rwx | 755
|
// Default: o=rx,g=rx,u=rwx | 755
|
||||||
#define DIRECTORY_PERMISSIONS (FPERM_O_READ|FPERM_O_EXEC | FPERM_G_READ|FPERM_G_EXEC | FPERM_U_READ|FPERM_U_WRITE|FPERM_U_EXEC)
|
#define DIRECTORY_PERMISSIONS (FPERM_O_READ|FPERM_O_EXEC | FPERM_G_READ|FPERM_G_EXEC | FPERM_U_READ|FPERM_U_WRITE|FPERM_U_EXEC)
|
||||||
|
|
||||||
@ -40,6 +43,8 @@ public void OnPluginStart()
|
|||||||
RegAdminCmd("sm_record", Command_Record, ADMFLAG_KICK, "Starts a SourceTV demo");
|
RegAdminCmd("sm_record", Command_Record, ADMFLAG_KICK, "Starts a SourceTV demo");
|
||||||
RegAdminCmd("sm_stoprecord", Command_StopRecord, ADMFLAG_KICK, "Stops the current SourceTV demo");
|
RegAdminCmd("sm_stoprecord", Command_StopRecord, ADMFLAG_KICK, "Stops the current SourceTV demo");
|
||||||
|
|
||||||
|
HookEvent("round_start", OnRoundStart);
|
||||||
|
|
||||||
g_hTvEnabled = FindConVar("tv_enable");
|
g_hTvEnabled = FindConVar("tv_enable");
|
||||||
|
|
||||||
static char sPath[PLATFORM_MAX_PATH];
|
static char sPath[PLATFORM_MAX_PATH];
|
||||||
@ -60,6 +65,15 @@ public void OnPluginStart()
|
|||||||
CheckStatus();
|
CheckStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnRoundStart(Event hEvent, const char[] sEvent, bool bDontBroadcast)
|
||||||
|
{
|
||||||
|
if(g_bRestartRecording && g_iRestartRecording <= GetTime())
|
||||||
|
{
|
||||||
|
StopRecord();
|
||||||
|
CheckStatus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void OnConVarChanged(ConVar convar, const char[] oldValue, const char[] newValue)
|
public void OnConVarChanged(ConVar convar, const char[] oldValue, const char[] newValue)
|
||||||
{
|
{
|
||||||
if(convar == g_hDemoPath)
|
if(convar == g_hDemoPath)
|
||||||
@ -77,6 +91,9 @@ public void OnMapEnd()
|
|||||||
{
|
{
|
||||||
StopRecord();
|
StopRecord();
|
||||||
g_bIsManual = false;
|
g_bIsManual = false;
|
||||||
|
|
||||||
|
g_bRestartRecording = false;
|
||||||
|
g_iRestartRecording = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,6 +208,9 @@ void StartRecord()
|
|||||||
g_bIsRecording = true;
|
g_bIsRecording = true;
|
||||||
|
|
||||||
LogMessage("Recording to auto-%s-%s.dem", sTime, sMap);
|
LogMessage("Recording to auto-%s-%s.dem", sTime, sMap);
|
||||||
|
|
||||||
|
g_bRestartRecording = true;
|
||||||
|
g_iRestartRecording = GetTime() + 1800;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -200,5 +220,8 @@ void StopRecord()
|
|||||||
{
|
{
|
||||||
ServerCommand("tv_stoprecord");
|
ServerCommand("tv_stoprecord");
|
||||||
g_bIsRecording = false;
|
g_bIsRecording = false;
|
||||||
|
|
||||||
|
g_bRestartRecording = false;
|
||||||
|
g_iRestartRecording = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user