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

wyliczanie punktów w SprawdzPoziom() - dlaczego 2 razy? oO


Najlepsza odpowiedź Linux', 18.07.2015 17:11

W zasadzie nie powinienem sie wypowiadac (Patrz sygne..) ale szkoda by taka wiedza tkwila u mnie w glowie :D. Juz dawno widzialem ten blad ale nic o tym nigdzie nie pisalem. Wydaje mi sie, ze to jest zwykle nie dopatrzenie po stronie autora. Poza tym ta zmienna sprawdzajaca czy gracz zdobyl czy nie poziom tez jest raczej zbedna. Prosciej wszystko wrzucic razem i tez bedzie wszystko smigac poprawniej. U mnie to tak wygladalo, przerob sobie na nowego coda.

public SprawdzPoziom(id)
{
	if(!is_user_connected(id) || !klasa_gracza[id])
		return PLUGIN_CONTINUE;

	while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]] && poziom_gracza[id] < limit_poziomu)
	{
		poziom_gracza[id]++;
		punkty_gracza[id] = (poziom_gracza[id]/10)-inteligencja_gracza[id]-zdrowie_gracza[id]-obrazenia_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
		client_cmd(id, "spk QTM_CodMod/levelup.wav");

		if(poziom_gracza[id] == 1000 | 2000 | 3000 | 4000 | 5000 | 6000 | 7000 | 8000 | 9000 | 10000)
		{
			set_hudmessage(245, 163, 7, 0.31, 0.32, 0, 6.0, 5.0);
			ShowSyncHudMsg(id, SyncHudObj2,"Awansowales do %i poziomu! Gratulacje!", poziom_gracza[id]);
		}
	}
	while(doswiadczenie_gracza[id] < doswiadczenie_poziomu[poziom_gracza[id]-1])
	{
		poziom_gracza[id]--;
		KomendaResetujPunkty(id);
		set_hudmessage(245, 163, 7, 0.31, 0.32, 0, 6.0, 5.0);
		ShowSyncHudMsg(id, SyncHudObj2,"Spadles do %i poziomu!", poziom_gracza[id]);
	}
	if(poziom_gracza[id] > limit_poziomu)
	{
		poziom_gracza[id] = limit_poziomu;
		KomendaResetujPunkty(id);
	}

	ZapiszDane(id);
	return PLUGIN_CONTINUE;
}
Przejdź do postu


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

#1 TibacK

    Diler pod gimnazjum dla niepełnosprawnych dzieci

  • Power User

Reputacja: 466
Wszechobecny

  • Postów:2448
Offline

Napisano 18.07.2015 16:34

Witam, dlaczego tu jest wyliczanie punktów dwa razy? skoro jak awansował to zmienna jest na true i potem w warunku są podliczane?

public SprawdzPoziom(id)
{	
	if(!is_user_connected(id))
		return;
		
	new limit_poziomu = get_pcvar_num(cvar_limit_poziomu);
	
	new bool:zdobyl_poziom = false, bool:stracil_poziom = false;
	
	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);
	}
	else if(zdobyl_poziom)
	{
		punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
		client_cmd(id, "spk QTM_CodMod/levelup");
	}
}

Mógłby ktoś wyjaśnic?


  • +
  • -
  • 0

Sprzedam Paczkę CoD pod CS 1.6 (JEST WIELE WERSJI DO WYBORU TEJ PACZKI) na lvl od 201 - 601

Silnik (8 nowych statystyk, poprawiony zapis, dodatkowy exp, pozbyto się CurWeapon). Ponad 100 perków (do wyboru do koloru). Sklep, NOWE MISJE (QUESTY), premium i super premium, AUKCJE, KLANY, zapis nVault, 4 zestawy modeli bronii do wyboru!

JESTEŚ ZAINTERESOWANY KUPNEM? NAPISZ WIADOMOŚĆ DO MNIE!


#2 Linux'

    Pan Pomocny

  • Power User

Reputacja: 488
Wszechobecny

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

Napisano 18.07.2015 17:11   Najlepsza odpowiedź

W zasadzie nie powinienem sie wypowiadac (Patrz sygne..) ale szkoda by taka wiedza tkwila u mnie w glowie :D. Juz dawno widzialem ten blad ale nic o tym nigdzie nie pisalem. Wydaje mi sie, ze to jest zwykle nie dopatrzenie po stronie autora. Poza tym ta zmienna sprawdzajaca czy gracz zdobyl czy nie poziom tez jest raczej zbedna. Prosciej wszystko wrzucic razem i tez bedzie wszystko smigac poprawniej. U mnie to tak wygladalo, przerob sobie na nowego coda.

