Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]System Misji.
MeGusta
post 25.10.2015, 15:19:58
Post #1





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 6.07.2015

Ostrzeżenie: (10%)
X----


witam kolegów, jako ze jestem początkujący chciałbym Was zapytać jak mógłbym zrobić następujący system (misji).

Wyświetlam dwie misje które gracz może sobie przyjąć, po przyjęciu jednej z dwóch usuwaja sie wybór misji i pokazuje tylko stan obecnie wybranej, po zakonczonej misji losuje 2 nastepne misje z bazy które najbardziej odpowiedają wymaganemu poziomowi gracz i znów je wyświetla i daje wybór i tak cały czas.

Nie proszę o gotowca lecz o wytłumaczenie jak taką funkcję misji mogę zrobić.

Z góry dziękuję za pomoc.

Ten post edytował MeGusta 25.10.2015, 15:29:12
Go to the top of the page
+Quote Post
Kshyhoo
post 25.10.2015, 15:25:39
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Zmień tytuł wątku na zgodny z zasadami. To dział dla początkujących i szukających pomocy, nie trzeba ujmować tego w tytule.


--------------------
Go to the top of the page
+Quote Post
MeGusta
post 25.10.2015, 15:29:46
Post #3





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 6.07.2015

Ostrzeżenie: (10%)
X----


Cytat(Kshyhoo @ 25.10.2015, 15:25:39 ) *
Zmień tytuł wątku na zgodny z zasadami. To dział dla początkujących i szukających pomocy, nie trzeba ujmować tego w tytule.


Przepraszam i dziękuję za zwrócenie uwagi, tytuł zmieniony.


Co do mojego problemu, mógłby ktoś pomóc/wyjaśnić?

Ten post edytował MeGusta 25.10.2015, 15:36:57
Go to the top of the page
+Quote Post
sher
post 25.10.2015, 17:53:58
Post #4





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 9.07.2014

Ostrzeżenie: (0%)
-----


Ja to widzę tak:
Masz tabelkę z użytkownikami, misjami (jakby wzorami misji), i jeszcze jedną, żeby zapisać status misji wykonywanej przez danego użytkownika.
W tabeli usera robisz coś w stylu "obecna misja" i jeśli te pole jest puste, to wyświetlasz dwie misje najbliższe jego poziomowi, a jeśli zajęte to pobierasz id wykonywanej misji i wyświetlasz o niej informacje. Jak ukończy misję, to w rekordzie w tabeli o statusie misji zaznaczasz, że została zakończona. Oczywiście przy wyświetlaniu dwóch następnych sprawdzasz czy dana misja została już robiona przez tego użytkownika, i jeśli była, to jej nie wyświetlasz.
Go to the top of the page
+Quote Post
MeGusta
post 25.10.2015, 19:57:08
Post #5





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 6.07.2015

Ostrzeżenie: (10%)
X----


Dziękuję bardzo, mam ostatni juz myśle problem. W jaki sposób pobierać najbardziej podobne do gracza misje?

  1. SELECT * FROM quests WHERE wym_lvl = $lvl_gracz questionmark.gif
Go to the top of the page
+Quote Post
olszam
post 25.10.2015, 23:53:58
Post #6





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

Ostrzeżenie: (0%)
-----


  1. SELECT * FROM quests WHERE wym_lvl >= $lvl_gracz-10 AND wym_lvl <= $lvl_gracz


wtedy jest lista questów które wymagają poziomu od max 10 lvli mniejszą od tego którego posiada gracz do poziomu jaką posiada gracz. Tego $lvl_gracz-10 dałbym w jakiejś zmiennej by później gdzieś kiedyś się nie sypało przy zapytaniach.
Go to the top of the page
+Quote Post
MeGusta
post 26.10.2015, 19:08:23
Post #7





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 6.07.2015

Ostrzeżenie: (10%)
X----


