No result after player login/register
#1

Hello people,

I have the following problem: when I login or register a player, it doesn't spawn them. You just fill in the password and then it does nothing other than staying in the starting screen of SAMP. So that makes me things that something is wrong in my LoginPlayer function with the spawning of the player. However and I checked (and with my little knowledge I know of this programming/scripting) I couldn't find anything wrong with the code?

Код:
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);
	mysql_free_result();
}
Reply
#2

try adding : ForceClassSelection(playerid);
Reply
#3

That wont solve my problem. As I want the player to be spawned after registering/logging in and not to go to the class selection.
Reply
#4

Well, I don't think this will solve your problem but I think your parameters is wrong of 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);. According to https://sampwiki.blast.hk/wiki/SetSpawnInfo there's only 13 parameters.
Reply
#5

Thank you, I have editted it, however the player still doesn't spawn.

I placed prints throughout the script and it seems it passes all the print functions I placed. So I have no clue at all why it won't spawn the player.

Код:
stock LoginPlayer(playerid)
{
	new query[126];
	format(query, sizeof(query), "SELECT * FROM accounts WHERE Name = '%s'", GetName(playerid));
	mysql_query(query);
	mysql_store_result();
	print("\n arrived at LoginPlayer function\n");

    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);
	}
	
	print("\n mysql_fetches completed \n");
	GivePlayerMoney(playerid, Player[playerid][Money]);
	SetSpawnInfo(playerid, 0, 299, Player[playerid][Position][0], Player[playerid][Position][1], Player[playerid][Position][2], 1, 0, 0, 0, 0, 0, 0);
	SpawnPlayer(playerid);
	print("\n player has been spawned \n");
}
Reply
#6

Try puting "return 1;" after the last function like this:

Код:
stock LoginPlayer(playerid)
{
	new query[126];
	format(query, sizeof(query), "SELECT * FROM accounts WHERE Name = '%s'", GetName(playerid));
	mysql_query(query);
	mysql_store_result();
	print("\n arrived at LoginPlayer function\n");

    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);
	}
	
	print("\n mysql_fetches completed \n");
	GivePlayerMoney(playerid, Player[playerid][Money]);
	SetSpawnInfo(playerid, 0, 299, Player[playerid][Position][0], Player[playerid][Position][1], Player[playerid][Position][2], 1, 0, 0, 0, 0, 0, 0);
	SpawnPlayer(playerid);
	print("\n player has been spawned \n");
        return 1;
}
Reply
#7

Placed the return 1; there, still no change in result.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)