PHP Code:
#include <amxmodx>
#include <hamsandwich>
#include <nvault>
#define siguiente(%1) (%1 * 15)
new g_level[33], g_frags[33], g_conectado[33]
new g_Vault, g_VaultKey[33][35]
public plugin_init()
{
register_plugin("NIVELES", "1.", "cLAANS")
RegisterHam( Ham_Killed, "player", "Ham_PlayerKilled", 1 )
set_task(2.0,"hudpersonal",0,_,_,"b")
}
public plugin_cfg() {
g_Vault = nvault_open("VaultFrags")
if(g_Vault == INVALID_HANDLE)
set_fail_state("[R]ak Acme Inc.- Error al abrir el vault")
}
public client_putinserver(id)
{
g_level[id] = 1
g_frags[id] = 0
g_conectado[id] = 1
set_task(2.0,"hudpersonal",0,_,_,"b")
get_user_authid(id, g_VaultKey[id], charsmax(g_VaultKey[]))
LoadData(id)
}
public client_disconnect(id)
{
g_conectado[id] = 0
SaveData(id)
}
public Ham_PlayerKilled( victim, attacker )
{
if(!g_conectado[victim] || !g_conectado[attacker] || victim == attacker || get_user_team(victim) == get_user_team(attacker))
return
g_frags[attacker] += 1
checklevel(attacker)
}
public checklevel( id )
{
while( g_frags[id] >= siguiente(g_level[id]) )
{
g_level[ id ]++
g_frags[ id ] = 0
}
}
public hudpersonal() {
new players[32],num,i
get_players(players,num)
for(i = 0; i <= num; i++)
{
new id = players[i]
if(is_user_connected(id)) {
new name[33]
get_user_name(id,name,32)
if ( is_user_alive ( id ) )
{
set_hudmessage(85, 255, 212, 0.80, 0.12, 0, 6.0, 12.0)
show_hudmessage(id, " [ Nombre: %s ]^n [ Frags : %d / %d]^n [ Level : %d ]", name, g_frags[id], siguiente(g_level[id]), g_level[id] )
}
}
}
return PLUGIN_CONTINUE
}
LoadData(id) g_frags[id] = nvault_get(g_Vault , g_VaultKey[id])
SaveData(id) {
static VaultData[20]
num_to_str(g_frags[id], VaultData, charsmax(VaultData))
nvault_set(g_Vault, g_VaultKey[id], VaultData)
}
__________________