Reiniciar top de fakas.
#1
Hola.. estoy usando este complemento.. necesitaria saber como puedo hacer para reiniciarlo, no tengo idea si es por medio de algun cvar o advault.. cabe destacar que uso el adv para otras cosas..
Código PHP:
#include <amxmodx>
#include <adv_vault>
#include <amxmisc>

#define PLUGIN "Simple Knife Top"
#define VERSION "1.1"
#define AUTHOR "Destro"

#define TAG   "!t[ !gUN SERVER PERFECTO !t]"

enum {
    
CAMPO_KILLS,
    
CAMPO_DEATHS,
    
CAMPO_HS,
    
MAX_FIELDS
}

new 
g_campos[MAX_FIELDS]

new 
g_name[33][32], g_knife_kills[33], g_knife_deaths[33], g_knife_hs[33]
new 
g_msgSayTextg_maxplayers

new g_vaultg_sort

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say /knifereset","top_reset",ADMIN_BAN);
    
register_clcmd("say /rank""clcmd_rank")
    
register_clcmd("say /top""clcmd_top10")
    
    
register_event("DeathMsg""event_DeathMsg""a""1>0")
    
register_event("HLTV""event_round_start""a""1=0""2=0")
    
    
g_msgSayText get_user_msgid("SayText")
    
g_maxplayers get_maxplayers()
    
    
vault_init();
}

vault_init()
{
    
g_vault adv_vault_open("topknife"false)
    
g_campos[CAMPO_KILLS]     = adv_vault_register_field(g_vault"kill")
    
g_campos[CAMPO_DEATHS]     = adv_vault_register_field(g_vault"death")
    
g_campos[CAMPO_HS]     = adv_vault_register_field(g_vault"hs")
    
adv_vault_init(g_vault)
    
    
g_sort adv_vault_sort_create(g_vaultORDER_DESC02000g_campos[CAMPO_KILLS])
}

public 
client_putinserver(id)
{
    
get_user_name(idg_name[id], 31)
    
    
load_data(id)
}

public 
publicidadid )
{
    
chat_colorid"%s !nTipea !g/rank !npara ver tu rank de !tfacas!n."TAG )
    
chat_colorid"%s !nTipea !g/top !npara ver el TOP10 de !tfacas!n."TAG )
    
chat_colorid"%s !nTipea !g/top10 !npara ver el TOP10"TAG )
}


public 
client_infochanged(id)
{
    if(!
is_user_connected(id)) return

    static 
newname[32]
    
    
get_user_info(id"name"newname31)

    if(!
equal(newnameg_name[id]))
    {
        
copy(g_name[id], 31newname)
        
load_data(id)
    }
}

public 
event_DeathMsg()
{
    static 
killervictimweapon[5]
    
    
killer read_data(1)
    
victim read_data(2)   
    
read_data(4weapon4)
      
    if(
weapon[0] != 'k' || weapon[3] != 'f') return

    
g_knife_kills[killer]++ 
    
g_knife_deaths[victim]++ 
    
    if(
read_data(3)) g_knife_hs[killer]++
}

public 
event_round_start()
{
    for(new 
id=1id <= g_maxplayersid++)
    {
        if(
is_user_connected(id)) save_data(id)
    }
    
    
adv_vault_sort_update(g_vaultg_sort)
}

save_data(id)
{
    
adv_vault_set_start(g_vault)
    
adv_vault_set_field(g_vaultg_campos[CAMPO_KILLS], g_knife_kills[id])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_DEATHS], g_knife_deaths[id])
    
adv_vault_set_field(g_vaultg_campos[CAMPO_HS], g_knife_hs[id])
    
adv_vault_set_end(g_vault_g_name[id])
}

load_data(id)
{
    if(!
adv_vault_get_prepare(g_vault_g_name[id]))
    {
        
g_knife_kills[id] = g_knife_deaths[id] = g_knife_hs[id] = 0
        
return
    }
    
    
g_knife_kills[id] = adv_vault_get_field(g_vaultg_campos[CAMPO_KILLS])
    
g_knife_deaths[id] = adv_vault_get_field(g_vaultg_campos[CAMPO_DEATHS])
    
g_knife_hs[id] = adv_vault_get_field(g_vaultg_campos[CAMPO_HS])
}