Dziękuję, jeszcze zapomniałem o jedno spytać, dokładniej chodzi o nagrodę, formami wynagrodzenia może być złoto przedmiot lub punkty. Jak zdefiniować to w bazie? ;/ aktualnie mam coś takiego. Problem mam taki ze nie chce robić 10 kolumn aby w każdej wpisywać ilości nagród i id danego przedmiotu. Chciałbym to jakoś w jednej kolumnie zmieścić tylko jak to zrobić? jesli zapisałbym coś takiego w bazie : array{0,100,21} polegało by to na tym że gracz dostanie 0 złota, 100 punktów i przedmiot o id 21, w jaki sposób w php mógłbym zrobić? zalezy mi tylko na tym odczytywaniu z tablicy zapisanej w bazie, jak to oddzielać aby sprawdzić co jest co?



Ten post edytował MeGusta 26.10.2015, 19:09:54
Go to the top of the page
+Quote Post
olszam
post 26.10.2015, 20:27:53
Post #8





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

Ostrzeżenie: (0%)
-----


użyj funkcji explode http://php.net/manual/en/function.explode.php
Go to the top of the page
+Quote Post
MeGusta
post 26.10.2015, 20:37:01
Post #9





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 6.07.2015

Ostrzeżenie: (10%)
X----


Ta funkcja usunie mi tylko przecinki, jak mogę zrobić że przypisze te 3 wartości do trzech róznych zmiennych? np. $zloto, $exp , $points questionmark.gif
Go to the top of the page
+Quote Post
olszam
post 26.10.2015, 21:00:05
Post #10





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

Ostrzeżenie: (0%)
-----


właśnie z explode zobacz przykład w dokumentacji

  1. $award = "0,100,21"; // tutaj zamiast tej wartości dajesz zwrócony wynik z zapytania.
  2. $award2 = explode(",", $award);
  3. $zloto = $award2[0]; // 0
  4. $exp = $award2[1]; // 100
  5. $point = $award2[2]; //21
  6.  
  7. echo $exp; // 0


Go to the top of the page
+Quote Post
viking
post 26.10.2015, 21:08:04
Post #11





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Zobacz też list()


--------------------
Go to the top of the page
+Quote Post
MeGusta
post 28.10.2015, 18:32:41
Post #12





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 6.07.2015

Ostrzeżenie: (10%)
X----


Co robię źle? Chcę aby po zwróceniu msg == 1 przeładował się plik karczma.php do diva game_box.
  1. function acceptMission(n) {
  2.  
  3. $.post('main_engine.php', {task: 10, quest_id: n})
  4.  
  5. .done(function(msg) {
  6.  
  7. if(msg == 1){
  8.  
  9. $('#game_box').load('page/karczma.php', function() {});
  10.  
  11. } else {
  12.  
  13. alert(msg);
  14.  
  15. }
  16.  
  17. });
  18.  
  19. }
Go to the top of the page
+Quote Post
viking
post 28.10.2015, 18:42:07
Post #13





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Na początek zobacz co zawiera msg: console.log(msg);


--------------------
Go to the top of the page
+Quote Post
MeGusta
post 28.10.2015, 18:43:50
Post #14





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 6.07.2015

Ostrzeżenie: (10%)
X----


Sam skrypt jest okej, msg zwraca 1 lub 0, lecz to jest w porządku, mam problem z samą funkcją load, problem w tym że /page/karczma.php jest obecnie wczytywany przez php do diva, chce za pomocą funkcji load tylko go odświeżyć aby dokonały się zmiany.

konsola zwraca prawidłowo 1.

Ten post edytował MeGusta 28.10.2015, 18:44:41
Go to the top of the page
+Quote Post
viking
post 28.10.2015, 19:07:19
Post #15





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Zgodnie z dokumentacją: Description: Load data from the server and place the returned HTML into the matched element.
Jeżeli nie chcesz zastępować diva musisz ręcznie obrobić dane.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 12:28