SA-MP Forums Archive
String is not saving. - 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: String is not saving. (/showthread.php?tid=619685)



String is not saving. - faff - 20.10.2016

Good evening, I followed a tutorial to create register/login system.

But now I want to store 3 names into the .ini file. But it doesn't save the names.

This is what happens when people register:
Код:
            if(response)
            {
                if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""COL_WHITE"Registering...",""COL_RED"You have entered an invalid password.\n"COL_WHITE"Type your password below to register a new account.","Register","Quit");
                new INI:File = INI_Open(UserPath(playerid));
                INI_SetTag(File,"data");
                INI_WriteInt(File,"Password",udb_hash(inputtext));
               	INI_WriteString(File, "Name", "Empty");
                INI_WriteString(File, "Name2", "Empty");
                INI_WriteString(File, "Name3", "Empty");
                INI_Close(File);
				SaveAccount(playerid);
                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
                SpawnPlayer(playerid);
                ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Success!",""COL_GREEN"Great! Your Y_INI system works perfectly. Relog to save your stats!","Ok","");
			}
It saves the password perfectly, but the names do not get saved.

Код:
enum mInfo
{
    mPass,
    mName[32],
    mName2[32],
    mName3[32]
}
new MasterInfo[MAX_PLAYERS][mInfo];

forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
	INI_Int("Password",MasterInfo[playerid][mPass]);
	INI_String("Name",MasterInfo[playerid][mName], 32);
	INI_String("Name2",MasterInfo[playerid][mName2], 32);
	INI_String("Name3",MasterInfo[playerid][mName3], 32);
 	return 1;
}

stock SaveAccount(playerid)
{
	new INI:File = INI_Open(UserPath(playerid));
	INI_SetTag(File,"data");
 	INI_WriteString(File, "Name", MasterInfo[playerid][mName]);
 	INI_WriteString(File, "Name2", MasterInfo[playerid][mName2]);
 	INI_WriteString(File, "Name3", MasterInfo[playerid][mName3]);
	INI_Close(File);
}



Re: String is not saving. - DTV - 21.10.2016

EDIT: Nevermind, turns out I was wrong.


Re: String is not saving. - faff - 21.10.2016

Quote:
Originally Posted by DTV
Посмотреть сообщение
EDIT: Nevermind, turns out I was wrong.
I can't find any solution.


Re: String is not saving. - DTV - 21.10.2016

Maybe you have to assign the "Empty" string to a variable and use that in place of "Empty"

pawn Код:
new name[MAX_PLAYER_NAME] = "Empty";
INI_WriteString(File, "Name", name);
INI_WriteString(File, "Name2", name);
INI_WriteString(File, "Name3", name);



Re: String is not saving. - faff - 21.10.2016

If I create a file like this it does work.
Код:
CMD:test(playerid, params[])
{
	new INI:File = INI_Open("Fabio.ini");
	INI_SetTag(File,"data");
 	INI_WriteString(File, "Name", "Empty");
 	INI_WriteString(File, "Name2", "Empty");
 	INI_WriteString(File, "Name3", "Empty");
	INI_Close(File);
	SendClientMessage(playerid, COLOR_LIGHTGREEN, "BETA: File created.");
	return 1;
}



Re: String is not saving. - faff - 21.10.2016

Now, if I register and I check player files, it's correct.
But once the callback 'SaveAccount' gets called it's gone.


Re: String is not saving. - Threshold - 21.10.2016

And what exactly are 'MasterInfo[playerid][mName]', 'MasterInfo[playerid][mName2]' and 'MasterInfo[playerid][mName3]'?

Have you even checked the value of those?

And when you say they aren't saved, are you looking in the database or are you checking in-game after you've loaded them?