13/02/2019, 11:32 PM
Estoy intentando realizar algo como esto con guardado adv_vault, que muestra la fecha, hora, mapa, y resultados de la partida.
Hasta los momentos logre hacer esto, pero tengo un problema que no se como solucionar siempre me muestra la posicion #1, y si cambio de mapa cambia todo y no muestra la posicion #2, no tengo mucho conocimiento si me pueden brindar una mano en esto porfavor.
Hasta los momentos logre hacer esto, pero tengo un problema que no se como solucionar siempre me muestra la posicion #1, y si cambio de mapa cambia todo y no muestra la posicion #2, no tengo mucho conocimiento si me pueden brindar una mano en esto porfavor.
Código PHP:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <adv_vault>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
enum
{
CAMPO_MAP,
CAMPO_FECHA,
CAMPO_HORA,
CAMPO_SERVER,
MAX_FIELDS
}
new g_campos[MAX_FIELDS],g_vault,g_Sort_MATCH,g_iMaxPlayers,motd[1536];
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "event_round_start", "a", "1=0", "2=0");
register_clcmd("say .match", "MATCHS");
g_iMaxPlayers = get_maxplayers();
vault_init();
}
public client_putinserver( id )
{
load_data(id);
}
public event_round_start()
{
for(new id=1; id <= g_iMaxPlayers; id++)
{
if(is_user_connected(id)) save_data(id);
}
adv_vault_sort_update(g_vault, g_Sort_MATCH)
}
vault_init()
{
g_vault = adv_vault_open("MATCHS", false)
g_campos[CAMPO_MAP] = adv_vault_register_field(g_vault, "MAPA", DATATYPE_STRING, 32)
g_campos[CAMPO_FECHA] = adv_vault_register_field(g_vault, "FECHA", DATATYPE_STRING, 32)
g_campos[CAMPO_HORA] = adv_vault_register_field(g_vault, "HORA", DATATYPE_STRING, 32)
g_campos[CAMPO_SERVER] = adv_vault_register_field(g_vault, "SERVER")
adv_vault_init(g_vault)
g_Sort_MATCH = adv_vault_sort_create(g_vault, ORDER_DESC, 0, 2000,g_campos[CAMPO_SERVER]);
}
save_data(id)
{
static HORA[32],FECHA[32],MAPA[32],g_pHostName,SERVERname[32]
get_time("%H:%M:%S %p", HORA, charsmax(HORA));
get_time("%d-%m-%Y", FECHA, charsmax(FECHA));
get_mapname(MAPA, charsmax(MAPA));
g_pHostName = get_cvar_pointer("hostname");
get_pcvar_string(g_pHostName,SERVERname,charsmax(SERVERname));
adv_vault_set_start(g_vault)
adv_vault_set_field(g_vault, g_campos[CAMPO_MAP], MAPA)
adv_vault_set_field(g_vault, g_campos[CAMPO_FECHA], FECHA)
adv_vault_set_field(g_vault, g_campos[CAMPO_HORA], HORA)
adv_vault_set_field(g_vault, g_campos[CAMPO_SERVER], SERVERname)
adv_vault_set_end(g_vault, 0, SERVERname)
}
load_data(id)
{
static HORA[32],FECHA[32],MAPA[32],g_pHostName,SERVERname[32]
get_time("%H:%M:%S %p", HORA, charsmax(HORA));
get_time("%d-%m-%Y", FECHA, charsmax(FECHA));
get_mapname(MAPA, charsmax(MAPA));
g_pHostName = get_cvar_pointer("hostname");
get_pcvar_string(g_pHostName,SERVERname,charsmax(SERVERname));
if(!adv_vault_get_prepare(g_vault, 0, SERVERname))
return;
adv_vault_get_field(g_vault, g_campos[CAMPO_MAP], MAPA, charsmax(MAPA))
adv_vault_get_field(g_vault, g_campos[CAMPO_FECHA], FECHA, charsmax(FECHA))
adv_vault_get_field(g_vault, g_campos[CAMPO_HORA], HORA, charsmax(HORA))
adv_vault_get_field(g_vault, g_campos[CAMPO_SERVER], SERVERname, charsmax(SERVERname))
}
public MATCHS(id)
{
static HORA[32],FECHA[32],MAPA[32],g_pHostName,SERVERname[32]
get_time("%H:%M:%S %p", HORA, charsmax(HORA));
get_time("%d-%m-%Y", FECHA, charsmax(FECHA));
get_mapname(MAPA, charsmax(MAPA));
g_pHostName = get_cvar_pointer("hostname");
get_pcvar_string(g_pHostName,SERVERname,charsmax(SERVERname));
new keyindex, len
motd[0] = 0
add(motd, charsmax(motd),
"<html><meta charset=utf-8><style>\
body {background-color:#000000;}\
.header {background-color:#00FF00;color:#000000;}\
.style2 {color:#FF0000;font-family:arial black}\
</style><body>\
<table border=10 cellspacing=0 bordercolor=white class=style2 width=100%>\
<tr class=header><th>#\
<th>MAPA\
<th>FECHA\
<th>HORA\
<th>SERVER")
len = strlen(motd)
new toploop = min(adv_vault_sort_numresult(g_vault, g_Sort_MATCH), 100)
for(new position=1; position <= toploop; position++)
{
keyindex = adv_vault_sort_position(g_vault, g_Sort_MATCH, position)
if(!adv_vault_get_prepare(g_vault, keyindex)) continue
adv_vault_get_field(g_vault, g_campos[CAMPO_MAP], MAPA, charsmax(MAPA))
adv_vault_get_field(g_vault, g_campos[CAMPO_FECHA], FECHA, charsmax(FECHA))
adv_vault_get_field(g_vault, g_campos[CAMPO_HORA], HORA, charsmax(HORA))
adv_vault_get_field(g_vault, g_campos[CAMPO_SERVER], SERVERname, charsmax(SERVERname))
len += formatex(motd[len], charsmax(motd)-len,
"<tr><th>%d\
<th>%s\
<th>%s\
<th>%s\
<th>%s",position,MAPA,FECHA,HORA,SERVERname)
}
add(motd, charsmax(motd), "</table></body></html>")
show_motd(id, motd, "MATCHS")
}