Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-12-27, 13:40


Szimwu







Wiek: 33
Na forum: 4906 dni
Posty: 65

Piwa: 290

Respekt: 70

Witam mam logowanie mysql
?
Zrobi?em taki kod aczkolwiek mam nadal ten sam problem, pobiera informacje z nieba oto kod do funkcji Wczytaj Konto jak i do ca?ego panelu
Kod:

stock WczytajKonto(playerid)
{
new
s_buf[128];

//format(s_buf, 512, "SELECT uid, skin, cash, plec, wiek, posx, posy, posz, posa, HP, VW, Int, SpawnType, admin FROM gracze WHERE name='%s' LIMIT 1;", NickName(playerid) );
format(s_buf, sizeof(s_buf), "SELECT * FROM `gracze` WHERE `name` = '%s' LIMIT 1;", NickName(playerid));
mysql_query(s_buf);
mysql_store_result();
if(mysql_fetch_row(s_buf, "|"))
{
sscanf(s_buf, "p<|>ds[32]ddddfffffdddd",
PlayerInfo[playerid][uid],
PlayerInfo[playerid][name],
PlayerInfo[playerid][skin],
PlayerInfo[playerid][cash],
PlayerInfo[playerid][plec],
PlayerInfo[playerid][wiek],
PlayerInfo[playerid][posx],
PlayerInfo[playerid][posy],
PlayerInfo[playerid][posz],
PlayerInfo[playerid][posa],
PlayerInfo[playerid][HP],
PlayerInfo[playerid][VW],
PlayerInfo[playerid][Int],
PlayerInfo[playerid][SpawnType],
PlayerInfo[playerid][ADMIN]);
}
mysql_free_result();
}

A oto logowanie z dialogid
Kod:

if(dialogid == D_LOGIN)
{
new string[512];
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid, D_LOGIN, DIALOG_STYLE_INPUT, "["GAMEMODENAME"] Logowanie", "Witaj, aby zalogowa? si? na naszym serwerze\n\
nale?y wpisa? poni?ej has?o", "Zaloguj", "Anuluj");
return 1;
}
format(string, sizeof(string), "SELECT * FROM `gracze` WHERE `name` = '%s' AND `haslo` = '%s'", NickName(playerid), inputtext);
mysql_query(string);
mysql_store_result();
if(mysql_num_rows() == 0)
{
SendClientMessage(playerid, 0xFFFFFFFF, "Nie poprawne has?o spr?buj jeszcze raz.");
ShowPlayerDialog(playerid, D_LOGIN, DIALOG_STYLE_INPUT, "["GAMEMODENAME"] Logowanie", "Witaj, aby zalogowa? si? na naszym serwerze\n\
nale?y wpisa? poni?ej has?o", "Zaloguj", "Anuluj");
}
else
{
WczytajKonto(playerid);
TogglePlayerSpectating(playerid, 0);
SetPlayerHealth(playerid, 100);
GivePlayerMoney(playerid, PlayerInfo[playerid][cash]);
SendClientMessageFormat(playerid, 0xFFFFFFFF, "Witaj zalogowa?es si? na postaci "COL_DEF"%s{FFFFFF} (UID:%d | ID:%d). Milej gry!", NickName(playerid), PlayerInfo[playerid][uid], playerid);
if(PlayerInfo[playerid][ADMIN] != 0)
{
SendClientMessageFormat(playerid, 0xFFFFFFFF, "Posiadasz %d poziom administratora", PlayerInfo[playerid][ADMIN]);
}
SpawnPlayer(playerid);
}
}
}

Bardzo prosi? bym o szybk? pomoc, skrypt pisze od zera jest to skrypt pod DeathMatch RPG i mam problemy z logowaniem.
?
Log z MySQL wygl?da tak:
Kod:

[Sat Dec 27 02:45:58 2014] Function: mysql_query executed: "SELECT * FROM `gracze` WHERE `name` = 'Gadula' AND `haslo` = 'test'" with result: "0".
[Sat Dec 27 02:45:58 2014] Function: mysql_store_result executed with result: "1"
[Sat Dec 27 02:45:58 2014] Function: mysql_num_rows executed with result: "".
[Sat Dec 27 02:45:58 2014] Function: mysql_query executed: "SELECT * FROM `gracze` WHERE `name` = 'Gadula' LIMIT 1;" with result: "0".
[Sat Dec 27 02:45:58 2014] Function: mysql_store_result executed with result: "1"
[Sat Dec 27 02:45:58 2014] Function: mysql_fetch_row executed with result: "9|Gadula|test|0|200|0|0|0|0|0|0|100|0|0|1|0".
[Sat Dec 27 02:45:58 2014] Function: mysql_free_result executed.
[Sat Dec 27 02:46:07 2014] Function: mysql_query executed: "UPDATE `gracze` SET `skin`=97, `cash`=100, `plec`=117, `wiek`=108, `posx`=-1959.026245, `posy`=138.576049, `posz`=27.694049, `posa`=92.189697, `HP`=100.000000, `VW`=0, `Int`=0 WHERE `name`='Gadula'" with result: "0".


skin jest ustawiony na 0 a ustawia si? 97 pieni?dze z 200 na 100, i to jest randomowo :) bardzo prosz? o pomoc.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-12-27, 14:01


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Chwila, bo nie rozumiem. Skin powinien by? 97 czy 0? Zapytanie UPDATE aktualizuje skin na 97, kas? na 100 - jak jest na wej?ciu? Wejd? na serwer, nast?pnie wyjd? i wejd? jeszcze raz - z tego daj logi, musz? wiedzie? jakie warto?ci s? zapisywane w zapytaniu a jakie odczytywane. Jaki plugin u?ywasz? PMA pokazuje dobrze czy te? ?le?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-12-27, 14:17


