07.07.2009, 17:10
I have created my own Mysql based Register/Login system, and since 2 players connnect at the same moment to the server, my server just crushes without any of error (Don't Send). As far as i know, it's because of AutoLogin system, because when i take it off and 2 people connects everything is ok, but when i add it, this thing happens. My Code:
Thank you for your help.
Код:
public OnPlayerConnect(playerid) { logged[playerid] = 0; new nickname[MAX_PLAYER_NAME]; new ipaddress[16]; new query[256]; new query1[256]; new connect[128]; GetPlayerName(playerid, nickname, MAX_PLAYER_NAME); GetPlayerIp(playerid, ipaddress, sizeof(ipaddress)); format(query, sizeof(query), "SELECT * FROM `users` WHERE `nickname` = '%s' LIMIT 1", nickname); format(query1, sizeof(query1), "SELECT * FROM `users` WHERE `nickname` = '%s' AND `ipaddress` = '%s' LIMIT 1", nickname, ipaddress); format(connect, sizeof(connect), "%s prisijыngл prie serverio.", nickname); samp_mysql_query(query); samp_mysql_store_result(); if (samp_mysql_num_rows() == 0) { SendClientMessage(playerid, COLOR_USER, "|VARTOTOJAS|: Toks vartotojo vardas yra neregistruotas. Uюsiregistruoti galite serverio tinklalapyje."); SendClientMessage(playerid, COLOR_SERVER, "http://samp.ruined.lt"); Kick(playerid); } samp_mysql_free_result(); samp_mysql_query(query1); samp_mysql_store_result(); if (samp_mysql_num_rows() == 1) { SendClientMessageToAll(COLOR_HIDDEN, connect); SendClientMessage(playerid, COLOR_USER, "|VARTOTOJAS|: Sveika/s sugryюus/жs б serverб."); logged[playerid] = 1; } if (logged[playerid] == 0) { SendClientMessageToAll(COLOR_HIDDEN, connect); SendClientMessage(playerid, COLOR_USER, "|VARTOTOJAS|: Toks vartotojo vardas jau yra uюregistruotas. Naudokite komandа /prisijungti [slaptaюodis] norлdami prisijungti."); } return 1; }