public 
clcmd_rank(id)
{
    new 
rank_position adv_vault_sort_key(g_vaultg_sort0g_name[id])
    
    if(!
rank_positionchat_color(id"!g-!tNo estas rankeado")
    else 
chat_color(id"!g-!tTu rank de knife es !y%d"rank_position)
}

public 
clcmd_top10(id)
{
    new 
killsdeathshskeyindexname[46], motd[2500], len

    len 
formatex(motdcharsmax(motd),
    
"<html><style>\
    body { background-color:#000000; }\
    .tabel { color:#FFFFFF; }\
    .header { background-color:#00BFFF; color:#000000;}\
    </style><body>\
    <br><br><table align=center border=1 width=90%% class=tabel>"
)
    
    
len += formatex(motd[len], charsmax(motd)-len,
    
"<tr><td class=header width=5%% align=center><strong>Rank</strong></td>\
    <td class=header width=34%%><strong>Name</strong></td>\
    <td class=header width=16%%><strong>KnifeKills</strong></td>\
    <td class=header width=22%%><strong>KnifeDeaths</strong></td>\
    <td class=header width=24%%><strong>KnifeHeadShots</strong></td></tr>"
)
   

    new 
toploop min(adv_vault_sort_numresult(g_vaultg_sort), 10)

    for(new 
position=1position <= toploopposition++)
    {
        
keyindex adv_vault_sort_position(g_vaultg_sortposition)

        if(!
adv_vault_get_prepare(g_vaultkeyindex)) continue
        
        
kills adv_vault_get_field(g_vaultg_campos[CAMPO_KILLS])
        
deaths adv_vault_get_field(g_vaultg_campos[CAMPO_DEATHS])
        
hs adv_vault_get_field(g_vaultg_campos[CAMPO_HS])
        
        new 
asd adv_vault_get_keyname(g_vaultkeyindexname15)
        
server_print("debug:[%d][%s]"asdname)
        
        
replace_all(name45"<""&lt")
        
replace_all(name45">""&gt")
  
        
len += formatex(motd[len], charsmax(motd)-len,
        
"<tr><td>%d</td>\
        <td>%s</td>\
        <td>%d</td>\
        <td>%d</td>\
        <td>%d</td>"
positionnamekillsdeathshs)
    }

    
add(motdcharsmax(motd), "</table></body></html>")

    
show_motd(idmotd"KnifeTop")
}

public 
top_reset(plr,level,cid) {
    if(!
cmd_access(plr,level,cid,0)) {
        return 
PLUGIN_HANDLED;
    }
    
    new 
name[32];
    
get_user_name(plrname31);
    
    static 
knifetop[128], len;

    
adv_vault_closed(g_vault);

    if (!
len)
    {
        
get_localinfo("amxx_datadir"knifetopcharsmax(knifetop))
        
add(knifetopcharsmax(knifetop), "/adv_vault/topknife/");
        
len strlen(knifetop);
    }

    
formatex(knifetop[len], charsmax(knifetop)-len"data.dat");
    if( 
file_exists(knifetop))
        
delete_file(knifetop);

    
formatex(knifetop[len], charsmax(knifetop)-len"simple.dat");
    if( 
file_exists(knifetop))
        
delete_file(knifetop);

    
formatex(knifetop[len], charsmax(knifetop)-len"index.dat");
    if( 
file_exists(knifetop))
        
delete_file(knifetop);

    
formatex(knifetop[len], charsmax(knifetop)-len"fields.dat");
    if( 
file_exists(knifetop))
        
delete_file(knifetop);

    new 
0;
    
formatex(knifetop[len], charsmax(knifetop)-len"sort_%d.dat"i);
    while (
file_exists(knifetop))
    {
        
delete_file(knifetop);
        
formatex(knifetop[len], charsmax(knifetop)-len"sort_%d.dat", ++i);
    }

    
vault_init();

    
chat_color(0"!g[SOK]!y ADMIN!t %s!y reseted the KnifeTop top"name)

    return 
PLUGIN_HANDLED;
}

stock chat_color(const id, const input[], any:...)
{
    static 
msg[191]

    if(
numargs() == 2)
        
copy(msg190input)
    else
        
vformat(msg190input3)
    
    
replace_all(msg190"!g""^4")
    
replace_all(msg190"!y""^1")
    
replace_all(msg190"!t""^3")
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTg_msgSayText_id)
    
write_byte(id)
    
write_string(msg)
    
message_end()

Responder
#2
(20/04/2021, 05:43 PM)Gstrigl escribió: Hola.. estoy usando este complemento.. necesitaria saber como puedo hacer para reiniciarlo, no tengo idea si es por medio de algun cvar o advault.. cabe destacar que uso el adv para otras cosas..
Código PHP:
#include <amxmodx>
#include <adv_vault>
#include <amxmisc>

#define PLUGIN "Simple Knife Top"
#define VERSION "1.1"
#define AUTHOR "Destro"

#define TAG  "!t[ !gUN SERVER PERFECTO !t]"

enum {
    CAMPO_KILLS,
    CAMPO_DEATHS,
    CAMPO_HS,
    MAX_FIELDS
}

new 
g_campos[MAX_FIELDS]

new 
g_name[33][32], g_knife_kills[33], g_knife_deaths[33], g_knife_hs[33]
new 
g_msgSayTextg_maxplayers

new g_vaultg_sort

public plugin_init()
{
    register_plugin(PLUGINVERSIONAUTHOR)
    
    register_clcmd
("say /knifereset","top_reset",ADMIN_BAN);
    register_clcmd("say /rank""clcmd_rank")
    register_clcmd("say /top""clcmd_top10")
    
    register_event
("DeathMsg""event_DeathMsg""a""1>0")
    register_event("HLTV""event_round_start""a""1=0""2=0")
    
    g_msgSayText 
get_user_msgid("SayText")
    g_maxplayers get_maxplayers()
    
    vault_init
();
}

vault_init()
{
    g_vault adv_vault_open("topknife"false)
    g_campos[CAMPO_KILLS]    adv_vault_register_field(g_vault"kill")
    g_campos[CAMPO_DEATHS]    adv_vault_register_field(g_vault"death")
    g_campos[CAMPO_HS]    adv_vault_register_field(g_vault"hs")
    adv_vault_init(g_vault)
    
    g_sort 
adv_vault_sort_create(g_vaultORDER_DESC02000g_campos[CAMPO_KILLS])
}

public 
client_putinserver(id)
{
    get_user_name(idg_name[id], 31)
    
    load_data
(id)
}

public 
publicidadid )
{
    chat_colorid"%s !nTipea !g/rank !npara ver tu rank de !tfacas!n."TAG )
    chat_colorid"%s !nTipea !g/top !npara ver el TOP10 de !tfacas!n."TAG )
    chat_colorid"%s !nTipea !g/top10 !npara ver el TOP10"TAG )
}