Szimwu







Wiek: 33
Na forum: 4906 dni
Posty: 65

Piwa: 290

Respekt: 70

A wi?c tak, u?ywam pluginu MySQL Plugin 2.1.1 my?l? ?e najlepszy dla mnie.

Wpisa?em zapytania do bazy danych i tak wygl?da posta? w bazie danych.



Pierwsze Logowanie:

Kod:

[Sat Dec 27 14:16:33 2014] Function: mysql_query executed: "SELECT `name` FROM `gracze` WHERE `name` = 'Gadula'" with result: "0".
[Sat Dec 27 14:16:33 2014] Function: mysql_store_result executed with result: "1"
[Sat Dec 27 14:16:33 2014] Function: mysql_num_rows executed with result: "".
[Sat Dec 27 14:16:33 2014] Function: mysql_free_result executed.
[Sat Dec 27 14:16:35 2014] Function: mysql_query executed: "SELECT * FROM `gracze` WHERE `name` = 'Gadula' AND `haslo` = 'test'" with result: "0".
[Sat Dec 27 14:16:35 2014] Function: mysql_store_result executed with result: "1"
[Sat Dec 27 14:16:35 2014] Function: mysql_num_rows executed with result: "".
[Sat Dec 27 14:16:35 2014] Function: mysql_query executed: "SELECT * FROM `gracze` WHERE `name` = 'Gadula' LIMIT 1;" with result: "0".
[Sat Dec 27 14:16:35 2014] Function: mysql_store_result executed with result: "1"
[Sat Dec 27 14:16:35 2014] Function: mysql_fetch_row executed with result: "1|Gadula|test|123|1000|1|29|-1973.22|138.32|27.6875|270.502|100|0|0|1|0".
[Sat Dec 27 14:16:35 2014] Function: mysql_free_result executed.
[Sat Dec 27 14:16:51 2014] Function: mysql_query executed: "UPDATE `gracze` SET `skin`=97, `cash`=100, `plec`=117, `wiek`=108, `posx`=-1951.878906, `posy`=137.941711, `posz`=26.281250, `posa`=92.189697, `HP`=100.000000, `VW`=0, `Int`=0 WHERE `name`='Gadula'" with result: "0".


i Drugie jest takie samo tyle ?e pobiera te warto?ci co s? tutaj wpisane czyli to

Kod:

[Sat Dec 27 14:16:51 2014] Function: mysql_query executed: "UPDATE `gracze` SET `skin`=97, `cash`=100, `plec`=117, `wiek`=108, `posx`=-1951.878906, `posy`=137.941711, `posz`=26.281250, `posa`=92.189697, `HP`=100.000000, `VW`=0, `Int`=0 WHERE `name`='Gadula'" with result: "0".


Nie wiem czemu tak jest :|

Oto funkcja zapisu gracza kt?ra w kodzie jest u?ywana jedynie po wyj?ciu z serwera:

Kod:

Funkcja::ZapisGracza(playerid)
{
new query[512];

GetPlayerHealth(playerid, PlayerInfo[playerid][HP]);
GetPlayerPos(playerid, PlayerInfo[playerid][posx], PlayerInfo[playerid][posy], PlayerInfo[playerid][posz]);
GetPlayerFacingAngle(playerid, PlayerInfo[playerid][posa]);

format(query, sizeof(query),"UPDATE `gracze` SET `skin`=%d, `cash`=%d, `plec`=%d, `wiek`=%d, `posx`=%f, `posy`=%f, `posz`=%f, `posa`=%f, `HP`=%f, `VW`=%d, `Int`=%d WHERE `name`='%s'",
PlayerInfo[playerid][skin],
PlayerInfo[playerid][cash],
PlayerInfo[playerid][plec],
PlayerInfo[playerid][wiek],
PlayerInfo[playerid][posx],
PlayerInfo[playerid][posy],
PlayerInfo[playerid][posz],
PlayerInfo[playerid][posa],
PlayerInfo[playerid][HP],
PlayerInfo[playerid][VW],
PlayerInfo[playerid][Int],
NickName(playerid));
mysql_query(query);
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-12-27, 16:33


Combacior







Wiek: 29
Na forum: 5795 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Wygl?da na to, ?e SELECT zwraca takie warto?ci jakie s? w bazie, czyli dobrze. B??d tkwi w UPDATE, mo?e format co? psuje.

"Szimwu" napisał/a:

Oto funkcja zapisu gracza kt?ra w kodzie jest u?ywana jedynie po wyj?ciu z serwera:


Zapisujesz dane gracza po wyj?ciu z serwera? Raczej powinno si? przed wyj?ciem, ostatecznie w OnPlayerDisconnect.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-12-28, 04:01


Szimwu







Wiek: 33
Na forum: 4906 dni
Posty: 65

Piwa: 290

Respekt: 70

Cytat:

Zapisujesz dane gracza po wyj?ciu z serwera? Raczej powinno si? przed wyj?ciem, ostatecznie w OnPlayerDisconnect.


S?uchaj nie rozumiem troch? jak przed wyj?ciem, baza danych co ile? czasu b?dzie si? obci??a?a jak tak zrobi?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-12-29, 02:18


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

"Szimwu" napisał/a:

Cytat:

Zapisujesz dane gracza po wyj?ciu z serwera? Raczej powinno si? przed wyj?ciem, ostatecznie w OnPlayerDisconnect.


S?uchaj nie rozumiem troch? jak przed wyj?ciem, baza danych co ile? czasu b?dzie si? obci??a?a jak tak zrobi?.


lol . parsk?em ?miechem. idz se poczytaj na google ile znosi baza danych, potem wr??

Postaw piwo autorowi tego posta
 

 
Tagi: logowanie :: mysql
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku