Вот часть кода, на что мозга с утра хватило....Половину вырезал. В enum pInfo:
[pwn]Float:pPosX,
Float:pPosY,
Float:pPosZ,[/pwn]
В OnPlayerRegister/OnPlayerUpdate
[pwn]format(var, 32, "PosX=%.1f\n",PlayerInfo[playerid][pPosX]);fwrite(hFile, var);
format(var, 32, "PosY=%.1f\n",PlayerInfo[playerid][pPosY]);fwrite(hFile, var);
format(var, 32, "PosZ=%.1f\n",PlayerInfo[playerid][pPosZ]);fwrite(hFile, var);[/pwn]
В OnPlayerLogin
[pwn]if( strcmp( key , "PosX"" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPosX] = floatstr( val ); }
if( strcmp( key , "PosY , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPosY] = floatstr( val ); }
if( strcmp( key , "PosZ" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPosZ] = floatstr( val ); }[/pwn]
В OnPlayerDisconnect
[pwn]new Float:X,Y,Z;
GetPlayerPos(playerid,X,Y,Z);
PlayerInfo[playerid][pPosX] = X;
PlayerInfo[playerid][pPosY] = Y;
PlayerInfo[playerid][pPosZ] = Z;[/pwn]
И наверно (просто не знаю куда) в OnPlayerLogin
[pwn]X = PlayerInfo[playerid][pPosX];
Y = PlayerInfo[playerid][pPosY];
Z = PlayerInfo[playerid][pPosZ];
SetPlayerPos(playerid,X,Y,Z);//тут как бэ я хз будет работать или нет[/pwn]
Пробуй, но я не тестил.