YINI: Float X,Y,Z.
#1

Ok so I have problem with writing my Positions floats, everything else saves good like admin level, normal level, skin but float Pos_X, Pos_Y,Pos_Z is not wiritng in users account?
Im a bit confused why its not working when all should be fine...

pawn Код:
enum PlayerInfo
{
    Pass[129],                                                                  // Password
    Admin,                                                                      // Admin Level
    AdminDuty,                                                                  // Admin On Duty
    Level,                                                                      // Player Level
    HandMoney,                                                                  // Hand Money aka Cash
    Float: Pos_X,                                                               // Position X
    Float: Pos_Y,                                                               // Position Y
    Float: Pos_Z,                                                               // Position Z
    Skin                                                                        // Players Clothes aka Skin ID
}
new pInfo[MAX_PLAYERS][PlayerInfo];
On login dialog i have

pawn Код:
SetSpawnInfo(playerid, 0, pInfo[playerid][Skin], pInfo[playerid][Pos_X], pInfo[playerid][Pos_Y], pInfo[playerid][Pos_Z], 176.0951, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
Aswell for player spawn i have function setting him at coords
pawn Код:
SetPlayerPos(playerid, pInfo[playerid][Pos_X], pInfo[playerid][Pos_Y], pInfo[playerid][Pos_Z] + 1);
But main problem is even if i use test cmd with function ''SavePlayer(playerid); everything will update except float it will remain same, do i missing something here?
pawn Код:
stock SavePlayer(playerid)
{
    new INI:file = INI_Open(Path(playerid));
    INI_SetTag(file, "Account Data");

    INI_WriteString(file, "Password", pInfo[playerid][Pass]);
    INI_WriteInt(file, "Admin", pInfo[playerid][Admin]);
    INI_WriteInt(file, "Level", pInfo[playerid][Level]);
    INI_WriteInt(file, "HandMoney", pInfo[playerid][HandMoney]);
    INI_WriteFloat(file, "Pos_X", pInfo[playerid][Pos_X]);
    INI_WriteFloat(file, "Pos_Y", pInfo[playerid][Pos_Y]);
    INI_WriteFloat(file, "Pos_Z", pInfo[playerid][Pos_Z]);
    INI_WriteInt(file, "Skin", pInfo[playerid][Skin]);

    INI_Close(file);
    return true;
}
This is how account looks inside:
PHP код:
[Account Data]
Password B79D311082111331E8834168171F081A22EC43A3186522BEDB80A631677EE5C354A7538AD408A243D506FAE7209A9F24AF3258203DD8F5DE7A58836F021AAE5A
Admin 
1
Level 
55
HandMoney 
500
Pos_X 
0.000000
Pos_Y 
0.000000
Pos_Z 
0.000000
Skin 
221 
And if i manualy edit user account with notepad and set his coords it will work good.
Reply
#2

Do you ever edit the variables Pos_X/Y/Z ?

Try adding this under OnPlayerUpdate :

pawn Код:
GetPlayerPos(playerid, pInfo[playerid][Pos_X], pInfo[playerid][Pos_Y], pInfo[playerid][Pos_Z]);
Reply
#3

It's effort for the server that isn't needed s4t3k.

Just write
pawn Код:
GetPlayerPos(playerid, pInfo[playerid][Pos_X], pInfo[playerid][Pos_Y], pInfo[playerid][Pos_Z]);
at the top of SavePlayer(playerid);
Reply
#4

Well thought.
Reply
#5

Quote:
Originally Posted by sammp
Посмотреть сообщение
It's effort for the server that isn't needed s4t3k.

Just write
pawn Код:
GetPlayerPos(playerid, pInfo[playerid][Pos_X], pInfo[playerid][Pos_Y], pInfo[playerid][Pos_Z]);
at the top of SavePlayer(playerid);
Indeed, I was so silly I got almost a headchase for this line hahahahha.....
Rep+ and thanks both!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)