public WybierzKlase(id)
{
new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new klasa[50];
for(new i=1; i<8; i++)
{
Load(id, i)
format(klasa, 49, "\y%s Lvl: %i", Race[i], player_lvl[id]);
menu_additem(menu, klasa);
}
menu_display(id, menu);
}
public WybierzKlase_Handle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
item++;
if(item == player_class[id])
return PLUGIN_CONTINUE;
if(player_class[id])
{
new_class[id] = item;
ColorChat(id, GREEN, "[%s] ^x01Klasa bedzie zmieniona w nastepnej rundzie", PREFIX)
}
else
{
player_class[id] = item;
Load(id, player_class[id])
}
return PLUGIN_CONTINUE;
}
public Save(id)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-db", name, player_class[id]);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", player_xp[id], player_lvl[id], player_agility[id], player_dextery[id], player_intelligence[id], player_strength[id])
nvault_set(g_vault,vaultkey,vaultdata);
}
public Load(id, klasa)
{
new name[32]
get_user_name(id, name, 31)
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-db", name, klasa);
format(vaultdata,255,"%i#%i#%i#%i#%i#%i", player_xp[id], player_lvl[id], player_agility[id], player_dextery[id], player_intelligence[id], player_strength[id])
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new xp[32], lvl[32], agi[32], dex[32], int[32], str[32]
parse(vaultdata, xp, 31, lvl, 31, agi, 31, dex, 31, int, 31, str, 31);
player_xp[id] = str_to_num(xp)
player_lvl[id] = str_to_num(lvl)
player_agility[id] = str_to_num(agi)
player_dextery[id] = str_to_num(dex)
player_intelligence[id] = str_to_num(int)
player_strength[id] = str_to_num(str)
}
I teraz dziwne rzeczy się zaczynają tworzyć...
Jeśli dam tak, to nic nie działa
for(new i=1; i<8; i++)
{
Load(id, i)
format(klasa, 49, "\y%s Lvl: %i", Race[i], player_lvl[id]);
menu_additem(menu, klasa);
}
Natomiast tak:
for(new i=1; i<8; i++)
{
format(klasa, 49, "\y%s Lvl: %i", Race[i], player_lvl[id]);
menu_additem(menu, klasa);
}
... Wszystko jest w porządku, klasę wybiera, menu się tworzy.
Z tego wynika, że funkcja LOAD nie działa poprawnie, chociaż jest skopiowana z pluginu, w którym działa.
Czy da się to jakoś naprawić?