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
Silnik

Taki sam level na roznych klasach

silnik

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
15 odpowiedzi w tym temacie

#1 Kmf!p

    Wszechwidzący

  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 03.07.2015 13:38

Witam,

potrzebuje zrobic takie cos ze jesli gracz ma na klasie np. komandos 48 lvl (najwyzszy) to jak zrobic zeby na pozostalych klasach tez mial taki sam? ogolnie mowiac zeby gracz mogl grac kazda klasa i miec na niej taki sam level.

 

Załączone pliki


Użytkownik Kmf!p edytował ten post 03.07.2015 13:39

  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 04.07.2015 09:10

Trzeba usunąć z zapisu (w kluczu nvault) nazwe klasy...

 

To chyba tyle :D


  • +
  • -
  • 1

#3 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 04.07.2015 09:18

Trzeba usunąć z zapisu (w kluczu nvault) nazwe klasy...

 

To chyba tyle :D

 

Tyle, jezeli punky statystyk itp tez maja przechodzic na inne klasy. Jezeli nie, trzeba rozdzielic zapisywanie statystyk i zapisywanie poziomow.


  • +
  • -
  • 1

b35020692_qesnxqa.png


#4 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 04.07.2015 09:32

 

Trzeba usunąć z zapisu (w kluczu nvault) nazwe klasy...

 

To chyba tyle :D

 

Tyle, jezeli punky statystyk itp tez maja przechodzic na inne klasy. Jezeli nie, trzeba rozdzielic zapisywanie statystyk i zapisywanie poziomow.

 

 

Tak, zapomniałem o tym :X


  • +
  • -
  • 0

#5 Kmf!p

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 04.07.2015 23:24

dobra a jak usune zapisywanie nazwy klasy to bedzie to dzialac dobrze ?

bo chce zrobic tak zeby np. klasa komandos mam 48 lvl i mam rozdane staty po swojemu i czy te staty i level przeniosa sie gdy zmienie klase ?

czy raczej nie będę mial w statystykach w ogóle punktow na innych klasach, ale musze miec punkty skoro będę mial level ?

poprostu chce zrobic tak ze moge wbijac level wszystkimi klasami, ale zeby to dzialalo tak jakbym gral jedna klasa (zeby nie dodawaly sie statystyki i inne rzeczy) po zmianie klasy chce miec ten level i staty co na wczesniejszej klasie czyli najwyzszy level.

 

czyli wystarczy usunac nazwe klasy z zapisu ?


  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#6 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 05.07.2015 08:21

Kolega napisał co trzeba zrobić w takim wypadku...
  • +
  • -
  • 0

#7 Kmf!p

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 05.07.2015 10:35

napisal, ale tak ze ciezko cos z tego wywnioskowac.


  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#8 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 05.07.2015 11:09

 


 

trzeba rozdzielic zapisywanie statystyk i zapisywanie poziomow.

 

 

Czego jeszcze nie rozumiesz?


  • +
  • -
  • 0

b35020692_qesnxqa.png


#9 Kmf!p

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 05.07.2015 11:19

nie moglem wywnioskowac na co odpowiadasz z tego co widze tez nie wiesz ;)

juz poradzilem sobie, i nie musialem rozdzielac niczego wystarczylo usunac zapis nazwy klasy.


  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#10 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 05.07.2015 11:34

Haha ta :). Oczywiscie, ze sie nie znam. Ale tak na szybko pozwolilem sobie zrobic po swojemu, bys nie zakladal nastepnego tematu z pytaniem dlaczego rozdane punkty przechodza na inne klasy.

Załączone pliki


  • +
  • -
  • 0

b35020692_qesnxqa.png


#11 Kmf!p

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 05.07.2015 18:59

tylko ze ja chce zeby te punkty i poziom przechodzil na inne klasy i wlasnie pisze o tym od poczatku, nie chce zeby sie sumowaly, ale z tego co widze to nie sumuja sie poki co jeszcze nie testowalem dokladnie.  plus za post na poczatku bo po nim miedzy innymi zaczailem jak to zrobic.


Użytkownik Kmf!p edytował ten post 05.07.2015 19:01

  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#12 Kmf!p

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 29.07.2015 15:02

jednak cos jest nie tak bo zdaza sie ze poziomy doswiadczenie sie czasami resetuje

tak wyglada moj public