public SprawdzPoziom(id)
{
	if(!is_user_connected(id) || !klasa_gracza[id])
		return PLUGIN_CONTINUE;

	while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]] && poziom_gracza[id] < limit_poziomu)
	{
		poziom_gracza[id]++;
		punkty_gracza[id] = (poziom_gracza[id]/10)-inteligencja_gracza[id]-zdrowie_gracza[id]-obrazenia_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
		client_cmd(id, "spk QTM_CodMod/levelup.wav");

		if(poziom_gracza[id] == 1000 | 2000 | 3000 | 4000 | 5000 | 6000 | 7000 | 8000 | 9000 | 10000)
		{
			set_hudmessage(245, 163, 7, 0.31, 0.32, 0, 6.0, 5.0);
			ShowSyncHudMsg(id, SyncHudObj2,"Awansowales do %i poziomu! Gratulacje!", poziom_gracza[id]);
		}
	}
	while(doswiadczenie_gracza[id] < doswiadczenie_poziomu[poziom_gracza[id]-1])
	{
		poziom_gracza[id]--;
		KomendaResetujPunkty(id);
		set_hudmessage(245, 163, 7, 0.31, 0.32, 0, 6.0, 5.0);
		ShowSyncHudMsg(id, SyncHudObj2,"Spadles do %i poziomu!", poziom_gracza[id]);
	}
	if(poziom_gracza[id] > limit_poziomu)
	{
		poziom_gracza[id] = limit_poziomu;
		KomendaResetujPunkty(id);
	}

	ZapiszDane(id);
	return PLUGIN_CONTINUE;
}

  • +
  • -
  • 1

Posiadam na sprzedaż w pełni odwzorowaną paczkę nowego coda do csgo. Kliknij by dowiedzieć się więcej!

 

- PISZE MODYFIKACJE.

- NAPRAWIAM POPSUTE PLUGINY.

- DZIALAM W DZIALACH AMXX/SOURCEMOD. MASZ ZLECENIE? PISZ.


#3 TibacK

    Diler pod gimnazjum dla niepełnosprawnych dzieci

  • Autor tematu
  • Power User

Reputacja: 466
Wszechobecny

  • Postów:2448
Offline

Napisano 18.07.2015 17:46

No dobra ale w tym Twoim sposobie będzie nawalać w pętli hudem itp

Ciekawi mnie sposób jak połączyłeś te liczby 1000 | 2000... Działa Ci to oO




Co do tematu, też mi się tak wydawało, tyle, że ja mam całkiem inna tą funkcję Ale coś z oryginału zostało
  • +
  • -
  • 0

Sprzedam Paczkę CoD pod CS 1.6 (JEST WIELE WERSJI DO WYBORU TEJ PACZKI) na lvl od 201 - 601

Silnik (8 nowych statystyk, poprawiony zapis, dodatkowy exp, pozbyto się CurWeapon). Ponad 100 perków (do wyboru do koloru). Sklep, NOWE MISJE (QUESTY), premium i super premium, AUKCJE, KLANY, zapis nVault, 4 zestawy modeli bronii do wyboru!

JESTEŚ ZAINTERESOWANY KUPNEM? NAPISZ WIADOMOŚĆ DO MNIE!


#4 Linux'

    Pan Pomocny

  • Power User

Reputacja: 488
Wszechobecny

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

Napisano 18.07.2015 17:55

To byl tylko przyklad, wyciaglem caly public z starego silnika wiec nie usunalem tego :P. A dlaczego mialo by nie dzialac? Wiem, ze dziwnie to wyglada bez nawiasu ale dziala dziala :P.


  • +
  • -
  • 0

Posiadam na sprzedaż w pełni odwzorowaną paczkę nowego coda do csgo. Kliknij by dowiedzieć się więcej!

 

- PISZE MODYFIKACJE.

- NAPRAWIAM POPSUTE PLUGINY.

- DZIALAM W DZIALACH AMXX/SOURCEMOD. MASZ ZLECENIE? PISZ.


#5 TibacK

    Diler pod gimnazjum dla niepełnosprawnych dzieci

  • Autor tematu
  • Power User

Reputacja: 466
Wszechobecny

  • Postów:2448
Offline

Napisano 18.07.2015 22:37

Nie chodzi o nawias, zawsze robiłem to alternatywą i porównywałem jedną zmienna do innych, a tu taki sposób... No nie wierzę jednak w to, aż sam sprawdzę oO

Póki co dzięki, ten cod ma w sobie tyle sekretów...
  • +
  • -
  • 0

Sprzedam Paczkę CoD pod CS 1.6 (JEST WIELE WERSJI DO WYBORU TEJ PACZKI) na lvl od 201 - 601

Silnik (8 nowych statystyk, poprawiony zapis, dodatkowy exp, pozbyto się CurWeapon). Ponad 100 perków (do wyboru do koloru). Sklep, NOWE MISJE (QUESTY), premium i super premium, AUKCJE, KLANY, zapis nVault, 4 zestawy modeli bronii do wyboru!

JESTEŚ ZAINTERESOWANY KUPNEM? NAPISZ WIADOMOŚĆ DO MNIE!





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

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