public 
client_infochanged(id)
{
    if(!is_user_connected(id)) return

    static newname[32]
    
    get_user_info
(id"name"newname31)

    if(!equal(newnameg_name[id]))
    {
        copy(g_name[id], 31newname)
        load_data(id)
    }
}

public 
event_DeathMsg()
{
    static killervictimweapon[5]
    
    killer 
read_data(1)
    victim read_data(2)  
    read_data
(4weapon4)
      
    
if(weapon[0] != 'k' || weapon[3] != 'f') return

    g_knife_kills[killer]++ 
    g_knife_deaths[victim]++ 
    
    
if(read_data(3)) g_knife_hs[killer]++
}

public 
event_round_start()
{
    for(new id=1id <= g_maxplayersid++)
    {
        if(is_user_connected(id)) save_data(id)
    }
    
    adv_vault_sort_update
(g_vaultg_sort)
}

save_data(id)
{
    adv_vault_set_start(g_vault)
    adv_vault_set_field(g_vaultg_campos[CAMPO_KILLS], g_knife_kills[id])
    adv_vault_set_field(g_vaultg_campos[CAMPO_DEATHS], g_knife_deaths[id])
    adv_vault_set_field(g_vaultg_campos[CAMPO_HS], g_knife_hs[id])
    adv_vault_set_end(g_vault_g_name[id])
}

load_data(id)
{
    if(!adv_vault_get_prepare(g_vault_g_name[id]))
    {
        g_knife_kills[id] = g_knife_deaths[id] = g_knife_hs[id] = 0
        
return
    }
    
    g_knife_kills
[id] = adv_vault_get_field(g_vaultg_campos[CAMPO_KILLS])
    g_knife_deaths[id] = adv_vault_get_field(g_vaultg_campos[CAMPO_DEATHS])
    g_knife_hs[id] = adv_vault_get_field(g_vaultg_campos[CAMPO_HS])
}

