Bueno por ahí he visto aveces que la gente necesita solamente el guardado y no saben hacer uno o no les funciona y se bugean y cosas así bueno yo les dejo este Simple guardado usando nfvault.
PHP Code:
#include <amxmodx>
#include <nfvault> // Include que usaremos
// Variables que usaremos
new VaultFile[128], szData[180], szKey[30]
// Variables que usaremos para Guardar es Solamente un Ejemplo
new g_Exp[33], g_AmmoPacks[33]
// Se inicia el Plugin...
public plugin_init()
{
// Registro El PLugin
register_plugin("Guardado Nfvault", "1.0", "DJHD!")
// Creo que esto crea el archivo Datos en data/nfvault
nfv_file("Datos", VaultFile, charsmax(VaultFile))
}
// Función privada para Guardar los Datos de los Usuarios
GuardarDatos(id)
{
// Esto lo Hice para demostrar solamente obviamente dentro del ZP tiene una Variable para obtener el Nombre si es que usan zp.
new gName[32]
get_user_name(id, gName, charsmax(gName))
// Le damos Formato a szKey con el Nombre "db_datos" para luego usarlo
formatex(szKey, charsmax(szKey), "db_datos")
// Lo mismo aquí pero con szData pero con la diferencia que aquí le seteamos el valor actual de cada variable.
formatex(szData, charsmax(szData), "%d %d", g_Exp[id], g_AmmoPacks[id])
// Seteamos la key, nombre del usuario y la data
nfv_set_data(VaultFile, szKey, gName, szData)
}
// Función privada para Cargar los Datos de los Usuarios
CargarDatos(id)
{
new gName[32], g_Load_Exp[25], g_Load_AmmoPacks[25]
get_user_name(id, gName, charsmax(gName))
formatex(szKey, charsmax(szKey), "db_datos")
// Creo que si no existe el key y la data con ese nombre se returnea
if(!nfv_get_data(VaultFile, szKey, gName, szData, sizeof(szData) - 1))
return;
// Separamos los Datos y los guardamos en una variable
parse(szData, g_Load_Exp, charsmax(g_Load_Exp), g_Load_AmmoPacks, charsmax(g_Load_AmmoPacks))
// Le damos los datos Parseados de la data convertidos en numeros
g_Exp[id] = str_to_num(g_Load_Exp)
g_AmmoPacks[id] = str_to_num(g_Load_AmmoPacks)
}
Obviamente es solo un ejemplo lo puedes modificar a tu gusto.