Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[ROZWIĄZANE] Problem z nvault


  • Zamknięty Temat jest zamknięty
6 odpowiedzi w tym temacie

#1 mimo114

    Pomocny

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:72
  • Imię:Mateusz
  • Lokalizacja:Lubliniec
Offline

Napisano 24.02.2013 21:16

Witam.
Mam 2 funkcje zapisz i wczytaj lecz niestety zapisywanie raz działa a raz nie.
Po sprawdzeniu pliku vault zobaczyłem że zapisało 2 boty
Pbmod-[P*D]Pseudolukian (100)0 0 0 0 0 0 6 0©k*Q"

i zaniepokoił mnie wynik ponieważ tylko pierwsze 2 liczby które są zapisywane mogą być większe niż 1 pozostałe w kodzie są modyfikowane tylko w sposób np. player_b_premium[id][5]=1 oraz w zapytaniach co raczej ich nie modyfikuje.
Po za tym po zwiększeniu 2 wartości nie została ona wcale zapisana.
Wartości są zapisywane po każdym zabiciu gracza oraz w funkcji client_disconect.
public zapiszpb(id)
{
new name[35]
get_user_name(id,name,34)

new key[64],data[256]
format(key,charsmax(key),"Pbmod-%s",name)
format(data,charsmax(data),"%i %i %i %i %i %i %i %i",player_b_honor[id],player_b_punktybonusowe[id],player_b_premium[id][1],player_b_premium[id][2],player_b_premium[id][3],player_b_premium[id][4],player_b_premium[id][5],player_b_premium[id][6])
nvault_set(vaultpb,key,data)
return PLUGIN_CONTINUE;
}

public wczytajpb(id)
{
new name[35]
get_user_name(id,name,34)

new key[64],data[256]
format(key,charsmax(key),"Pbmod-%s",name)
if(nvault_get(vaultpb,key,data,255))
{
new honor[24],po[24],p1[3],p2[3],p3[3],p4[3],p5[3],p6[3]
parse(data,honor,23,po,23,p1,2,p2,2,p3,2,p4,2,p5,2,p6,2)
player_b_honor[id]=str_to_num(honor)
player_b_punktybonusowe[id]=str_to_num(po)
player_b_premium[id][1]=str_to_num(p1)
player_b_premium[id][2]=str_to_num(p2)
player_b_premium[id][3]=str_to_num(p3)
player_b_premium[id][4]=str_to_num(p4)
player_b_premium[id][5]=str_to_num(p5)
player_b_premium[id][6]=str_to_num(p6)
}
return PLUGIN_CONTINUE
}

  • +
  • -
  • 0

#2 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 24.02.2013 23:12

Jest coś w logach? Przy pobieraniu nicku dodaj warunek czy gracz jest połączony.
  • +
  • -
  • 1

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#3 mimo114

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:72
  • Imię:Mateusz
  • Lokalizacja:Lubliniec
Offline

Napisano 25.02.2013 14:28

może problem tkwi w deklaracji zmiennej:
new player_b_premium[][] = { 0,0,0,0,0,0,0 };
Ale niestety w inny sposób nie potrafię tego zrobić bo gdy zmieniam player_b_premium[][] na player_b_premium[33][] lub player_b_premium[33][8] to mam błąd:
Error: Multi-dimensional arrays must be fully initialized on line 37
po za tym w logach cały czas wyskakują errory albo przy odpalaniu menu w którym są zapytania o tą zmienną.

Użytkownik mimo114 edytował ten post 25.02.2013 14:36

  • +
  • -
  • 0

#4 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 25.02.2013 19:10

jakie są to błędy w logach?

deklaracja w postaci

new player_b_premium[33][8];


wywala błędy? niemożliwe raczej :)

Przykład z pierwszego lepszego sma:

new Float:damage_after[33][33];// nie przejmuj się tagiem Float:, potrzebna była tablica liczb rzeczywistych

  • +
  • -
  • 1

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#5 mimo114

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:72
  • Imię:Mateusz
  • Lokalizacja:Lubliniec
Offline

Napisano 25.02.2013 20:43

Ok teraz wszystko już działa wystarczyło że zamieniłem
new player_b_premium[][] = { 0,0,0,0,0,0,0 };
na
new player_b_premium[33][8];
Dzięki za pomoc.
  • +
  • -
  • 0

#6 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 26.02.2013 00:02

Tak na przyszłość, tutaj
new player_b_premium[][] = { 0,0,0,0,0,0,0 };

próbowałeś przypisać tablicę dwuwymiarową do danych w jednym wymiarze, więc to nie miało prawa działać.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#7 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 26.02.2013 00:03

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych