stock SaveData(playerid)//adatok mentése.
{
new string[200];
format(string,sizeof(string),\"Users/%s.ini\",pName(playerid));
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
    dfile_Open(string);
    dfile_MultiSet(\"fff\",
      \"PosX\",X,
      \"PosY\",Y,
      \"PosZ\",Z
    );
    dfile_SaveFile();
    dfile_CloseFile();
return true;
}
			
			
			
				ez szerint ennek tökéletesen mûködnie kéne
http://forum.sa-mp.com/showthread.php?t=218026
Dupla hozzászólás automatikusan összefûzve. ( 2014. július 10. - 18:57:27 )
rájöttem, hogy ezeket a koordinátákat csak a beolvasás után menti igy el. 
szóval rosszul olvassa be. de ebben mit lehet rosszul beolvasni?
 
stock LoadData(playerid)
{
    new string[200];
format(string,sizeof(string),\"Users/%s.ini\",pName(playerid));
    dfile_Open(string);
dfile_MultiGet(\"fff\",
      \"PosX\",pInfo[playerid][PosX],
      \"PosY\",pInfo[playerid][PosY],
      \"PosZ\",pInfo[playerid][PosZ]
    );
dfile_CloseFile();
SetPlayerPos(playerid,pInfo[playerid][PosX],pInfo[playerid][PosY],pInfo[playerid][PosZ]);
return true;
}
			
			
			
				Nálam teljesen jó, dini-vel vetettem össze.
 
#include a_samp
#include dini
#include dfile
public OnPlayerDisconnect(playerid, reason)
{
new Float:pos[3], string[256], string2[256];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
format(string, sizeof(string), \"TesztDFILE/%s.ini\", pName(playerid)); // dfile
format(string2, sizeof(string2), \"TesztDINI/%s.ini\", pName(playerid)); // dini
dfile_Create(string); // Létrehozom
dfile_Open(string); // Megnyitom
    dfile_MultiSet(\"fff\", \"PosX\", pos[0], \"PosY\", pos[1], \"PosZ\", pos[2]); // Beleírom
    dfile_SaveFile(); // Elmentem
    dfile_CloseFile(); // Bezárom
    
    dini_Create(string2);
    dini_FloatSet(string2, \"PosX\", pos[0]);
    dini_FloatSet(string2, \"PosY\", pos[1]);
    dini_FloatSet(string2, \"PosZ\", pos[2]);
return 1;
}
stock pName(playerid)
{
new n[24];
GetPlayerName(playerid, n, 24);
return n;
}
			
			
			
				Rájöttem a hibára, rossz a MultiGet.
Tessék, a javított változat:
 
stock LoadData(playerid)
{
    new string[200];
        format(string,sizeof(string),\"Users/%s.ini\",pName(playerid));
    dfile_Open(string);
     pInfo[playerid][PosX] = dfile_ReadFloat(\"PosX\");
     pInfo[playerid][PosY] = dfile_ReadFloat(\"PosY\");
     pInfo[playerid][PosZ] = dfile_ReadFloat(\"PosZ\");
     dfile_CloseFile();
        SetPlayerPos(playerid, pInfo[playerid][PosX], pInfo[playerid][PosY], pInfo[playerid][PosZ]);
        return 1;
}
 
Tesztelésre használt kód:
 
#include a_samp
#include dini
#include dfile
public CallMePlease(playerid);
public OnPlayerSpawn(playerid)
{
SetTimerEx(\"CallMePlease\", 4000, false, \"i\", playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new Float:pos[3], string[256], string2[256];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
format(string, sizeof(string), \"TesztDFILE/%s.ini\", pName(playerid)); // dfile
format(string2, sizeof(string2), \"TesztDINI/%s.ini\", pName(playerid)); // dini
        
dfile_Create(string); // Létrehozom
dfile_Open(string); // Megnyitom
    dfile_MultiSet(\"fff\", \"PosX\", pos[0], \"PosY\", pos[1], \"PosZ\", pos[2]); // Beleírom
    dfile_SaveFile(); // Elmentem
    dfile_CloseFile(); // Bezárom
    
    dini_Create(string2);
    dini_FloatSet(string2, \"PosX\", pos[0]);
    dini_FloatSet(string2, \"PosY\", pos[1]);
    dini_FloatSet(string2, \"PosZ\", pos[2]);
return 1;
}
public CallMePlease(playerid)
{
SendClientMessage(playerid, -1, \"CallMePlease meghívva!\");
new Float:pos[3], string[256], msg[128];
format(string, sizeof(string), \"TesztDFILE/%s.ini\", pName(playerid));
dfile_Open(string);
//dfile_MultiGet(\"fff\", pos[0], \"PosY\", pos[1], \"PosZ\", pos[2]);
pos[0] = dfile_ReadFloat(\"PosX\");
pos[1] = dfile_ReadFloat(\"PosY\");
pos[2] = dfile_ReadFloat(\"PosZ\");
SetPlayerPos(playerid, pos[0], pos[1], pos[2]);
SendClientMessage(playerid, -1, \"Beolvasott koordináták:\");
format(msg, 128, \"X: %f  |  Y: %f  |  Z: %f\", pos[0], pos[1], pos[2]);
SendClientMessage(playerid, -1, msg);
dfile_CloseFile();
return 1;
}
stock pName(playerid)
{
new n[24];
GetPlayerName(playerid, n, 24);
return n;
}