Problem(error/warning): Update sam mysql verziju sa r39-5 na r41-4, i imam problem sa ucitavanjem korisnickog racuna, i ako postoji racun u bazi ono ucitava stalno registraciju i opet se moze registrovati pod istim imenom bezbroj puta, na staroj verziji mysqla je sve radilo kako treba, nema nikakvih warninga/errora prilikom compilea.
Dio skripte: [pawn]https://pastebin.com/4snZJhqz[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //
Da li upisuje u bazu normalno.
Daj mi threaded-query koji triggeruje CheckPlayerAccount.
Takodje provjeri logs/error.log
Citat: .кÑундер poslato April 14, 2018, 00:12:21 PRE PODNE
Da li upisuje u bazu normalno.
Daj mi threaded-query koji triggeruje CheckPlayerAccount.
Takodje provjeri logs/error.log
@.кÑундер new query[128];
format( query, sizeof(query), "SELECT `user_id`, `password`, `registered` FROM `users` WHERE `p_name` = '%e' LIMIT 1", ImeIgraca( playerid ) );
mysql_tquery( _dbConnector, query, "CheckPlayerAccount", "i", playerid );
Baza radi normalno, bar je radila na 39-5 verziji ne vjerujem da je do baze, error.log prazan.
#edit: ima warning
[plugins/mysql] mysql_connect: no password specified
mada za localhost ne koristim sifru, tkd. sumjam da je do toga.
Imam neku ludu teoriju pokusaj ovako
forward CheckPlayerAccount( playerid );
public CheckPlayerAccount( playerid ) {
new rows, fields;
cache_get_row_count(rows);
cache_get_field_count(fields);
if( !rows ) {
if( !IsValidRoleplayName( ImeIgraca( playerid ) ) ) {
SendClientMessage( playerid, CRVENA, "Dobili ste kick zbog krivo formatiranog imena!" );
SendClientMessage( playerid, CRVENA, "Vase ime mora biti u formatu Ime_Prezime!" );
SetTimerEx( "KickIgraca", 150, false, "d", playerid );
return 1;
}
if( ServerInfo[ Registracija ] == false ) {
SendClientMessage( playerid, CRVENA, "REGISTRACIJA JE TRENUTNO ONEMOGUCENA." );
SendClientMessage( playerid, CRVENA, "LRP - Staff Team." );
SetTimerEx( "KickIgraca", 150, false, "d", playerid );
return 1;
}
SetTimerEx( "Register", 100, false, "d", playerid );
}
else {
cache_get_value_name_int( 0, "user_id", PlayerInfo[ playerid ][ xID ] );
cache_get_value_name( 0, "password", PlayerInfo[ playerid ][ xLozinka ], 150 );// _dbConnector
cache_get_value_name_int( 0, "registered", PlayerInfo[ playerid ][ xRegistrovan ] );
SetTimerEx("sql_OnPlayerHaveAnAcc", 2000, false, "d", playerid);
}
return (true);
}
forward sql_OnPlayerHaveAnAcc(playerid);
public sql_OnPlayerHaveAnAcc(playerid) {
if( PlayerInfo[ playerid ][ xRegistrovan ] == 1 ) {
new query[128];
format( query, sizeof(query), "SELECT * FROM `banned` WHERE `user_id` = '%d' LIMIT 1", PlayerInfo[ playerid ][ xID ] );
mysql_tquery( _dbConnector, query, "CheckPlayerBan", "i", playerid );
}
else {
if( ServerInfo[ Registracija ] == false ) {
SendClientMessage( playerid, CRVENA, "REGISTRACIJA JE TRENUTNO ONEMOGUCENA." );
SendClientMessage( playerid, CRVENA, "LRP - Staff Team." );
SetTimerEx( "KickIgraca", 150, false, "d", playerid );
return 1;
}
SetTimerEx( "Register", 100, false, "d", playerid );
}
return 1;
}
Ako bude radilo javi reci cu ti zasto :D
Ne radi, opet isto izbaci ::)
https://pastebin.com/xL2ePWjt
Napravio sam ti debug, konektuj se i daj mi sta ti izbaci u server_log
Citat: .кÑундер poslato April 14, 2018, 00:50:06 PRE PODNE
https://pastebin.com/xL2ePWjt
Napravio sam ti debug, konektuj se i daj mi sta ti izbaci u server_log
[00:49:07] Player: 0 Rows: 0
[00:49:07] Register
Imao sam 3 warninga prilikom comile-a ovog koda:
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
warning 202: number of arguments does not match definition
Slikaj bazu phpmyadmin (Browse, Structure)