score & money sometimes doesn't save
#1

Hi guys I'm very worried about score and money saving in my server. It doesn't save.. I'm very worried about this problem & my players keep complaining. I tried very hard checking if there's any problem in the script.. But I think there's no problems... I'm using Y_INI

My enum
pawn Код:
enum plInfo
{
    Password[ 129 ],
    Money,
    Score,
    Bank,
    RobSkill,
    TerSkill,
    WantedLevel2,
    Jail,
    RentalOwner,
    Drugs2,
    C4,
    Skin,
    Outside[256],
    SAPDP,
    SASDP,
    SWATP,
    FBIP,
    ArmyP,
    MedicP,
    //DRTP,
    pDonator,
    pKills,
    pDeaths,
    pArrests,
    pArrested,
    pCrimes,
    pRoadblock
}
Public Load User Data
pawn Код:
public LoadUser_data(playerid,name[],value[])
{
//INI_Int("Password",PlayerInfo[playerid][Password]);
INI_String("Password", PlayerInfo[ playerid ][ Password ], 129);
INI_Int("Money",PlayerInfo[playerid][Money]);
INI_Int("Score",PlayerInfo[playerid][Score]);
INI_Int("Bank",PlayerInfo[playerid][Bank]);
INI_Int("RobSkill",PlayerInfo[playerid][RobSkill]);
INI_Int("TerSkill",PlayerInfo[playerid][TerSkill]);
INI_Int("WantedLevel",PlayerInfo[playerid][WantedLevel2]);
INI_Int("Jail",PlayerInfo[playerid][Jail]);
INI_Int("RentalOwner",PlayerInfo[playerid][RentalOwner]);
INI_Int("Drugs",PlayerInfo[playerid][Drugs2]);
INI_Int("C4",PlayerInfo[playerid][C4]);
INI_Int("Skin",PlayerInfo[playerid][Skin]);
INI_Int("SAPDP",PlayerInfo[playerid][SAPDP]);
INI_Int("SASDP",PlayerInfo[playerid][SASDP]);
INI_Int("FBIP",PlayerInfo[playerid][FBIP]);
INI_Int("SWATP",PlayerInfo[playerid][SWATP]);
INI_Int("ArmyP",PlayerInfo[playerid][ArmyP]);
INI_Int("MedicP",PlayerInfo[playerid][MedicP]);
INI_Int("Kills",PlayerInfo[playerid][pKills]);
INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
INI_Int("Arrested",PlayerInfo[playerid][pArrested]);
INI_Int("Arrests",PlayerInfo[playerid][pArrests]);
INI_Int("Crimes",PlayerInfo[playerid][pCrimes]);
return 1;
}
Public OnPlayerDisconnect
pawn Код:
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File, "Money", GetPlayerMoney(playerid));
INI_WriteInt(File, "Score", GetPlayerScore(playerid));
INI_WriteInt(File, "WantedLevel", GetPlayerWantedLevel(playerid));
INI_WriteInt(File, "Bank", PlayerInfo[playerid][Bank]);
INI_WriteInt(File, "RobSkill", PlayerInfo[playerid][RobSkill]);
//INI_WriteInt(File, "Jail", PlayerInfo[playerid][Jail]);
INI_WriteInt(File, "Drugs", PlayerInfo[playerid][Drugs2]);
INI_WriteInt(File, "C4", PlayerInfo[playerid][C4]);
INI_WriteInt(File, "SAPDP",PlayerInfo[playerid][SAPDP]);
INI_WriteInt(File, "SASDP",PlayerInfo[playerid][SASDP]);
INI_WriteInt(File, "FBIP",PlayerInfo[playerid][FBIP]);
INI_WriteInt(File, "SWATP",PlayerInfo[playerid][SWATP]);
INI_WriteInt(File, "ArmyP",PlayerInfo[playerid][ArmyP]);
INI_WriteInt(File, "MedicP",PlayerInfo[playerid][MedicP]);
//INI_WriteInt(File, "DRTP",PlayerInfo[playerid][DRTP]);
INI_WriteInt(File, "Kills",PlayerInfo[playerid][pKills]);
INI_WriteInt(File, "Deaths",PlayerInfo[playerid][pDeaths]);
INI_WriteInt(File, "Arrests",PlayerInfo[playerid][pArrests]);
INI_WriteInt(File, "Arrested",PlayerInfo[playerid][pArrested]);
INI_WriteInt(File, "Crimes",PlayerInfo[playerid][pCrimes]);
INI_Close(File);
My OnDialogResponse
pawn Код:
new file[128];
new name[MAX_PLAYER_NAME];
new Register[250];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
if(dialogid == DIALOG_REGISTER)
{
    if(!response) return Kick(playerid);
    if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Invalid Password\nPlease enter correct password!","Register","Disconnect");
    if(!fexist(file))
    {
        /*       dini_Create(file);
        dini_IntSet(file, "Password", udb_hash(inputtext));
        dini_IntSet(file, "Money", 2500);
        dini_IntSet(file, "Score", 1);
        dini_IntSet(file, "Bank", 1000);
        dini_IntSet(file, "RobSkill", 1);
        dini_IntSet(file, "TerSkill", 1);
        dini_IntSet(file, "WantedLevel", 0);
        dini_IntSet(file, "Jail", 0);
        dini_IntSet(file, "RentalOwner", 0);
        dini_IntSet(file, "Drugs", 0);
        dini_IntSet(file, "C4", 0);
        dini_IntSet(file, "Skin", -1);*/


        new hashpass[129];
        WP_Hash(hashpass,sizeof(hashpass),inputtext);
        new INI:File = INI_Open(UserPath(playerid));
        INI_SetTag(File,"data");
        INI_WriteString(File, "Password",hashpass);
        INI_WriteInt(File, "Money", 2500);
        INI_WriteInt(File, "Score", 1);
        INI_WriteInt(File, "Bank", 1000);
        INI_WriteInt(File, "RobSkill", 1);
        INI_WriteInt(File, "TerSkill", 1);
        INI_WriteInt(File, "WantedLevel", 0);
        INI_WriteInt(File, "Jail", 0);
        INI_WriteInt(File, "RentalOwner", 0);
        INI_WriteInt(File, "Drugs", 0);
        INI_WriteInt(File, "C4", 0);
        INI_WriteInt(File, "Skin", -1);
        INI_WriteInt(File, "SAPDP", 0);
        INI_WriteInt(File, "SASDP", 0);
        INI_WriteInt(File, "FBIP", 0);
        INI_WriteInt(File, "SWATP", 0);
        INI_WriteInt(File, "ArmyP", 0);
        INI_WriteInt(File, "MedicP", 0);
        INI_WriteInt(File, "DRTP", 0);
        INI_Close(File);


        format(Register,sizeof(Register),"Thanks for registering!\nYou may now login.",name);
        ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login",Register,"Login","Leave");
        GameTextForPlayer(playerid, "~r~Registered!", 3000, 1);
    }
}
if(dialogid == DIALOG_LOGIN)
{
    if(!response) return Kick(playerid);
    if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Invalid Password!\nPlease enter correct password","Login","Leave");
    if(fexist(UserPath(playerid)))
    {
        LoadData(playerid);
        new hashpass[129];
        WP_Hash(hashpass,sizeof(hashpass),inputtext);
        if( !strcmp( hashpass, PlayerInfo[ playerid ][ Password ], false ) )
        {
            IsPlayerLogged[playerid] = 1;
            //      SetPlayerMoney(playerid, dini_Int(file, "Money"));
            GivePlayerMoney(playerid, PlayerInfo[playerid][Money]);
            //      SetPlayerScore(playerid, dini_Int(file, "Score"));
            SetPlayerScore(playerid, PlayerInfo[playerid][Score]);
            //      PlayerSkin[playerid] = dini_Int(file,"Skin");
            PlayerSkin[playerid] = PlayerInfo[playerid][Skin];
            //      SetPlayerWantedLevel(playerid, dini_Int(file, "WantedLevel"));
            SetPlayerWantedLevel(playerid, PlayerInfo[playerid][WantedLevel2]);
            SendClientMessage(playerid, GREY, "You are now logged in. Your status will be saved on your logout.");
            SendClientMessage(playerid, COLOR_GREEN, "Continuing current life...");
            GameTextForPlayer(playerid, "~r~Logged In!", 3000, 1);
        }
        else ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Wrong Password!\nPlease enter correct password","Login","Disconnect");
    }
    }
return 0;
}
Is there any solutions?
Reply


Messages In This Thread
score & money sometimes doesn't save - by Uberanwar - 09.11.2013, 02:57
Re: score & money sometimes doesn't save - by Crayder - 09.11.2013, 03:15
Re: score & money sometimes doesn't save - by Uberanwar - 09.11.2013, 05:13
Re: score & money sometimes doesn't save - by Uberanwar - 15.11.2013, 15:38
Re: score & money sometimes doesn't save - by XStormiest - 15.11.2013, 16:09
Re: score & money sometimes doesn't save - by Uberanwar - 15.11.2013, 16:54
Re: score & money sometimes doesn't save - by Tuntun - 15.11.2013, 17:01
Re: score & money sometimes doesn't save - by Uberanwar - 15.11.2013, 17:34
Re: score & money sometimes doesn't save - by Reera - 15.11.2013, 18:40
Re: score & money sometimes doesn't save - by DaniceMcHarley - 16.11.2013, 06:54

Forum Jump:


Users browsing this thread: 1 Guest(s)