←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Problem z odczytaniem danych

  • +
  • -
ELOS - zdjęcie ELOS 11.09.2012

Otóż mam problem iż męczyłem się z zapisem aż mi się udało natomiast teraz mam problem z wczytaniem danych nie wiem co jest nie tak...
Nie wczytuje mi w ogóle danych.

Kod:

Spoiler
Odpowiedz

Nightmare * - zdjęcie Nightmare * 11.09.2012

Spróbuj tak



public ZaladujDane(id)
{
new name[48]
new vaultkey[64],vaultdata[128]
formatex(vaultkey,63,"%s-unlock",name)
formatex(vaultdata, 127, "#%i", zloto[id])

if(nvault_get(plik_vault,vaultkey,vaultdata,127)) {

new out[26][3];
explode(vaultdata,'#',out,26,3)


zloto[id] = str_to_num(out[1])
for(new i = 2 ; i<26;i++)
{
new liczymy;
liczymy=i-1;
odblokowane[id][liczymy] = str_to_num(out[i])
}

}

return PLUGIN_CONTINUE
}
stock explode(const string[],const character,output[][],const maxs,const maxlen){
new iDo = 0;
new len = strlen(string);
new oLen = 0;
do
{
oLen += (1+copyc(output[iDo++],maxlen,string[oLen],character))
}
while(oLen < len && iDo < maxs)
Odpowiedz

  • +
  • -
ELOS - zdjęcie ELOS 20.09.2012

Srry za refresh ale wygasł mi serwer testowy i dopiero teraz mam to ponownie.
Zapis nie działa w nvault zapisuje się tylko
TLVn
Odpowiedz

Nightmare * - zdjęcie Nightmare * 22.09.2012

public ZapiszDane(id) {

new name[48]
get_user_name(id,name,47)
new vaultkey[64],vaultdata[128],tekst[128];
formatex(vaultkey,63,"%s-unlock",name)
formatex(vaultdata, 127, "%i#", zloto[id])
//i teraz pętla


for(new i=1; i < 25; i++)
{
formatex(tekst, 127, "%i#", odblokowane[id][i])
add(vaultdata, 127, tekst, 127)
}
nvault_set(plik_vault,vaultkey,vaultdata)

return PLUGIN_CONTINUE
}

public ZaladujDane(id)
{
new name[48]
get_user_name(id,name,47)
new vaultkey[64],vaultdata[128]
formatex(vaultkey,63,"%s-unlock",name)

if(nvault_get(plik_vault,vaultkey,vaultdata,127)) {

new out[26][3];
explode(vaultdata,'#',out,26,3)


zloto[id] = str_to_num(out[1])
for(new i = 2 ; i<26;i++)
{
new liczymy;
liczymy=i-1;
odblokowane[id][liczymy] = str_to_num(out[i])
}

}

return PLUGIN_CONTINUE
}
stock explode(const string[],const character,output[][],const maxs,const maxlen){
new iDo = 0;
new len = strlen(string);
new oLen = 0;
do
{
oLen += (1+copyc(output[iDo++],maxlen,string[oLen],character))
}
while(oLen < len && iDo < maxs)
}




Spróbuj tak pozmienialem nieco zapis i odczyt
Użytkownik Subek edytował ten post 22.09.2012 06:14
Odpowiedz

  • +
  • -
ELOS - zdjęcie ELOS 22.09.2012

Nie wiem o co chodzi zapis działa dobrze ponieważ jak ktoś coś zdobył oraz wyszedł z serwera to mu zapisuje. Lecz nie działa wczytanie danych...
oto dowód
PanoraMA-unlock#5#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0®Y]P2 [AvP] ELOS-unlock0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#
Ładuje dane przez
public client_authorized(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
ZaladujDane(id)
}

Edit: Próbowałem również wczytać dane po przez komendę również nie działa czyli jednak musi być coś z kodem.
Edit: Tak wygląda gdy wyczyściłem ponownie nvault
TLVn    ł]]P2 [AvP] ELOS-unlock50#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#
Odpowiedz

Nightmare * - zdjęcie Nightmare * 22.09.2012

Do czego ci jest potrzebny ten zapis ?
Tylko do punktow?
Odpowiedz

  • +
  • -
ELOS - zdjęcie ELOS 22.09.2012

Nie zapis jest ogólnie do wartości 1 oraz 0

1 = Bron kupiona
0 = Bron nie kupiona

natomiast 1 wartość w nvault odpowiada za walutę moda.
Odpowiedz

  • +
  • -
K!113r - zdjęcie K!113r 22.09.2012

punkty możesz normalnie zapisywać tak jak teraz, ale jeżeli reszta wartości przyjmuje wartość 0 i 1 to może lepiej
ELOS-unlock50#0
0 broń pierwsza nie kupiona
1 broń pierwsza kupiona
2 broń druga nie kupiona
3 broń trzecia nie kupiona itd.
Odpowiedz

  • +
  • -
ELOS - zdjęcie ELOS 28.09.2012

refresh. Zna ktoś błąd ?
Odpowiedz