public ZapiszDane(id)
{
if(!klasa_gracza[id] || doswiadczenie_gracza[id] < 1 || vault == INVALID_HANDLE)
return PLUGIN_CONTINUE;


new vaultkey[128],vaultdata[256], identyfikator[64];
format(vaultdata, charsmax(vaultdata),"#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);


new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);


switch(typ_zapisu)
{
case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}


format(vaultkey, charsmax(vaultkey),"%s-%s-%i-cod", identyfikator, nazwy_klas[klasa_gracza[id]], typ_zapisu);
nvault_set(vault,vaultkey,vaultdata);


return PLUGIN_CONTINUE;
}


public WczytajDane(id, klasa)
{
if(vault == INVALID_HANDLE)
return PLUGIN_CONTINUE;


new vaultkey[128],vaultdata[256], identyfikator[64];


new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);


switch(typ_zapisu)
{
case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}


format(vaultkey, charsmax(vaultkey),"%s-%s-%i-cod", identyfikator, nazwy_klas[klasa], typ_zapisu);




if(!nvault_get(vault,vaultkey,vaultdata,255)) // Jezeli nie ma danych gracza sprawdza stary zapis. 
{
format(vaultkey, charsmax(vaultkey), "%s-%i-cod", nazwa_gracza[id], klasa);
nvault_get(vault,vaultkey,vaultdata,255);
}


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


new danegracza[6][32];


parse(vaultdata, danegracza[0], 31, danegracza[1], 31, danegracza[2], 31, danegracza[3], 31, danegracza[4], 31, danegracza[5], 31);


doswiadczenie_gracza[id] = str_to_num(danegracza[0]);
poziom_gracza[id] = str_to_num(danegracza[1])>0?str_to_num(danegracza[1]):1;
inteligencja_gracza[id] = str_to_num(danegracza[2]);
zdrowie_gracza[id] = str_to_num(danegracza[3]);
wytrzymalosc_gracza[id] = str_to_num(danegracza[4]);
kondycja_gracza[id] = str_to_num(danegracza[5]);
punkty_gracza[id] = (poziom_gracza[id]-1)-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];


return PLUGIN_CONTINUE;
} 

sadze ze problem lezy gdzies tu ;) 

 

format(vaultkey, charsmax(vaultkey),"%s-%s-%i-cod", identyfikator, nazwy_klas[klasa_gracza[id]], typ_zapisu);

format(vaultkey, charsmax(vaultkey),"%s-%s-%i-cod", identyfikator, nazwy_klas[klasa], typ_zapisu);

format(vaultkey, charsmax(vaultkey), "%s-%i-cod", nazwa_gracza[id], klasa);

bo wczytuje/zapisuje klasy gracza, a ja chce zeby wczytywalo/zapisywalo doswiadczenie, ale nie wiem jak przerobic zeby wczytywalo/zapisywalo to doswiadczenie i zeby nie bylo podzialu na klasy bo mi nie potrzeba zapisywac doswiadczenia na wszystkich klasach. w sumie tak tez dziala ale zdaza sie ze komus lvl nagle spadnie i nie da sie wbic bo cos jest nie tak z zapisem.


  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#13 Kmf!p

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 29.07.2015 17:00

dodam ze problem wystapil gdy gracz gral jedna klasa mial 32 lvl wpisal /klasa wybral inna klase, wpisal kill w konsoli i juz na innej klasie nie mial lvl level zablokowal mu sie na 3 czy tam 4 i na tym nicku nie da sie wbic wiekszego ;), dodam ze probowalem tak robic i umnie lvl byl, a u niego nie ma ;) jeszcze moge zapis z nvault podac widac ze cos jest nie tak.

to jest jego zapis

Fr3sh.-1-cod#545#4#0#3#0#0šé·U%

Użytkownik Kmf!p edytował ten post 29.07.2015 17:02

  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#14 Kmf!p

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 31.07.2015 23:33

jednak problem lezy gdzie indziej, i zapis okazuje sie byc dobry. tylko sa 2 nicki na serwerze na ktore ten zapis nie dziala mianowicie: Fr3sh. i Rybka :3 raczej nie jest to problem z nickami bo na podobnych nickach dziala, juz sam nie wiem czego to wina kazdemu normalnie dziala tylko im nie...dziwne. na orginalnym zapisie z cod tez nie dziala na tych nikach. wylanczalem serwer wywalalem te dwa pliki z folderu vault, wlanczam serwer i dalej to samo a wchodze na swoj i normalnie exp leci i lvl jak i na kazdym innym nicku, a na tych dobija sie 4 lvl i wiecej sie nie da pisze spadles do 2 poziomu i tak w kolko.


  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#15 Kmf!p

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 11.08.2015 13:24

