SA-MP Forums Archive
Name suddenly null? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Name suddenly null? (/showthread.php?tid=586630)



Name suddenly null? - MartinSwag - 23.08.2015



Код:
public OnAccountCheck(playerid)
{
	print("Reached onAccountCheck!");
	new rows, fields, string[128];
	cache_get_data(rows, fields, mysql);

	if (rows)
	{
	    format(string, sizeof(string), "Name before: %s", PlayerInfo[playerid][Name]);
	    print(string);
	    
	    cache_get_field_content(0, "Password", PlayerInfo[playerid][Password], mysql, 65);
	    cache_get_field_content(0, "Salt", PlayerInfo[playerid][Salt], mysql, 11);
	    cache_get_field_content(0, "ID", PlayerInfo[playerid][ID], mysql, 10);
	    
	    format(string, sizeof(string), "Name after: %s", PlayerInfo[playerid][Name]);
	    print(string);
	    
	    format(string, sizeof(string), "Welcome %s!\nThis username is registered, please fill in your password.", PlayerInfo[playerid][Name]);
	    ShowPlayerDialog(playerid, LoginDialog, DIALOG_STYLE_PASSWORD, "Login", string, "Login", "Quit");
	}
	else
	{
	    format(string, sizeof(string), "Welcome %s!\nThis username is NOT registered. Please fill in a password.", PlayerInfo[playerid][Name]);
	    ShowPlayerDialog(playerid, RegisterDialog, DIALOG_STYLE_PASSWORD, "Register", string, "Register", "Quit");
	}
	return 1;
}
Why is PlayerInfo[playerid][Name] suddenly empty after I retrieve 3 values from the cache? I save the name under OnPlayerConnect btw. It should have nothing to do with SQL, but I have no idea why it's suddenly empty.
It doesn't show the name either in the 'Welcome %s..' message.
Код:
public OnPlayerConnect(playerid)
{	
	.....
	GetPlayerName(playerid, PlayerInfo[playerid][Name], MAX_PLAYER_NAME);
        .....



Respuesta: Name suddenly null? - Zume - 23.08.2015

possible crash by size inexistent. (cache_get_field_content(0, "ID", PlayerInfo[playerid][ID], mysql, 10);) the argument it's optional and "ID" I think it would be an integer.

PHP код:
PlayerInfo[playerid][ID] = cache_get_field_int(0"ID"); 
PHP код:
cache_get_field_int(row, const field_name[])
{
    new
        
str[12]
        ;
      
cache_get_field_content(rowfield_namestrmysql);
       return 
strval(str);

If not, check if there is no crash in the other, at the point of having a size more large which the size of the cell.