Y INI problem - Again! :(
#1

When I use the following code in my script, the things it saves don't load, and end up at 0 each time I log back in -

Saving:

pawn Код:
function SaveAccountStats(playerid)
{
    if(Logged[playerid] == 1 && TempName[playerid] == 0)
    {
        PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
        PlayerInfo[playerid][pCash] = GetPlayerCash(playerid);
        PlayerInfo[playerid][pINT] = GetPlayerInterior(playerid);
        PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
        PlayerInfo[playerid][pWantedLevel] = GetPlayerWantedLevel(playerid);
        new
            Float:x,
            Float:y,
            Float:z,
            plrIP[16]
        ;
        GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
        GetPlayerArmour(playerid,PlayerInfo[playerid][pArmor]);
        GetPlayerPos(playerid,x,y,z);
        PlayerInfo[playerid][pPos_x] = x;
        PlayerInfo[playerid][pPos_y] = y;
        PlayerInfo[playerid][pPos_z] = z;
        PlayerInfo[playerid][pIP] = GetPlayerIp(playerid, plrIP, sizeof(plrIP));
        GetPlayerPos(playerid,PlayerInfo[playerid][pPos_x],PlayerInfo[playerid][pPos_y],PlayerInfo[playerid][pPos_z]);
        new
            INI:File = INI_Open(UserPath(playerid))
        ;
        INI_SetTag(File,"data");
        INI_WriteInt(File,"Cash",PlayerInfo[playerid][pCash]);
        INI_WriteInt(File,"Deposit",Play ...
        INI_SetTag(File,"vehicles");
        for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
        {
            new var[1240];
            format(var, 32, "v%dPosX", v);
            INI_WriteFloat(File,var,PlayerVehicleInfo[playerid][v][vPosX]);
            format(var, 32, "v%dPosY", v);
            INI_WriteFloat(File,var,PlayerVehicleInfo[playerid][v][vPosY]);
            format(var, 32, "v%dPosZ", v);
            INI_WriteFloat(File,var,PlayerVehicleInfo[playerid][v][vPosZ]);
            format(var, 32, "v%dPosAngle", v);
            INI_WriteFloat(File,var,PlayerVehicleInfo[playerid][v][vPosAngle]);
            format(var, 32, "v%dModelId", v);
            INI_WriteInt(File,var,PlayerVehicleInfo[playerid][v][vModelId]);
            format(var, 32, "v%dLock", v);
            INI_WriteInt(File,var,PlayerVehicleInfo[playerid][v][vLock]);
            format(var, 32, "v%dLocked", v);
            INI_WriteInt(File,var,PlayerVehicleInfo[playerid][v][vLocked]);
            format(var, 32, "v%dSpawned", v);
            INI_WriteInt(File,var,PlayerVehicleInfo[playerid][v][vSpawned]);
            format(var, 32, "v%dPaintJob", v);
            INI_WriteInt(File,var,PlayerVehicleInfo[playerid][v][vPaintJob]);
            format(var, 32, "v%dColor1", v);
            INI_WriteInt(File,var,PlayerVehicleInfo[playerid][v][vColor1]);
            format(var, 32, "v%dColor2", v);
            INI_WriteInt(File,var,PlayerVehicleInfo[playerid][v][vColor2]);
            format(var, 32, "v%dPrice", v);
            INI_WriteInt(File,var,PlayerVehicleInfo[playerid][v][vPrice]);
            format(var, 32, "v%dNumPlate", v);
            INI_WriteString(File,var,PlayerVehicleInfo[playerid][v][vNumberPlate]);
        }
        INI_Close(File);
Everytime I use something like:
pawn Код:
for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
the things save but don't load and result in being back to 0 when I login.

Loading:

pawn Код:
function LoadUser_data(playerid,name[],value[])
{
    INI_Int("Password",PlayerInfo[playerid][pPass]);
    INI_Int("Cash",PlayerInfo[playerid][pCash]);
    INI_Int("Deposit",Playe...
    for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
    {
        new var[1240];
        format(var, 32, "v%dPosX", v);
        INI_Float(var,PlayerVehicleInfo[playerid][v][vPosX]);
        format(var, 32, "v%dPosY", v);
        INI_Float(var,PlayerVehicleInfo[playerid][v][vPosY]);
        format(var, 32, "v%dPosZ", v);
        INI_Float(var,PlayerVehicleInfo[playerid][v][vPosZ]);
        format(var, 32, "v%dPosAngle", v);
        INI_Float(var,PlayerVehicleInfo[playerid][v][vPosAngle]);
        format(var, 32, "v%dModelId", v);
        INI_Int(var,PlayerVehicleInfo[playerid][v][vModelId]);
        format(var, 32, "v%dLock", v);
        INI_Int(var,PlayerVehicleInfo[playerid][v][vLock]);
        format(var, 32, "v%dLocked", v);
        INI_Int(var,PlayerVehicleInfo[playerid][v][vLocked]);
        format(var, 32, "v%dSpawned", v);
        INI_Int(var,PlayerVehicleInfo[playerid][v][vSpawned]);
        format(var, 32, "v%dPaintJob", v);
        INI_Int(var,PlayerVehicleInfo[playerid][v][vPaintJob]);
        format(var, 32, "v%dColor1", v);
        INI_Int(var,PlayerVehicleInfo[playerid][v][vColor1]);
        format(var, 32, "v%dColor2", v);
        INI_Int(var,PlayerVehicleInfo[playerid][v][vColor2]);
        format(var, 32, "v%dPrice", v);
        INI_Int(var,PlayerVehicleInfo[playerid][v][vPrice]);
        format(var, 32, "v%dNumPlate", v);
        INI_String(var,PlayerVehicleInfo[playerid][v][vNumberPlate], 32);
    }
    return 1;
}
Help please, I've tried coveting my script to MySQL but fail to learn how MySQL works, until I learn I'm stuck with this. I have two features that use this and don't load.
Reply
#2

Yes they work. Let me explain my problem, user stats load but the folowing things that use "format" dont:
pawn Код:
for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
    {
        new var[1240];
        format(var, 32, "pv%dPosX", v);
        INI_Float(var,PlayerVehicleInfo[playerid][v][pvPosX]);
        ...
and
pawn Код:
for(new a = 0; a < MAX_PLAYERACCESSORYS; a++)
    {
        new var[1240];
        format(var, 32, "a%dModelID", a);
        INI_Int(var,PlayerAccessoryInfo[playerid][a][aModelID]);
        ...
So everything that's like the above doesn't load, but the user stats do.
Reply
#3

I'm not sure what you mean, can you give me an example?
Reply
#4

:3 - Still don't know how I would do it , never used them for loading, example?
Reply
#5

Didn't help, could you give me an example with one of the lines I used to load? I tried and got "error 035: argument type mismatch (argument 1)"..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)