pomozcie ;) ...

 

wczesniejsze posty sa nie aktualne ;)

 

wszystko dziala, ale do czasu nagle jednemu graczowi spadnie poziom(na 2lvl) i nie mozna wbic wiecej jak do 4 lvl, kazda proba oddania lvl nie pomaga ustawiam na np. 30 lvl gosc zamiast wbic 31 to spada mu na 2 lvl i tak w kolko. na nicku ktorym ten lvl spadl nie da sie grac nawet po resecie lvl bo i tak wbije sie max 4 lvl co jest dziwne innym graczom w tym czasie wszystko dziala normalnie ogarnie ktos to zeby dzialalo normalnie bez tego kasowania sie lvl ?

 

public ZapiszDane(id)
{
if(doswiadczenie_gracza[id] < 1 || vault == INVALID_HANDLE)
return PLUGIN_CONTINUE;


new vaultkey[128],vaultdata[256], identyfikator[64];
format(vaultdata, charsmax(vaultdata),"#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id]);


new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);


switch(typ_zapisu)
{
case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}


format(vaultkey, charsmax(vaultkey),"%s-%i-cod", identyfikator, typ_zapisu);
nvault_set(vault,vaultkey,vaultdata);


return PLUGIN_CONTINUE;
}


public WczytajDane(id)
{
if(vault == INVALID_HANDLE)
return PLUGIN_CONTINUE;


new vaultkey[128],vaultdata[256], identyfikator[64];


new typ_zapisu = get_pcvar_num(cvar_typ_zapisu);


switch(typ_zapisu)
{
case 1: copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}


format(vaultkey, charsmax(vaultkey),"%s-%i-cod", identyfikator, typ_zapisu);




if(!nvault_get(vault,vaultkey,vaultdata,255)) // Jezeli nie ma danych gracza sprawdza stary zapis. 
{
format(vaultkey, charsmax(vaultkey), "%s-cod", nazwa_gracza[id]);
nvault_get(vault,vaultkey,vaultdata,255);
}


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


new danegracza[6][32];


parse(vaultdata, danegracza[0], 31, danegracza[1], 31, danegracza[2], 31, danegracza[3], 31, danegracza[4], 31, danegracza[5], 31);


doswiadczenie_gracza[id] = str_to_num(danegracza[0]);
poziom_gracza[id] = str_to_num(danegracza[1])>0?str_to_num(danegracza[1]):1;
inteligencja_gracza[id] = str_to_num(danegracza[2]);
zdrowie_gracza[id] = str_to_num(danegracza[3]);
wytrzymalosc_gracza[id] = str_to_num(danegracza[4]);
kondycja_gracza[id] = str_to_num(danegracza[5]);
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];


return PLUGIN_CONTINUE;
} 
public SprawdzPoziom(id)
{ 
new limit_poziomu = get_pcvar_num(cvar_limit_poziomu);


new bool:zdobyl_poziom, bool:stracil_poziom;


while(doswiadczenie_gracza[id] >= PobierzDoswiadczeniePoziomu(poziom_gracza[id]) && poziom_gracza[id] < limit_poziomu)
{
poziom_gracza[id]++;
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
zdobyl_poziom = true;
}


while(doswiadczenie_gracza[id] < PobierzDoswiadczeniePoziomu(poziom_gracza[id]-1))
{
poziom_gracza[id]--;
stracil_poziom = true;
}


if(poziom_gracza[id] > limit_poziomu)
{
poziom_gracza[id] = limit_poziomu;
ResetujPunkty(id);
}


if(stracil_poziom)
{
ResetujPunkty(id);
set_hudmessage(212, 255, 85, 0.31, 0.32, 0, 6.0, 5.0);
ShowSyncHudMsg(id, SyncHudObj2,"Spadles do %i poziomu!", poziom_gracza[id]);
}
else if(zdobyl_poziom)
{
new name[32]
get_user_name(id, name, 31) 
ColorChat(0, GREEN, "[%s]^x03 %s^x04 awansowal na^x03 %i^x04 poziom.", nazwy_klas[klasa_gracza[id]], name, poziom_gracza[id])
client_cmd(id, "spk QTM_CodMod/levelup");
}




ZapiszDane(id);
}

 


  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#16 Kmf!p

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 14.08.2015 11:04

lub zrobic zeby jakos na standardowym zapisie z coda pobrac nazwe klasy i najwyzszy lvl i ustawic ten lvl na innych klasach tez.


  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544





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

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

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