03.11.2018, 21:36
Code:
#define PATH "/PlayerData/%s.ini"
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
INI_Float("Pos X", PlayerInfo[playerid][pPosX]);
INI_Float("Pos Y", PlayerInfo[playerid][pPosY]);
INI_Float("Pos Z", PlayerInfo[playerid][pPosZ]);
INI_Float("Angle", PlayerInfo[playerid][pRot]);
INI_Int("Admin Levels", PlayerInfo[playerid][pAdmin]);
return 1;
}
stock UserPath(playerid)
{
new string[128],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),PATH,playername);
return string;
}
public OnPlayerConnect(playerid)
{
if(fexist(UserPath(playerid)))
{
INI_ParseFile(UserPath(playerid), "/PlayerData/%s.ini", .bExtra = true, .extra = playerid);
}
}
hook OnPlayerDisconnect(playerid, reason)
{
new Float:X, Float:Y, Float:Z, Float:A;
GetPlayerPos(playerid, X, Y, Z, A);
PlayerInfo[playerid][pPosX] = X;
PlayerInfo[playerid][pPosY] = Y;
PlayerInfo[playerid][pPosZ] = Z;
PlayerInfo[playerid][pRot] = A;
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteFloat(File, "Position X", PlayerInfo[playerid][pPosX]);
INI_WriteFloat(File, "Position Y", PlayerInfo[playerid][pPosY]);
INI_WriteFloat(File, "Position Z", PlayerInfo[playerid][pPosZ]);
INI_WriteFloat(File, "Rotation", PlayerInfo[playerid][pRot]);
INI_WriteInt(File, "Admin Level", PlayerInfo[playerid][pAdmin]);
SetSpawnInfo(playerid, 0, 0, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ], PlayerInfo[playerid][pRot], 0, 0, 0, 0, 0, 0);
INI_Close(File);
return 1;
}
Position X = 2678.554931
Position Y = -2403.474853
Position Z = 13.979854
Admin Level = 0
Position X = 2678.554931
Position Y = -2403.474853
Position Z = 14.479854
Admin Level = 0
Position X = 2666.798828
Position Y = -2404.049804
Position Z = 13.471611
Admin Level = 0
spawnplayer doesnt work just freezes me out

