Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie użytkowników z bazy i wyświetlanie na mapie...
Forum PHP.pl > Forum > PHP
Artheso
Witam... Mam nie lada problem... Otóż posiadam taki kod, który jest odpowiedzialny za wyświetlanie naszej postaci, i generowanie mapy z pliku z tablicą. Oto kod tego pliku:

  1. <?php
  2.  
  3.  
  4. if (isset($_SESSION['user_id']) and isset($_SESSION['login']))
  5.  
  6. {
  7.  
  8. $login = $_SESSION['login'];
  9.  
  10. /**
  11.  * Plik generujacy mape na podstawie wczesniej przygotowanej tablicy.
  12.  */
  13.  
  14. // Zalaczanie pliku z polaczeniam do bazy
  15. include('conn.php');
  16.  
  17. // Zalaczane tablicy
  18. include('genmapfile.php');
  19.  
  20. /**
  21.  * Pobiera wspolrzedne gracza o ID podanym jako parametr
  22.  *
  23.  * @author: Meares (http://mearesligitharr.blogspot.com/)
  24.  * @name: GetYXForPlayer
  25.  * @param: integer $ID
  26.  * @return: array
  27.  */
  28. function GetYXForPlayer($login) {
  29. $Query = mysql_query("SELECT y, x FROM user WHERE login='$login'") or die(mysql_error());
  30. $Fetched = mysql_fetch_assoc($Query);
  31. return $Fetched;
  32. }
  33.  
  34. // Zdobycie wspolrzednych gracza
  35. $YX = GetYXForPlayer($login);
  36.  
  37. if(isset($_GET['y']) || isset($_GET['x'])) {
  38. // Zmiana miejsca gracza
  39. if(($YX['y'] + 1 == $_GET['y'] || $YX['y'] - 1 == $_GET['y'] || $YX['y'] == $_GET['y']) && ($YX['x'] + 1 == $_GET['x'] || $YX['x'] - 1 == $_GET['x'] || $YX['x'] == $_GET['x']) && $Map[$_GET['y']][$_GET['x']]['CanBeOn'] === true) {
  40. mysql_query("UPDATE `user` SET `y`=".$_GET['y'].", `x`=".$_GET['x']." WHERE `login`='$login'");
  41. } else {
  42. echo 'Cheater!';
  43. }
  44. }
  45.  
  46. // Zdobycie aktualnych wspolrzednych gracza
  47. $YX = GetYXForPlayer($login);
  48.  
  49. // Generowanie
  50. // $Key zawiera wspolrzedna Y
  51. foreach($Map as $Key => $Value) {
  52. // $Key2 zawiera wspolrzedna X, a $Value2 to tablica zawierajaca informacje o podlozu oraz o tym czy na dane pole mozna wejsc
  53. foreach($Value as $Key2 => $Value2) {
  54. $EchoString[0] = '<span style="position: relative; left: 1px; z-index: 1;"><img src="images/'.$Value2['Image'].'" alt="MapElement" style="width: 32px; height: 32px;" /></span>';
  55. // Jesli mozna wejsc na pole
  56. if($Value2['CanBeOn'] === true) {
  57. // Generowanie "strzaleczek"
  58. if($Key - 1 == $YX['y'] && $Key2 == $YX['x']) {
  59. $EchoString[1] = '<span style="position: relative; left: 0px; z-index: 2;"><a href="index.php?y='.$Key.'&x='.$Key2.'"><img src="images/arrow_down.png" alt="Go!" style="position: absolute; right: 0px; width: 32px; height: 32px;border: 0; " /></a></span>';
  60. } else if($Key + 1 == $YX['y'] && $Key2 == $YX['x']) {
  61. $EchoString[1] = '<span style="position: relative; left: 0px; z-index: 2;"><a href="index.php?y='.$Key.'&x='.$Key2.'"><img src="images/arrow_up.png" alt="Go!" style="position: absolute; right: 0px; width: 32px; height: 32px; border: 0; " /></a></span>';
  62. } else if($Key2 - 1 == $YX['x'] && $Key == $YX['y']) {
  63. $EchoString[1] = '<span style="position: relative; left: 0px; z-index: 2;"><a href="index.php?y='.$Key.'&x='.$Key2.'"><img src="images/arrow_right.png" alt="Go!" style="position: absolute; right: 0px; width: 32px; height: 32px; border: 0; " /></a></span>';
  64. } else if($Key2 + 1 == $YX['x'] && $Key == $YX['y']) {
  65. $EchoString[1] = '<span style="position: relative; left: 0px; z-index: 2;"><a href="index.php?y='.$Key.'&x='.$Key2.'"><img src="images/arrow_left.png" alt="Go!" style="position: absolute; right: 0px; width: 32px; height: 32px; border: 0; " /></a></span>';
  66. } else if($Key == $YX['y'] && $Key2 == $YX['x']) {
  67. $EchoString[1] = '<span style="position: relative; left: 0px; z-index: 2;"><img src="images/character.png" alt="Character" style="position: absolute; right: 0px; width: 32px; height: 32px;" /></span>';
  68. } else {
  69. $EchoString[1] = '';
  70. }
  71. } else {
  72. $EchoString[1] = '';
  73. }
  74. echo implode('', $EchoString);
  75. }
  76. echo '<br />';
  77. }
  78.  
  79. }
  80.  
  81. else
  82.  
  83. {
  84.  
  85. echo "Nie jestes zalogowany";
  86.  
  87.  
  88.  
  89. }


Dodam, że zrobiłem do tego skryptu logowanie, rejestrację, itd... Normalnie działa rejestracja, robi konta, zalogować też się da... Po wykonanym kroku zmienia pole w bazie danych. A co do bazy danych, to mam w niej tabelę "user" a w niej pola "id", "login", "password", "x", y". Id to po prostu id użytkownika, login to nazwa konta, password to hasło do konta, x i y to współrzędne, które określają pozycję na mapie. I tutaj mam problem, ponieważ w tym skrypcie wyświetla tylko moją postać. A jak mam zrobić, żeby wyświetlało wszystkie postacie z bazy? Chodzi mi o to, żebym widział swoją postać, oraz innych graczy na mapie. Jeśli by ktoś mi mógł podsunąć chociaż pomysł, jak to zrobić, albo jakieś linki do tutoriali, czy tam kody źródłowe... Byłbym wdzięczny. I ta osoba byłaby w creditsach gry ;D

Aha, i bym zapomniał. Oto demo do tej gry, tak to wygląda:
http://endoria.za.pl/test/login.php

Pozdrawiam winksmiley.jpg
blooregard
Crossposting.
Zamykam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.