Mensajes: 11
Temas: 5
Registro en: Oct 2019
Reputación:
0
Buenas amigos vean yo tengo un servidor pug/scrim y quiero que se grabe una demo automatica con fecha y hora.
Mensajes: 400
Temas: 112
Registro en: Mar 2019
Reputación:
1
(23/10/2019, 09:59 AM)Quiero aprender escribió: Buenas amigos vean yo tengo un servidor pug/scrim y quiero que se grabe una demo automatica con fecha y hora. Proba es lo que encontre y no te cuesta por lo menos buscar en google, yo puse demo automatica con fecha y hora y encontre esto
Proba a ver si te sirve lo saque de este Thread
Código PHP: #include <amxmodx> #include <amxmisc>
new g_mapname[32];
enum _DATA_SERVER { SERVER_TABLE[20], SERVER_IP[21] };
new const g_MySQLTable[][_DATA_SERVER] = { { "Pug", "140.82.31.37:27018" } };
new g_szServerIP[21];
public plugin_init() { register_plugin("Demo Record Admin", "v0.1.1", "matrix123");
get_mapname(g_mapname, charsmax(g_mapname));
get_user_ip(0, g_szServerIP, charsmax(g_szServerIP), 0); }
public client_putinserver(id) {
set_task(10.0, "grab_ar", id)
}
public plugin_cfg() { server_cmd("amx_pausecfg add ^"Demo Record^""); } public grab_ar( id ) { if(!is_user_connected(id)) return;
new archivo[150], szTimedata[9]; get_time ( "%D/%m/%Y", szTimedata, 8 );
for(new i = 0; i < sizeof(g_MySQLTable[])-1; i++) { if(!equali(g_szServerIP, g_MySQLTable[i][SERVER_IP])) continue;
format(archivo, charsmax(archivo), "%s_DEM_%s_%s", g_MySQLTable[i][SERVER_TABLE], szTimedata, g_mapname) }
replace_all( archivo, 127, ":", "_" ); replace_all( archivo, 127, ".", "_" ); replace_all( archivo, 127, "*", "_" ); replace_all( archivo, 127, "/", "_" ); replace_all( archivo, 127, "|", "_" ); replace_all( archivo, 127, "\", "_" ); replace_all( archivo, 127, "?", "_" ); replace_all( archivo, 127, ">", "_" ); replace_all( archivo, 127, "<", "_" ); replace_all( archivo, 127, " ", "_" );
CC(id, "!yEmpezaremos a grabar la !gdemo !yal iniciar el pug") CC(id, "!yArchivo:!g^"%s.dem^"", archivo);
client_cmd(id, "stop; record ^"%s^"", archivo); return; }
stock CC(const Index, const input[], any:...) { static i_Count; i_Count = 1; static sz_Players[32]; static sz_Msg[191]; new g_messageid_saytext; g_messageid_saytext = get_user_msgid("SayText");
vformat(sz_Msg, charsmax(sz_Msg), input, 3); replace_all(sz_Msg, charsmax(sz_Msg), "!y" , "^1"); replace_all(sz_Msg, charsmax(sz_Msg), "!t" , "^3"); replace_all(sz_Msg, charsmax(sz_Msg), "!g" , "^4"); if(Index) sz_Players[0] = Index; else get_players(sz_Players, i_Count, "ch"); for(new i = 0; i < i_Count; i++) { if(is_user_connected(sz_Players[i])) { message_begin(MSG_ONE_UNRELIABLE, g_messageid_saytext, _, sz_Players[i]); write_byte(sz_Players[i]); write_string(sz_Msg); message_end(); } } }
SI NO VAS AYUDAR, POR FAVOR NO COMENTAR
Mensajes: 11
Temas: 5
Registro en: Oct 2019
Reputación:
0
(23/10/2019, 10:17 AM)DavidLG escribió: (23/10/2019, 09:59 AM)Quiero aprender escribió: Buenas amigos vean yo tengo un servidor pug/scrim y quiero que se grabe una demo automatica con fecha y hora. Proba es lo que encontre y no te cuesta por lo menos buscar en google, yo puse demo automatica con fecha y hora y encontre esto
Proba a ver si te sirve lo saque de este Thread
Código PHP: #include <amxmodx> #include <amxmisc>
new g_mapname[32];
enum _DATA_SERVER { SERVER_TABLE[20], SERVER_IP[21] };
new const g_MySQLTable[][_DATA_SERVER] = { { "Pug", "140.82.31.37:27018" } };
new g_szServerIP[21];
public plugin_init() { register_plugin("Demo Record Admin", "v0.1.1", "matrix123");
get_mapname(g_mapname, charsmax(g_mapname));
get_user_ip(0, g_szServerIP, charsmax(g_szServerIP), 0); }
public client_putinserver(id) {
set_task(10.0, "grab_ar", id)
}
public plugin_cfg() { server_cmd("amx_pausecfg add ^"Demo Record^""); } public grab_ar( id ) { if(!is_user_connected(id)) return;
new archivo[150], szTimedata[9]; get_time ( "%D/%m/%Y", szTimedata, 8 );
for(new i = 0; i < sizeof(g_MySQLTable[])-1; i++) { if(!equali(g_szServerIP, g_MySQLTable[i][SERVER_IP])) continue;
format(archivo, charsmax(archivo), "%s_DEM_%s_%s", g_MySQLTable[i][SERVER_TABLE], szTimedata, g_mapname) }
replace_all( archivo, 127, ":", "_" ); replace_all( archivo, 127, ".", "_" ); replace_all( archivo, 127, "*", "_" ); replace_all( archivo, 127, "/", "_" ); replace_all( archivo, 127, "|", "_" ); replace_all( archivo, 127, "\", "_" ); replace_all( archivo, 127, "?", "_" ); replace_all( archivo, 127, ">", "_" ); replace_all( archivo, 127, "<", "_" ); replace_all( archivo, 127, " ", "_" );
CC(id, "!yEmpezaremos a grabar la !gdemo !yal iniciar el pug") CC(id, "!yArchivo:!g^"%s.dem^"", archivo);
client_cmd(id, "stop; record ^"%s^"", archivo); return; }
stock CC(const Index, const input[], any:...) { static i_Count; i_Count = 1; static sz_Players[32]; static sz_Msg[191]; new g_messageid_saytext; g_messageid_saytext = get_user_msgid("SayText");
vformat(sz_Msg, charsmax(sz_Msg), input, 3); replace_all(sz_Msg, charsmax(sz_Msg), "!y" , "^1"); replace_all(sz_Msg, charsmax(sz_Msg), "!t" , "^3"); replace_all(sz_Msg, charsmax(sz_Msg), "!g" , "^4"); if(Index) sz_Players[0] = Index; else get_players(sz_Players, i_Count, "ch"); for(new i = 0; i < i_Count; i++) { if(is_user_connected(sz_Players[i])) { message_begin(MSG_ONE_UNRELIABLE, g_messageid_saytext, _, sz_Players[i]); write_byte(sz_Players[i]); write_string(sz_Msg); message_end(); } } }
Gracias voy a probarlo
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
23/10/2019, 12:30 PM
(Última modificación: 23/10/2019, 12:31 PM por Niper.-.. Edited 1 time in total.)
Yo había hecho esto antes, pero jamas probe si andaba..
Básicamente, la idea era esta: Escribis /demos y elegis si querés grabar demos o no, sí querés, cada vez que te conectes las grabaras y si no querés no las graba. Además que elegias el nombre de la demo y esas cosas jajaja. Lo hice con guardado de HWID del sXe-Injected, que ya casi nadie lo usa, así que recomendaría que cambies el guardado por steamid o nombre del player o el que vos quieras.
Código PHP: #include <amxmodx> #include <amxmisc> #include <adv_vault> #include <colorchat>
#define PREFIX_SAY "^4[BREAKING GAMING]^1"
enum { CAMPO_DEMO, CAMPOS_TOTALES };
new g_vault; new g_campos[CAMPOS_TOTALES];
new sXeHid[33][64], g_demo[33];
new g_maxplayers;
stock advanced_vault_init() { g_vault = adv_vault_open("DatosDemo", false); g_campos[CAMPO_DEMO] = adv_vault_register_field(g_vault, "demo", DATATYPE_INT); adv_vault_init(g_vault); }
stock advanced_vault_load(id) { if(!adv_vault_get_prepare(g_vault, _, sXeHid[id])) return; g_demo[id] = adv_vault_get_field(g_vault, g_campos[CAMPO_DEMO]); if(g_demo[id] != -1) { ColorChat(id, GREEN, "%s Estas grabando demo", PREFIX_SAY); new Mapa[32], Fecha[50], Hostname[64]; get_mapname(Mapa, charsmax(Mapa)); get_time("%d/%m/%Y - %H:%M:%S", Fecha, charsmax(Fecha)); get_cvar_string("hostname", Hostname, charsmax(Hostname)); switch(g_demo[id]) { case 1: { client_cmd(id, "record ^"%s^"", Mapa); ColorChat(id, GREEN, "%s Nombre de la demo: ^4%s", PREFIX_SAY, Mapa); } case 2: { client_cmd(id, "record ^"%s^"", Hostname); ColorChat(id, GREEN, "%s Nombre de la demo: ^4%s", PREFIX_SAY, Hostname); } case 3: { client_cmd(id, "record ^"%s_%s^"", Hostname, Mapa); ColorChat(id, GREEN, "%s Nombre de la demo: ^4%s_%s", PREFIX_SAY, Hostname, Mapa); } case 4: { client_cmd(id, "record ^"%s^"", Fecha); ColorChat(id, GREEN, "%s Nombre de la demo: ^4%s", PREFIX_SAY, Fecha); } } } }
stock advanced_vault_save(id) { adv_vault_set_start(g_vault); adv_vault_set_field(g_vault, g_campos[CAMPO_DEMO], g_demo[id]); adv_vault_set_end(g_vault, 0, sXeHid[id]); }
public plugin_init() { register_plugin("Demos Automaticas", "v1.0", "heNK'"); register_srvcmd("sxe_event", "sxe_events"); advanced_vault_init(); register_clcmd("say /demos", "cmdDemos"); register_clcmd("say /demo", "cmdDemos"); g_maxplayers = get_maxplayers(); }
public sxe_events() { static iEvent, iId, iArg[ 6 ];
read_argv( 1, iArg, charsmax( iArg ) ); iEvent = str_to_num( iArg );
read_argv( 2, iArg, charsmax( iArg ) ); iId = str_to_num( iArg ); for( new i = 1; i <= g_maxplayers; i++ ) { if( is_user_connected( i ) && get_user_userid( i ) == iId ) { iId = i; break; } } if( !iId ) return;
if( iEvent == 4 ) { read_argv(5, sXeHid[iId], charsmax(sXeHid[])); advanced_vault_load(iId); } }
public client_disconnect(id) advanced_vault_save(id); public cmdDemos(id) { new menu = menu_create("\r[BREAKING GAMING] \wGrabar Demos", "HandlerDemosAutomaticas"); menu_additem(menu, "Grabar demos siempre que te conectes", "1"); menu_additem(menu, "No grabar demos", "2"); menu_setprop(menu, MPROP_EXITNAME, "Salir"), menu_setprop(menu, MPROP_NUMBER_COLOR, "\y"); menu_display(id, menu, 0); }
public HandlerDemosAutomaticas(id ,menu, item) { switch(item) { case MENU_EXIT: { menu_destroy(menu); return PLUGIN_HANDLED; } case 0: GrabarDemos(id); case 1: { ColorChat(id, GREEN, "%s Preferiste no grabar demos", PREFIX_SAY); g_demo[id] = -1; advanced_vault_save(id); } } menu_destroy(menu); return PLUGIN_HANDLED; }
public GrabarDemos(id) { new menu = menu_create("\r[BREAKING GAMING] \wDemos Automaticas", "HandlerGrabarDemos"); menu_additem(menu, "Grabar demo con nombre del mapa", "1"); menu_additem(menu, "Grabar demo con nombre del servidor", "2"); menu_additem(menu, "Grabar demo con nombre del server y mapa", "3"); menu_additem(menu, "Grabar demo con hora", "4");
menu_setprop(menu, MPROP_EXITNAME, "Salir"), menu_setprop(menu, MPROP_NUMBER_COLOR, "\y"); menu_display(id, menu, 0);
}
public HandlerGrabarDemos(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } switch(item) { case 0: g_demo[id] = 1, advanced_vault_save(id); case 1: g_demo[id] = 2, advanced_vault_save(id); case 2: g_demo[id] = 3, advanced_vault_save(id); case 3: g_demo[id] = 4, advanced_vault_save(id); } return PLUGIN_HANDLED; }
|