Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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
CoD Stary

Questy - nie zapisują się

CoD Stary

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

#1 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 239
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 13.05.2011 19:28

Witam, robiłem zadania ( questy ) do starego codmoda. Zaliczają się, sumują etc. Aczkolwiek zapisywanie/wczytywanie nie działa poprawnie.
Gdy wejdę na serwer, wybiorę klasę to każdy quest lvl = 0, taksamo q_unlocked, też wszystkie równe 0.



public ZapiszDane(id)
{

new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]);

for(new i=0; i<Questy; i++)
{
format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], q_lvl[id][i], q_unlocked[id][i]);
}
nvault_set(g_vault,vaultkey,vaultdata);
}

public WczytajDane(id, klasa)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa);
for(new i=0; i<Questy; i++)
{
format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], q_lvl[id][i], q_unlocked[id][i]);
}
nvault_get(g_vault,vaultkey,vaultdata,255);

replace_all(vaultdata, 255, "#", " ");

new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32], osiagniecie[32], odblokowane[32];

parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31, osiagniecie, 31, odblokowane, 31);

doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1;
inteligencja_gracza[id] = str_to_num(inteligencjagracza);
zdrowie_gracza[id] = str_to_num(silagracza);
wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza);
kondycja_gracza[id] = str_to_num(zwinnoscgracza);
for(new i=0; i<Questy; i++)
{
q_lvl[id][i] = str_to_num(osiagniecie);
q_unlocked[id][i] = str_to_num(odblokowane);
}

punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
}




W czym tkwi błąd? Proszę o pomoc
  • +
  • -
  • 0

#2 Człowiek Lasu

    Nowy

  • Zbanowany

Reputacja: 0
zer0.

  • Postów:4
  • Imię:Fajne
  • Lokalizacja:Internet
Offline

Napisano 13.05.2011 19:34

Nie lepiej byłoby zrobić osobny zapis questów?? np
public ZapiszQuesty(id)??
Dlaczego
q_unlocked[id][i]
a nie q_unlocked[id]?

Użytkownik Człowiek Lasu edytował ten post 13.05.2011 19:34


#3 ^Grzyboo

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 239
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 13.05.2011 19:47

Nie, wszystko podporządkowane jest do enuma. "Questy"
  • +
  • -
  • 0

#4 Człowiek Lasu

    Nowy

  • Zbanowany

Reputacja: 0
zer0.

  • Postów:4
  • Imię:Fajne
  • Lokalizacja:Internet
Offline

Napisano 13.05.2011 19:57

a już rozumiem nie zauważyłem 1 rzeczy. osobiście błędu nie widzę. Bez resetu lvl chyba powinno działać. Polecam Nowego CODa dożo łatwiej questy się robi

#5 ^Grzyboo

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 239
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 13.05.2011 20:12

Nowy cod jest nieporęczny, trudniejszy i ogólnie wg mnie dużo gorszy. Zrobienie itemu/klasy etc. jest dwukrotnie dłuższe.

Nie ma nikt pomysłu? :<
  • +
  • -
  • 0

#6 Nomaf

    Wszechpomocny

  • Użytkownik

Reputacja: 155
Profesjonalista

  • Postów:344
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Polska
Offline

Napisano 13.05.2011 20:23

for(new i=0; i<Questy; i++)     
{
format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], q_lvl[id][i], q_unlocked[id][i]);
}


Trochę mnie to dziwi...
Myślę, że powinieneś zrobić w oddzielnej linice questy.

Powiedzmy tak:
for(new i=0; i<Questy; i++)               
format(vaultdata,255,"%i#%i", q_lvl[id][i], q_unlocked[id][i]);
format(vaultdata),255,"%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);


A i jeszcze jedno, czy te zmienne q_lvl i q_unlocked przechowują liczby czy litery? To ważne...

Użytkownik Nomaf edytował ten post 13.05.2011 20:25

  • +
  • -
  • 0

#7 ^Grzyboo

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 239
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 13.05.2011 20:27

liczby,
q_lvl to ilość zabójstw gracza przykładowo,
q_unlocked 0 bądź 1, w zależności czy q_lvl jest większy/równy od wyznaczonych wartości
  • +
  • -
  • 0

#8 Nomaf

    Wszechpomocny

  • Użytkownik

Reputacja: 155
Profesjonalista

  • Postów:344
  • GG:
  • Imię:Mateusz
  • Lokalizacja:Polska
Offline

Napisano 13.05.2011 20:42

To sprawdź, czy to co ja podałem działa i jak są liczby (%i) tak jak jest napisałem to jest dobrze.
  • +
  • -
  • 0

#9 ^Grzyboo

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 239
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 14.05.2011 13:34

Poradziłem sobie, zamieniłem [i] na pojedyncze liczby. Chyba w tym przypadku zapisu na vault nie można używać pętli.
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: CoD Stary

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

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