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:
Код:
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;
}