23.11.2013, 08:01
(
Последний раз редактировалось dragonslife; 23.11.2013 в 15:22.
)
Hello people,
I've editted my login system and now the server just shuts down without any error messages whenever a player registers or logs in to the server?
Here's my code:
And this is the server log:
I've editted my login system and now the server just shuts down without any error messages whenever a player registers or logs in to the server?
Here's my code:
Код:
public OnPlayerConnect(playerid)
{
new query[126], pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
format(query, sizeof(query), "SELECT * FROM accounts WHERE Name = '%s'", pName);
mysql_query(query);
mysql_store_result();
new rows = mysql_num_rows();
printf("There are %s rows in table1", rows);
if(mysql_num_rows() ==1)
{
SendClientMessage(playerid, -1, "That username is registered!");
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, "Login", "Please login with the password you made", "Login", "Cancel");
}
else
{
SendClientMessage(playerid, -1, "That username is not registered. You may register it");
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Register", "Please enter a password for your account", "Register", "Cancel");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SavePlayer(playerid);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 0:
{
if(response)
{
new query[256], EncryptedPass[130];
WP_Hash(EncryptedPass, sizeof(EncryptedPass), inputtext);
format(query, sizeof(query), "SELECT * FROM accounts WHERE Name = '%s' AND Password = '%s'", GetName(playerid), EncryptedPass);
mysql_query(query);
mysql_store_result();
//printf(query);
//printf(inputtext);
if(mysql_num_rows() == 1)
{
LoginPlayer(playerid);
}
else
{
SendClientMessage(playerid, -1, "Incorrect password!");
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, "Login", "Please login with the password you made", "Login", "Cancel");
}
}
}
case 1:
{
if(response)
{
RegisterPlayer(playerid, inputtext);
}
}
}
return 1;
}
stock RegisterPlayer(playerid, regpass[])
{
new query[256], EncryptedPass[130];
WP_Hash(EncryptedPass, sizeof(EncryptedPass), regpass);
format(query, sizeof(query), "INSERT INTO accounts(Name, Password, PlayerPos) VALUES ('%s', '%s', '1.0 2.0 3.0')", GetName(playerid), EncryptedPass);
mysql_query(query);
LoginPlayer(playerid);
return 1;
}
stock LoginPlayer(playerid)
{
new query[126];
format(query, sizeof(query), "SELECT * FROM accounts WHERE Name = '%s'", GetName(playerid));
mysql_query(query);
mysql_store_result();
while(mysql_fetch_row_format(query,"|"))
{
mysql_fetch_field_row(query, "id"); Player[playerid][ID] = strval(query);
mysql_fetch_field_row(Player[playerid][Name], "Name");
mysql_fetch_field_row(Player[playerid][Password], "Password");
mysql_fetch_field_row(query, "AdminLevel"); Player[playerid][AdminLevel] = strval(query);
mysql_fetch_field_row(query, "PlayerPos");
sscanf(query, "fff", Player[playerid][Position][0], Player[playerid][Position][1], Player[playerid][Position][2]);
mysql_fetch_field_row(query, "Money"); Player[playerid][Money] = strval(query);
}
GivePlayerMoney(playerid, Player[playerid][Money]);
SetSpawnInfo(playerid, 0, 299, Player[playerid][Position][0], Player[playerid][Position][1], Player[playerid][Position][2], 1, 2, 3, 0, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
}
stock SavePlayer(playerid)
{
new query[356], EncryptedPass[130];
WP_Hash(EncryptedPass, sizeof(EncryptedPass), Player[playerid][Password]);
GetPlayerPos(playerid, Player[playerid][Position][0], Player[playerid][Position][1], Player[playerid][Position][2]);
format(query, sizeof(query), "UPDATE accounts SET Name = '%s', Password = '%s', AdminLevel = %d, PlayerPos = '%f %f %f', Money = %d WHERE id = %d", GetName(playerid), Player[playerid][Password], Player[playerid][AdminLevel], Player[playerid][Position][0], Player[playerid][Position][1], Player[playerid][Position][2], Player[playerid][Money], Player[playerid][ID]);
mysql_query(query);
printf("Player ID %d (%s) has been saved", playerid, GetName(playerid));
}
stock GetName(playerid)
{
new playerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, playerName, sizeof(playerName));
return playerName;
}
Код:
---------- Loaded log file: "server_log.txt". ---------- SA-MP Dedicated Server ---------------------- v0.3x-R2, ©2005-2013 SA-MP Team [09:59:03] filterscripts = "" (string) [09:59:03] [09:59:03] Server Plugins [09:59:03] -------------- [09:59:03] Loading plugin: mysql [09:59:03] > MySQL plugin R5 successfully loaded. [09:59:03] Loaded. [09:59:03] Loading plugin: sscanf [09:59:03] [09:59:03] =============================== [09:59:03] sscanf plugin loaded. [09:59:03] Version: 2.8.1 [09:59:03] © 2012 Alex "******" Cole [09:59:03] =============================== [09:59:03] Loaded. [09:59:03] Loading plugin: Whirlpool [09:59:03] [09:59:03] ================== [09:59:03] [09:59:03] Whirlpool loaded [09:59:03] [09:59:03] ================== [09:59:03] [09:59:03] Loaded. [09:59:03] Loaded 3 plugins. [09:59:03] [09:59:03] Filterscripts [09:59:03] --------------- [09:59:03] Loaded 0 filterscripts. [09:59:03] n---Connectie met de database is gelukt! --- [09:59:03] ------------------------------- [09:59:03] Blank Gamemode by dragonslife [09:59:03] ------------------------------- [09:59:03] Number of vehicle models: 0 [09:59:24] Incoming connection: 127.0.0.1:52233 [09:59:24] [join] Asmenia_Barrow has joined the server (0:127.0.0.1) [09:59:24] There are Asmenia_Barrow rows in table1

