This should work for you.
Code:
#include <amxmodx>
#include <amxmisc>
new bool:g_bRecording[33]
new g_szDemoName[33][16]
new g_iPart[33]
public plugin_init()
{
register_plugin("Demo Break", "1.0", "Spunky")
register_clcmd("amx_record", "cmd_record", ADMIN_ALL, "<demo> <interval>")
register_clcmd("amx_stoprecord", "cmd_stoprecord")
}
public cmd_record(id, level, cid)
{
if (!cmd_access(id, level, cid, 3))
return PLUGIN_HANDLED
else if (g_bRecording[id])
{
console_print(id, "Already recording...")
return PLUGIN_HANDLED
}
read_argv(1, g_szDemoName[id], 15)
client_cmd(id, "record ^"%s0^"", g_szDemoName[id])
g_iPart[id]++
console_print(id, "Started recording...")
new szInterval[6]
read_argv(2, szInterval, 5)
set_task(str_to_float(szInterval), "fnBreak", id, _, _, "b")
g_bRecording[id] = true
return PLUGIN_HANDLED
}
public cmd_stoprecord(id)
{
if (task_exists(id))
{
remove_task(id)
client_cmd(id, "stop")
console_print(id, "Stopped recording...")
g_iPart[id] = 0
g_bRecording[id] = false
}
else
console_print(id, "Not recording...")
return PLUGIN_HANDLED
}
public fnBreak(id)
{
client_cmd(id, "stop; record ^"%s%d^"", g_szDemoName[id], g_iPart[id])
console_print(id, "Splitting to part %d...", g_iPart[id])
g_iPart[id]++
}
amx_record - Starts a demo.
amx_stoprecord - Stops a demo.
First parameter is <demo>, which is the demo name. Second parameter is <interval>, which is the time in seconds between breaks.
_________________
Jean Meslier wrote:
[Human kind] shall not be free until the last king is strangled with the entrails of the last priest.