Simple Demo Recorder [Colored Messages]
Публикувано на: 30 Яну 2019, 01:02
Кои съобщения искаш да не се показват?
Код за потвърждение: Избери целия код
#include <amxmodx>
#define CC_COLORS_TYPE CC_COLORS_SHORT
#include <cromchat>
#define PLUGIN_VERSION "2.0a"
#define MAX_MESSAGE_LENGTH 192
#define MAX_DEMO_NAME_LENGTH 64
#define MAX_TIME_LENGTH 32
#define DEMO_MESSAGES 2
#define REPLACER_SYMBOL "_"
#define ARG_NAME "<name>"
#define ARG_NAME_FULL "<name>.dem"
#define ARG_TIME "<time>"
#define STOP_AFTER 15
new const g_szSymbols[][] = { " ", ":", ".", "*", "/", "|", "\", "?", ">", "<" }
enum _:Cvars
{
dem_delay,
//dem_msg_delay,
dem_name,
/*dem_message,
dem_message2,*/
dem_time_format
}
enum _:CvarValues
{
Float:cv_dem_delay,
//Float:cv_dem_msg_delay,
cv_dem_name[MAX_DEMO_NAME_LENGTH],
/*cv_dem_message[MAX_MESSAGE_LENGTH],
cv_dem_message2[MAX_MESSAGE_LENGTH],*/
cv_dem_time_format[MAX_TIME_LENGTH]
}
new g_eCvars[Cvars], g_eCvarValues[CvarValues]
public plugin_init()
{
register_plugin("Simple Demo Recorder", PLUGIN_VERSION, "OciXCrom")
register_cvar("CRXDemoRecorder", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
g_eCvars[dem_delay] = register_cvar("dem_delay", "15.0")
//g_eCvars[dem_msg_delay] = register_cvar("dem_msg_delay", "0.1")
g_eCvars[dem_name] = register_cvar("dem_name", "CRX Auto Demo")
/*g_eCvars[dem_message] = register_cvar("dem_message", "!g[!tDemo RecordeR!g] !nWe are now recording in your !gcstrike !nfolder: !t<name>")
g_eCvars[dem_message2] = register_cvar("dem_message2", "!g[!tDemo RecordeR!g] !nDemo recording has been started at: !t<time>")*/
g_eCvars[dem_time_format] = register_cvar("dem_time_format", "%X")
}
public plugin_cfg()
{
g_eCvarValues[cv_dem_delay] = _:get_pcvar_float(g_eCvars[dem_delay])
//g_eCvarValues[cv_dem_msg_delay] = _:get_pcvar_float(g_eCvars[dem_msg_delay])
get_pcvar_string(g_eCvars[dem_name], g_eCvarValues[cv_dem_name], charsmax(g_eCvarValues[cv_dem_name]))
/*get_pcvar_string(g_eCvars[dem_message], g_eCvarValues[cv_dem_message], charsmax(g_eCvarValues[cv_dem_message]))
get_pcvar_string(g_eCvars[dem_message2], g_eCvarValues[cv_dem_message2], charsmax(g_eCvarValues[cv_dem_message2]))*/
get_pcvar_string(g_eCvars[dem_time_format], g_eCvarValues[cv_dem_time_format], charsmax(g_eCvarValues[cv_dem_time_format]))
for(new i; i < sizeof(g_szSymbols); i++)
replace_all(g_eCvarValues[cv_dem_name], charsmax(g_eCvarValues[cv_dem_name]), g_szSymbols[i], REPLACER_SYMBOL)
add(g_eCvarValues[cv_dem_name], charsmax(g_eCvarValues[cv_dem_name]), ".dem")
}
public client_putinserver(id)
set_task(g_eCvarValues[cv_dem_delay], "StartRecording", id)
public StartRecording(id)
{
if(!is_user_connected(id))
return
client_cmd(id, "stop; record ^"%s^"", g_eCvarValues[cv_dem_name])
set_task(STOP_AFTER * 60.0, "StopRecording", id)
//set_task(g_eCvarValues[cv_dem_msg_delay], "SendMessages", id)
}
public StopRecording(id)
{
if(is_user_connected(id))
client_cmd(id, "stop")
}
/*public SendMessages(id)
{
if(!is_user_connected(id))
return
new szMessage[DEMO_MESSAGES][MAX_MESSAGE_LENGTH]
copy(szMessage[0], charsmax(szMessage[]), g_eCvarValues[cv_dem_message])
copy(szMessage[1], charsmax(szMessage[]), g_eCvarValues[cv_dem_message2])
for(new i; i < DEMO_MESSAGES; i++)
{
apply_replacements(szMessage[i], charsmax(szMessage[]))
CC_SendMessage(id, szMessage[i])
}
}
apply_replacements(szMessage[], const iLen)
{
replace_all(szMessage, iLen, ARG_NAME, g_eCvarValues[cv_dem_name])
if(contain(szMessage, ARG_TIME) != -1)
{
new szTime[MAX_TIME_LENGTH]
get_time(g_eCvarValues[cv_dem_time_format], szTime, charsmax(szTime))
replace_all(szMessage, iLen, ARG_TIME, szTime)
}
}*/
[Demo RecordeR] We are now recording in your cstrike folder: cs-plovdiv_info_RETRO.dem
[Demo RecordeR] Demo recording has been started at: 06:54:40
* Type 'Cs-PLovdiV.InFo' in the browser, if you have a questions about the server.
* We are now recording in your cstrike folder: Cs_PLovdiV_InFo_DUST2.dem
Код за потвърждение: Избери целия код
;;;;;;;recorderx.amxx
slaylosers.amxx
admin_spec_esp.amxx
`;;;;;;;;;;;;;xredirect.amxx
amx_bancfg.amxx
auto_restart_vl.amxx
vip.amxx
crx_command_restrictions.amxx
reaimdetector.amxx
allow_roundfinish.amxx
;gsclient.amxx
crx_demorecorder.amxx
[Demo RecordeR] We are now recording in your cstrike folder: cs-plovdiv_info_RETRO.dem
[Demo RecordeR] Demo recording has been started at: 06:54:40
* Type 'Cs-PLovdiV.InFo' in the browser, if you have a questions about the server.
* We are now recording in your cstrike folder: Cs_PLovdiV_InFo_DUST2.dem