public 
clcmd_rank(id)
{
    new rank_position adv_vault_sort_key(g_vaultg_sort0g_name[id])
    
    
if(!rank_positionchat_color(id"!g-!tNo estas rankeado")
    else chat_color(id"!g-!tTu rank de knife es !y%d"rank_position)
}

public 
clcmd_top10(id)
{
    new killsdeathshskeyindexname[46], motd[2500], len

    len 
formatex(motdcharsmax(motd),
    "<html><style>\
    body { background-color:#000000; }\
    .tabel { color:#FFFFFF; }\
    .header { background-color:#00BFFF; color:#000000;}\
    </style><body>\
    <br><br><table align=center border=1 width=90%% class=tabel>"
)
    
    len 
+= formatex(motd[len], charsmax(motd)-len,
    "<tr><td class=header width=5%% align=center><strong>Rank</strong></td>\
    <td class=header width=34%%><strong>Name</strong></td>\
    <td class=header width=16%%><strong>KnifeKills</strong></td>\
    <td class=header width=22%%><strong>KnifeDeaths</strong></td>\
    <td class=header width=24%%><strong>KnifeHeadShots</strong></td></tr>"
)
  

    
new toploop min(adv_vault_sort_numresult(g_vaultg_sort), 10)

    for(new position=1position <= toploopposition++)
    {
        keyindex adv_vault_sort_position(g_vaultg_sortposition)

        if(!adv_vault_get_prepare(g_vaultkeyindex)) continue
        
        kills 
adv_vault_get_field(g_vaultg_campos[CAMPO_KILLS])
        deaths adv_vault_get_field(g_vaultg_campos[CAMPO_DEATHS])
        hs adv_vault_get_field(g_vaultg_campos[CAMPO_HS])
        
        
new asd adv_vault_get_keyname(g_vaultkeyindexname15)
        server_print("debug:[%d][%s]"asdname)
        
        replace_all
(name45"<""&lt")
        replace_all(name45">""&gt")
  
        len 
+= formatex(motd[len], charsmax(motd)-len,
        "<tr><td>%d</td>\
        <td>%s</td>\
        <td>%d</td>\
        <td>%d</td>\
        <td>%d</td>"
positionnamekillsdeathshs)
    }

    add(motdcharsmax(motd), "</table></body></html>")

    show_motd(idmotd"KnifeTop")
}

public 
top_reset(plr,level,cid) {
    if(!cmd_access(plr,level,cid,0)) {
        return PLUGIN_HANDLED;
    }
    
    
new name[32];
    get_user_name(plrname31);
    
    
static knifetop[128], len;

    adv_vault_closed(g_vault);

    if (!len)
    {
        get_localinfo("amxx_datadir"knifetopcharsmax(knifetop))
        add(knifetopcharsmax(knifetop), "/adv_vault/topknife/");
        len strlen(knifetop);
    }

    formatex(knifetop[len], charsmax(knifetop)-len"data.dat");
    if( file_exists(knifetop))
        delete_file(knifetop);

    formatex(knifetop[len], charsmax(knifetop)-len"simple.dat");
    if( file_exists(knifetop))
        delete_file(knifetop);

    formatex(knifetop[len], charsmax(knifetop)-len"index.dat");
    if( file_exists(knifetop))
        delete_file(knifetop);

    formatex(knifetop[len], charsmax(knifetop)-len"fields.dat");
    if( file_exists(knifetop))
        delete_file(knifetop);

    new 0;
    formatex(knifetop[len], charsmax(knifetop)-len"sort_%d.dat"i);
    while (file_exists(knifetop))
    {
        delete_file(knifetop);
        formatex(knifetop[len], charsmax(knifetop)-len"sort_%d.dat", ++i);
    }

    vault_init();

    chat_color(0"!g[SOK]!y ADMIN!t %s!y reseted the KnifeTop top"name)

    return PLUGIN_HANDLED;
}

stock chat_color(const id, const input[], any:...)
{
    static msg[191]

    if(numargs() == 2)
        copy(msg190input)
    else
        vformat(msg190input3)
    
    replace_all
(msg190"!g""^4")
    replace_all(msg190"!y""^1")
    replace_all(msg190"!t""^3")
    
    message_begin
(id MSG_ONE_UNRELIABLE MSG_BROADCASTg_msgSayText_id)
    write_byte(id)
    write_string(msg)
    message_end()


Se supone que poniendo /knifereset reinicias el top. ?

    register_clcmd("say /knifereset","top_reset",ADMIN_BAN);
www.GameHost.com.ar
Discord: Luzbe#6650 

(05/06/2021, 01:07 AM)Hinami escribió: SON LIBRES DE PODER USAR EL PANEL, PERO EVITEN SER RATAS Y PONER QUE LO HICIERON USTEDES (DIRIGIDO A VENEZOLANOS EN GENERAL).

(09/02/2020, 06:08 PM)Skylar escribió: Capo, tu vida no nos interesa para que nos estemos informando, asi que cerra la cola

Responder
#3
(20/04/2021, 09:11 PM)Luzbe28 escribió: Se supone que poniendo /knifereset reinicias el top. ?

    register_clcmd("say /knifereset","top_reset",ADMIN_BAN);

le pifie de sma era otro top faka, gracias!
Responder
#4
g_vault = adv_vault_open("topknife", false)
hay podes poner topknife2 o ir a cstrike/addons/amxmodx/data/adv_vault y borras el topknife xD
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)