Skocz do zawartości

Baza Danych


Jonek

Rekomendowane odpowiedzi

Prosze o takową pomoc.. chce zrobić gierke... z opcją logowania się.. i to pierwszy problem.. gdzie moge znaleść jakeis łatwe w zastosowaniu skrypty MSQL aby podczas logowania konta były pobierane z takowej bazy danych.

Bo to też przydało by sie do zapisywania posiadanych itemów itp. przez bochatera... bo to ma być taka mała netowa gierka RPG

Szukałem o tym na Forum Gamemakera ale takei tematy są już nieaktualne.

Odnośnik do komentarza
Udostępnij na innych stronach

mam napisane pare skryptow do Mysql, wgraj tylko mysql do swojej gry i wrzuć dlla, a potem uzyj tego:

Podłączanie

if !gmsql_init()
{
operator_obj.error_message=jezyk_obj.bladgmsqlinit;
operator_obj.draw_window=1;
instance_create(320,330,button_ok_obj);
exit;
}
else
{
if !gmsql_connect('adres_bazy','login_do_bazy','hasło_do_bazy','nazwa_bazy')
{
operator_obj.error_message=jezyk_obj.bladgmsqlconnect;
operator_obj.draw_window=1;
instance_create(320,330,button_ok_obj);
exit;
}
return 1;
}

 

Sprawdzanie wersji gry

if !gmsql_query('select version from version where version="'+string(global.version)+'"')
{
operator_obj.error_message=jezyk_obj.bladgmsqlquerry;
operator_obj.draw_window=1;
instance_create(320,330,button_ok_obj);
   exit;
}

if !gmsql_storeresult()
{
operator_obj.error_message=jezyk_obj.bladgmsqlstore;
operator_obj.draw_window=1;
instance_create(320,330,button_ok_obj);
   exit;
}

if gmsql_numrows()=0
{
operator_obj.error_message=jezyk_obj.zlawersja;
operator_obj.draw_window=1;
instance_create(320,330,button_ok_obj);
   exit;
}

return 1;

 

Rejestracja

if !gmsql_query('select login from players where login="'+inputbox_reglog_obj.reglog+'"')
  {
   operator_obj.error_message=jezyk_obj.bladgmsqlquerry;
operator_obj.draw_window=1;
instance_create(320,330,button_ok_obj);
   exit;
  }
  
if !gmsql_storeresult()
{ 
operator_obj.error_message=jezyk_obj.bladgmsqlstore;
operator_obj.draw_window=1;
instance_create(320,330,button_ok_obj);
exit;
}

if gmsql_numrows()>0
{
operator_obj.error_message=jezyk_obj.loginjuzistnieje;
operator_obj.draw_window=1;
instance_create(320,330,button_ok_obj);
exit;
}

if !gmsql_query('insert into players(login,pass,room) values ("'+inputbox_reglog_obj.reglog+'","'+inputbox_regpass2_obj.regpass2+'","'+string(1)+'")')
{
operator_obj.error_message=jezyk_obj.bladgmsqlquerry;
operator_obj.draw_window=1;
instance_create(320,330,button_ok_obj);
exit;
}


global.mplayname=inputbox_reglog_obj.reglog;
return 1;

Logowanie

if !gmsql_query('select password from players where login="'+inputbox_login_obj.login+'"')
{
   operator_obj.error_message=jezyk_obj.bladgmsqlquerry;
operator_obj.draw_window=1;
instance_create(320,330,button_ok_obj);
   exit;
}

if !gmsql_storeresult()
{
   operator_obj.error_message=jezyk_obj.bladgmsqlstore;
operator_obj.draw_window=1;
instance_create(320,330,button_ok_obj);
   exit;
}

if gmsql_numrows=0
{
   operator_obj.error_message=jezyk_obj.loginnieistnieje;
operator_obj.draw_window=1;
instance_create(320,330,button_ok_obj);
   exit;
}

if gmsql_getvaluexy(0,0)!=inputbox_pass_obj.password
{
operator_obj.error_message=jezyk_obj.nieprawidlowehaslo;
operator_obj.draw_window=1;
instance_create(320,330,button_ok_obj);
   exit;
}

global.mplayname=inputbox_login_obj.login;
return 1;

 

ja tu mam od razu zaimplementowany własny system wywalania błędów ale po prostu olej kod który jest wykonywany w razie niespełnionego warunku (chyba wiesz o co chodzi).

Wszystkie skrypty u mnie działają, takze jesli Tobie cos nie bedzie dzialac to masz cos zle z baza (np zly adres/login/hasło/nazwe lub nieutworzone tabele w bazie).

Odnośnik do komentarza
Udostępnij na innych stronach

Co do MySQLa w GM to dam ci rade, ktora kiedys tez dostalem od Goomana - nie wszystkie serwery baz danych (w szczegolnosci te darmowe) obsluguja polaczenia z zewnatrz, wiec najpierw sprawdz czy takie polaczenie jest mozliwe, inaczej czeka cie zmiana serwa ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Wszystkie skrypty dodaje i ustawiam aby zainicjowało gmsql_init... chodzi po prostu ze po dodaniu skryptu do połączenia i sprawdzanai wersji nei może skąplikować skryptu.. a potem jakoścośzrobiłem i ładnie poszło ale okazało sie zaś że gra po prostu mi się wyłancza od razu O_o

Odnośnik do komentarza
Udostępnij na innych stronach

Odznaczone... Skrypt gmsql_init uruchamia sie po kliknieciu loguj sie... no i daje tego exeka .. sami zobaczcie.. a błędu nie moze byc bo nic nie ką binowałem w nim więc raczej nie napsociłem :P

 

 

www.jankes.boo.pl/test.exe

 

"Wyłancza", "kąbinowałem"... Sprawdź czasem Wordem co napisałeś, zanim wyślesz posta.

Patrysław

 

I Sory zza błędy ale jedną ręką siętrudno pisze :/

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...