←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Dynamiczne odświeżanie zapisu nvault

  • +
  • -
Czaso Umilacz - zdjęcie Czaso Umilacz 16.07.2012

Witam, napisałem sobie menu do kasowania danych gracza z zapisu nvault:

public KasujDane(id)
{
new menu = menu_create("Komu","KasujDane_Handle");

new iPos , szKey[32] , szVal[64] , iTimeStamp;
new iVault = nvault_util_open("MW3_Lvl");
new iCount = nvault_util_count(iVault);

new klucz[64];

for(new iCurrent = 1, n=0; iCurrent <= iCount ; iCurrent++ )
{
iPos = nvault_util_read(iVault, iPos, szKey ,charsmax(szKey), szVal, charsmax(szVal), iTimeStamp);

copy(klucz, 63, szKey);

kasuj_id[n++] = klucz;
menu_additem(menu, klucz);

menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");

menu_display(id, menu);
}


public KasujDane_Handle(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}

kasuj[id] = kasuj_id[item];

new vaultkey[64];
format(vaultkey, 63, "%s", kasuj[id]);
nvault_remove(zapis, vaultkey);

return PLUGIN_HANDLED;
}

I teraz problem, wszystko ładnie działa , ale menu wybierania komu wykasować dane odświeża się po zmianie mapy, wg mnie problem tkwi zapewne w tym że plik .vault odświeża się co zmianę mapy, czy da się jakoś plik .vault odświeżyć w funkcji KasujDane_Handle?
Oraz jeśli się mylę to w czym jest problem :/
Użytkownik Czaso Umilacz edytował ten post 16.07.2012 08:54
Odpowiedz

  • +
  • -
Czaso Umilacz - zdjęcie Czaso Umilacz 17.07.2012

Odświeżam
Odpowiedz

GT Team - zdjęcie GT Team 18.07.2012

Raczej się nie da, ale spróbuj po odświeżeniu kodu zamknąć plik : nvault_close( ... )
a potem otworzyć : nvault_open( ... )
Odpowiedz

  • +
  • -
Czaso Umilacz - zdjęcie Czaso Umilacz 18.07.2012

Można spróbować :)
Odpowiedz

GT Team - zdjęcie GT Team 19.07.2012

I jak dziala?
Odpowiedz