PHP Code:
#include <amxmodx>
#include <nvault>
// The Data
enum {coins, keys, chips, rocks, gems, gold, successinpawn};
// 1st Dimension: Player's ID
// 2nd Dimension: Max Data
new g_iDataHolder[33][8];
new g_iVault;
public plugin_init()
{
register_plugin("qwe", "rty", "uiop");
register_clcmd("change_data", "CmdYourOwnData");
register_clcmd("save_data", "SaveVault");
g_iVault = nvault_open("hgrp");
}
public client_putinserver(id)
{
new i;
// First set every data to 0
for(i = 0; i < 8; i++)
g_iDataHolder[id][i] = 0
// successinpawn aka g_iDataHolder[id][7] should be set to 100 by default (For newcomers aka people who didn't save anything in vault)
g_iDataHolder[id][successinpawn] = 100;
LoadVault();
}
public ChangeYourOwnData(id)
{
new szArgv_Select[2], szArgv_Set[4];
read_argv(1, szArgv_Select, charsmax(szArgv_Select));
read_argv(2, szArgv_Set, charsmax(szArgv_Set));
// No checks for empty strings/boundaries necessary since its known what to type in this small temporary example
g_iDataHolder[id][str_to_num(szArgv_Select)] = str_to_num(szArgv_Set);
return PLUGIN_CONTINUE;
}
public SaveVault() {return PLUGIN_CONTINUE;}
public LoadVault() {return PLUGIN_CONTINUE;}
I know how to use nVault for storing simple data. This right here is not simple at all. I tried a couple of dumb ways, but none seem to do the thing. I can see the data in the vault file, but it never loads. How should it be done properly?