Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zdobywanie poziomów.


Rekomendowane odpowiedzi

Opublikowano

Witam.

Mam pewien problem/pytanie odnośnie zdobywania poziomów.

Robię grę z poziomami statystykami itp.

Lecz mam pewien problem przy zdobywaniu doświadczenia.

Mam dodane w pliku który odpowiada za zapisywanie sesji itp aby sprawdzało jaki gracz ma poziom ile doświadczenia itp.

I tutaj nasuwa się pytanie, jak można w łatwy sposób zrobić aby nie tworzyć każdego poziomu osobno tylko ew. w array liczbę wymaganego doświadczenia itp?

 

Lecz ważną przeszkodą w tym jest że mam ustawione tak że jeśli gracz ma 1-10 lvl to po wbiciu dodaje mu tylko max życie, pieniądze oraz lvl, lecz od 11 poziomu dostaje się także + 1.5*podstawa_statystyk+poziom_gracza

 

Łatwiej to wyjaśnię na wzorze:

Gracz zdobywa 2 poziom - Otrzymuje 1.000 kasy, + 3 do max_życia oraz + 1 do poziomu(logiczne).

Co każdy poziom aż do 10 otrzymuje tak samo: +3 do max_życia oraz +1 do poziomu i co lvl 500 kasy więcej czyli:

2 poziom - 1.000

3 poziom - 1.500

4 poziom - 2.000 etc

Lecz gdy osiągnie 11 poziom to oprócz tych rzeczy wyżej dodaje także:

Do każdych statystyk + X według wzoru: 1.5*podstawa_treningu+poziom_gracza. Statystyk jest 5:

sila, wytrzymalosc itp

i zapytanie wygląda na przykładzie: 

 

 

 

$staty_inteligencja = 1.5*$gracz['staty_inteligencja_podstawa']+$gracz['poziom'];
//$staty_xxx mam dodane wyżej tutaj podałem tylko 1 przykład.
mysql_query("UPDATE `gracze` SET `staty_sila_max` = staty_sila_max+".$staty_sila.", `staty_szybkosc_max` = staty_szybkosc_max+".$staty_szybkosc.", `staty_wytrzymalosc_max` = staty_wytrzymalosc_max+".$staty_wytrzymalosc.", `staty_szczescie_max` = staty_szczescie_max+".$staty_szczescie.", `staty_inteligencja_max` = staty_inteligencja_max+".$staty_inteligencja."  WHERE id='".$gracz['id']."'");
I tutaj jest problem, jeśli by działało na zasadzie tak jak 1-10 lvl to ok, lecz chcę aby do 10 poziomu nie zdobywało się max statystyk tylko dopiero później.

 

Mam nadzieję że jakieś bardziej ogarnięte osoby pomogą i zrozumieją to co napisałem.

 

Obecny wygład zdobywania poziomów mam na przykładzie:

//Do tego dodam że przy wbiciu poziomu doświadczenie oraz doświadczenie_max się resetuje(tutaj tego nie podałem).

 

 

 

	if($gracz['poziom'] == 9)
	{
		if($gracz['doswiadczenie'] == $gracz['doswiadczenie_max'])
		{
			if ($gracz['doswiadczenie_max'] == 9000){
				mysql_query("UPDATE `gracze` SET `poziom` = poziom+1  WHERE id='".$gracz['id']."'");
				mysql_query("UPDATE `gracze` SET `zdrowie_max` = zdrowie_max+3  WHERE id='".$gracz['id']."'");
				mysql_query("UPDATE `gracze` SET `zloto` = zloto+5000 WHERE id='".$gracz['id']."'");
			}
		}
	}
	if($gracz['poziom'] == 10)
	{
		if($gracz['doswiadczenie'] == $gracz['doswiadczenie_max'])
		{
			if ($gracz['doswiadczenie_max'] == 10000){
				$staty_sila = 1.5*$gracz['staty_sila_podstawa']+$gracz['poziom'];
				$staty_szybkosc = 1.5*$gracz['staty_szybkosc_podstawa']+$gracz['poziom'];
				$staty_wytrzymalosc = 1.5*$gracz['staty_wytrzymalosc_podstawa']+$gracz['poziom'];
				$staty_szczescie = 1.5*$gracz['staty_szczescie_podstawa']+$gracz['poziom'];
				$staty_inteligencja = 1.5*$gracz['staty_inteligencja_podstawa']+$gracz['poziom'];
				
				mysql_query("UPDATE `gracze` SET `poziom` = poziom+1  WHERE id='".$gracz['id']."'");
				mysql_query("UPDATE `gracze` SET `zdrowie_max` = zdrowie_max+3  WHERE id='".$gracz['id']."'");
				mysql_query("UPDATE `gracze` SET `staty_sila_max` = staty_sila_max+".$staty_sila.", `staty_szybkosc_max` = staty_szybkosc_max+".$staty_szybkosc.", `staty_wytrzymalosc_max` = staty_wytrzymalosc_max+".$staty_wytrzymalosc.", `staty_szczescie_max` = staty_szczescie_max+".$staty_szczescie.", `staty_inteligencja_max` = staty_inteligencja_max+".$staty_inteligencja."  WHERE id='".$gracz['id']."'");
				mysql_query("UPDATE `gracze` SET `zloto` = zloto+5500 WHERE id='".$gracz['id']."'");
			}
		}
	}

 

Pomogłem?👍

Daj Like! :D

Opublikowano

Jednak inaczej to rozwiązałem ponieważ statystyki maksymalne usunąłem przy zdobywaniu poziomu więc teraz wystarczy tylko tablica która dodaje co poziom o 500 więcej złota i wymaga 100 więcej doświadczenia :)

 

//Do zamknięcia.

Pomogłem?👍

Daj Like! :D

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...