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

[Problem] Wbijanie levela...


Rekomendowane odpowiedzi

Opublikowano

Cześć!

 

Staram się pisać małą grę via www i mam pewien problem, mianowicie nie wiem jak zrobić przejscie na następny poziom.

Czy w ogóle dobrze próbuję to napisać? Oto fragment kodu:

 

  if($user -> get['exp'] >= $user -> get['max_exp'])
                    {
                        mysql_query('UPDATE konta SET `lvl` = `lvl` +1, WHERE `id`='.$user -> get['id']);
                    }

Dlaczego nie chce działać?

 

Mam sytuację taką: Startujemy z 0/100 expa.

Ale nawet po dobiciu np. 120/100

Lvl nie chce przeskoczyć o jedno oczko ;(

 

Ktoś wie dlaczego? Może robię jakiś podstawowy błąd, którego mój mózg nie wychwytuje? ;D

No i przepraszam, ale przygodę z php dopiero rozpoczynam...

 

Z góry dzięki!

Opublikowano

A nie tak ?

 

 

 

 

if($user -> exp >= $user -> max_exp)
{
mysql_query("UPDATE konta SET lvl = lvl + 1 WHERE id = ".$user ->id."");
}
 
Opublikowano

Przykładowo :

 

 

if(!empty($oGracz['exp']) && ($oGracz['exp'] >= $oGracz['exp_lvl'])){
    mysql_query("update gracze set poziom = poziom + 1, exp = exp - exp_lvl, exp_lvl = exp_lvl * 1.3 where gracz = ".$oGracz['gracz']." limit 1");
     header('location: postac.php');
}
 

 

PS

A jak użyłeś to co wyżej ci napisałem wywaliło jakiś error lub coś ?

Opublikowano

a po co w bazie max_exp?

 

nie lepiej wymyślić jakieś działanie, które obliczałoby expa na lvl? albo max_exp przetrzymywać w tablicy?

 

przykład:

$max_xp = $player->level * 70;
  if($player->exp >= $max_xp){
    levelUp(); // funkcja-zapytanie, lvl+1 - nie cche mi sie pisac 
  }
no i wychodzi, że na kazdym nastepnym lvlupie masz 2x exp: 1lv - 70 expa, 2lv - 140.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...