SA-MP Forums Archive
Saving Players - 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: Saving Players (/showthread.php?tid=301621)



Saving Players - xMichaelx - 04.12.2011

Hey,

I was wondering if this stock function would save the player correctly or just ruin the file
pawn Код:
stock SavePlayer(playerid)
{
    new INI:File = INI_Open(UserPath(playerid));
    new name[MAX_PLAYER_NAME];
    INI_SetTag(File,"Account Info");
    INI_WriteInt(File,"Username",GetPlayerName(playerid,name,MAX_PLAYER_NAME));
    INI_WriteInt(File,"Password",udb_hash(inputtext));
    INI_WriteInt(File,"Administrator",0);
    INI_WriteInt(File,"Donator",0);
    INI_SetTag(File,"Banned Info");
    INI_WriteInt(File,"Cheater",0);
    INI_WriteInt(File,"Banned",0);
    INI_WriteInt(File,"Muted",0);
    INI_SetTag(File,"Other Info");
    INI_WriteInt(File,"Times Robbed",0);
    INI_WriteInt(File,"Robbed",0);
    INI_WriteInt(File,"Wanted Levels Gained",0);
    INI_WriteInt(File,"Kills",0);
    INI_WriteInt(File,"Deaths",0);
    INI_WriteInt(File,"Score",0);
    INI_WriteInt(File,"Cash",15000);
    INI_SetTag(File,"Float Info");
    INI_WriteFloat(File,"Armour",0);
    INI_WriteFloat(File,"Health",100);
    INI_Close(File);
}
Basically i need it to update the players file, this is so if the player crashes it will stop the loss of information so much.

Thanks


Re: Saving Players - English-Conceptz - 04.12.2011

this is what my save function look like using ini

PHP код:
public SavePlayerData(playerid, name[]) <players:on>
{
    new 
string[128];
    
format(string,256,"Players/%s.txt",name);
    new 
INI:acc = INI_Open(string);
    
INI_WriteString(acc, "PASSWORD", Passwords[playerid]);
    
INI_WriteFloat(acc, "PLAYER_HEALTH", gPlayerData[playerid][HEALTH]);
    
INI_WriteInt(acc, "PLAYER_MONEY", gPlayerData[playerid][PLAYER_MONEY]);
    
INI_WriteFloat(acc, "POSX", spawnx);
    
INI_WriteFloat(acc, "POSY", spawny);
    
INI_WriteFloat(acc, "POSZ", spawnz);
    
INI_WriteFloat(acc, "ROTZ", spawnzr);
    
INI_WriteInt(acc, "SKIN", gPlayerData[playerid][PLAYER_SKIN]);
    
INI_WriteInt(acc, "DEATHS", gPlayerData[playerid][DEATHS]);
    
INI_WriteInt(acc, "ADMINLEVEL", gPlayerData[playerid][ADMINLEVEL]);
    
INI_WriteInt(acc, "VIPLEVEL", gPlayerData[playerid][VIPLEVEL]);
    
INI_WriteInt(acc, "VIRTUAL-WORLD", gPlayerData[playerid][VIRTUALWORLD]);
    
INI_WriteInt(acc, "INTERIOR", gPlayerData[playerid][INTERIOR]);
    
INI_WriteInt(acc, "VIP", gPlayerData[playerid][VIP]);
    
INI_Close(acc); // Close the file
    
return 1;
} 



Re: Saving Players - WLSF - 04.12.2011

Just use the save function in 'OnPlayerDisconnect' to update the file...