swiatcienia Opublikowano 6 Sierpnia 2009 Opublikowano 6 Sierpnia 2009 Wie może ktoś jak się połączyć z bazą mysql z poziomu GMa. Jakiś dll? Może jakieś skrypty do 39dll? Chodzi mi tu o komunikacje serwera z bazą danych. Nie chce xml, bo chodzi mi o stronę internetową która będzie używać tej samej bazy danych.
Nobody Opublikowano 6 Sierpnia 2009 Opublikowano 6 Sierpnia 2009 Mi się tam GMSQL nie podoba. Np. w GMLu nie da się zrobić pętli jak w PHP while( $row = mysql_fetch_array( $result ) ) { } Dlatego używałem 39dll do pobierania wartości, które zwracał mi skrypt PHP umieszczony na stronie ( a on zawierał wszystkie zapytania do bazy ) i sprawdzając wartość np. http://adres/plik.php?id=1&login=Lolek&pass=lol zwracało mi, czy login i hasło zgadzało się ze sobą i w ten sposób odbywało się logowanie do gry :P
swiatcienia Opublikowano 6 Sierpnia 2009 Autor Opublikowano 6 Sierpnia 2009 Jedyny problem to że przez php dane będą się wysyłać wolno i może to powodować lagi w grze. A zato GmSql jest przestarzały. Zna ktoś jeszcze jakieś inne rozwiązanie?
Nobody Opublikowano 6 Sierpnia 2009 Opublikowano 6 Sierpnia 2009 Eee... Ile danych na sekundę chcesz pobierać z bazy danych?! :o
swiatcienia Opublikowano 6 Sierpnia 2009 Autor Opublikowano 6 Sierpnia 2009 Przy każdym graczu który się loguje po około 10 zapytań i z 10 przy wylogowywaniu. Zapisie serwera 10*liczba graczy + niektóre obiekty na mapie Przy logowaniu: Pobiera konto gracza + postacie na koncie Bany Przedmioty Umiejętności Zmienne z questami itd... Przy wylogowywaniu i zapisie serwera zapisuje te dane w bazie +przedmioty na mapie oraz zmienne serwerowe
Nobody Opublikowano 6 Sierpnia 2009 Opublikowano 6 Sierpnia 2009 Wszystko to można zrobić za pomocą 1-2 zapytań na logowanie i wylogowywanie. Nie będziesz chyba wysyłał graczom wszystkich banów ? Wystarczyłoby wysłać login w postaci GET plik.php?ban=LOGIN i od pliku oczekiwać jedynki, jeżeli postać jest zbanowana i zera w przeciwnym wypadku.
swiatcienia Opublikowano 6 Sierpnia 2009 Autor Opublikowano 6 Sierpnia 2009 ale przy zapisie serwera było by tych zapytań z 30 przy 15 graczach A później jak będzie 100 graczy to 200 zapytań to by zajęło zbyt długo. Ale jak nie znajdę jakiegoś innego wyjścia to będę zmuszony napisać to w ten sposób. Chociaż na localhost zapytania wykonują sie szybko ale to nie ma porównania z połączeniem bezpośrednim z bazą danych
Nobody Opublikowano 6 Sierpnia 2009 Opublikowano 6 Sierpnia 2009 Tak czy inaczej zajmie to długo nawet z aplikacji. Zresztą przecież serwer gry i PHP może stać na jednej maszynie.
Kofel Opublikowano 7 Sierpnia 2009 Opublikowano 7 Sierpnia 2009 Nobody, tyle, że treba być mądry aby na to wpaść ;d llololol. Powoedzenia przez robienia zapytania do bazy pośrednicząc przez HTTP
Nobody Opublikowano 7 Sierpnia 2009 Opublikowano 7 Sierpnia 2009 Serwer PHP szybciej wykona kod niż przeciążona graczami aplikacja serwera i zwróci od razu cały wynik. Umiejętne zastosowanie takiej komunikacji to według mnie dobre rozwiązanie.
swiatcienia Opublikowano 7 Sierpnia 2009 Autor Opublikowano 7 Sierpnia 2009 Tak do odczytu dobre ale do zapisu już nie aż tak a szczególnie przy mmorpg ale jak jest zapis co 30 min i restart serwera co 3 godziny to nie będzie lagów ani strat bo w 3 godziny nie wywali błędu
Nobody Opublikowano 7 Sierpnia 2009 Opublikowano 7 Sierpnia 2009 Zapis wydaje mi się jeszcze łatwiejszy, wystarczy chociażby GETem wysłać odpowiednie dane np. save.php?playerid=1&pos=123,420&eq=1,20,0,0,2,5,4&lol=1 A skrypt tylko to zapisuje.
swiatcienia Opublikowano 8 Sierpnia 2009 Autor Opublikowano 8 Sierpnia 2009 Wiem że zapis jest prosty na upartego idzie użyć takiego skryptu $inputx = str_replace($_SERVER['SCRIPT_NAME'], "", $_SERVER['REQUEST_URI']); $input = explode('/*',$inputx); print_r($input); który zwróci tablice script.php/*a/*b/*cd=wqe/*afsd?asfa=fasd&sfagga/*sdgdsdfg Array ( [0] => [1] => a [2] => b [3] => cd=wqe [4] => afsd?asfa=fasd&sfagga [5] => sdgdsdfg ) i w pętli wykonać zapytania czyli tylko 1 połączenie z php
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się