SA-MP Forums Archive
Score & Money Not Saving.... - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Score & Money Not Saving.... (/showthread.php?tid=481589)



Score & Money Not Saving.... - Insulin - 16.12.2013

Guys, in my script money and score not saving, everything else saves Please help, I tried many things...

Under OnPlayerConnect

pawn Код:
if(udb_Exists(PlayerName2(playerid)))
    {
      if(PlayerInfo[playerid][LoggedIn] == 0)
      {
          ShowPlayerDialog(playerid, 125, DIALOG_STYLE_PASSWORD, ""cgreen"Login",""cwhite"This user Account is "cgreen"registered\n"cwhite"Please "cred"login "cwhite"to "cgreen"access "cwhite"your profile.","Login","Kick");
      }
    }
    new file2[130];
    new pname[128];
    if(PlayerInfo[playerid][LoggedIn] == 1)
    {
        GetPlayerName(playerid, pname, sizeof(pname));
        format(file2, sizeof(file2), savefolder,pname);
        if(!dini_Exists(file2))
        {
            dini_Create(file2);
            dini_IntSet(file2, "Score", 0);
            dini_IntSet(file2, "Money", 0);
            SetPlayerScore(playerid, dini_Int(file2, "Score"));
            SetPlayerMoney(playerid, dini_Int(file2, "Money"));
        }
        else
        {
            SetPlayerScore(playerid, dini_Int(file2, "Score"));
            SetPlayerMoney(playerid, dini_Int(file2, "Money"));
        }
    }
Login & Register Box....

pawn Код:
case 125:
            {
               if(!response)
               {
                    Kick(playerid);
               }
               if (udb_Exists(PlayerName2(playerid))) {
                  if (udb_CheckLogin(PlayerName2(playerid),inputtext))
                  {
                   new file[256], tmp3[100], string[128];
                   format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );
                   GetPlayerIp(playerid,tmp3,100);
                   dini_Set(file,"ip",tmp3);
                   LoginPlayer(playerid);
                   Savestatus(playerid);
                   PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
                   if(PlayerInfo[playerid][Level] > 0) {
                       format(string,sizeof(string),"ACCOUNT: Successfully Logged In. (Level %d)", PlayerInfo[playerid][Level] );
                       TimeZ[playerid]=1;
                       return SendClientMessage(playerid,green,string);
                   } else return TimeZ[playerid]=1;
                                 
               }
               else {
                   PlayerInfo[playerid][FailLogin]++;
                   printf("LOGIN: %s has failed to login, Wrong password (%s) Attempt (%d)", PlayerName2(playerid),inputtext, PlayerInfo[playerid][FailLogin] );
                   ShowPlayerDialog(playerid, 125, DIALOG_STYLE_INPUT, ""cred"Incorrect Password",""cwhite"Please enter your "cgreen"correct "cwhite"password!","Login","Kick");
                   if(PlayerInfo[playerid][FailLogin] == MAX_FAIL_LOGINS)
                   {
                       new string[128]; format(string, sizeof(string), "%s has been kicked (Failed Logins)", PlayerName2(playerid) );
                       SendClientMessageToAll(grey, string);
                       print(string);
              Kick(playerid);
                       }
                  }
            }
        }
        case 126:
        {
           if(!response)
           {
             Kick(playerid);
           }
          if (strlen(inputtext) < 4 || strlen(inputtext) > 20) {
            new string[200];
            format(string, sizeof(string),""cwhite"Welcome "cred"%s "cwhite"you are not registered\nKindly enter password to register your account\n"cred"Invalid password length", PlayerName2(playerid));
           ShowPlayerDialog(playerid, 126, DIALOG_STYLE_INPUT, "Register",string,"Register","Kick");
          }
          if (!udb_Exists(PlayerName2(playerid))) {
          if (udb_Create(PlayerName2(playerid),inputtext))
          {
            new file[256],name[MAX_PLAYER_NAME], tmp3[100];
            new strdate[20], year,month,day;    getdate(year, month, day);
            GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name));
            GetPlayerIp(playerid,tmp3,100); dini_Set(file,"ip",tmp3);
    //      dini_Set(file,"password",params);
            dUserSetINT(PlayerName2(playerid)).("registered",1);
            format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
            dini_Set(file,"RegisteredDate",strdate);
            dini_Set(file,"Nick",name);
            dUserSetINT(PlayerName2(playerid)).("loggedin",1);
            dUserSetINT(PlayerName2(playerid)).("banned",0);
            dUserSetINT(PlayerName2(playerid)).("level",0);
            dUserSetINT(PlayerName2(playerid)).("LastOn",0);
            dUserSetINT(PlayerName2(playerid)).("money",5000);
            dUserSetINT(PlayerName2(playerid)).("Score",0);
            dUserSetINT(PlayerName2(playerid)).("kills",0);
            dUserSetINT(PlayerName2(playerid)).("deaths",0);
            dUserSetINT(PlayerName2(playerid)).("hours",0);
            dUserSetINT(PlayerName2(playerid)).("minutes",0);
            dUserSetINT(PlayerName2(playerid)).("seconds",0);
            dUserSetINT(PlayerName2(playerid)).("dRank",0);
            dUserSetINT(PlayerName2(playerid)).("Prestige-I",0);
            dUserSetINT(PlayerName2(playerid)).("Prestige-II",0);
            PlayerInfo[playerid][LoggedIn] = 1;
            PlayerInfo[playerid][Registered] = 1;
            SendClientMessage(playerid, green, "ACCOUNT: You are now registered, and have been automaticaly logged in");
            PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
          }
         }
        }
Under OnPlayerDisconnect

pawn Код:
savePlayer(playerid);
SavePlayer stock

pawn Код:
SavePlayer(playerid)
{
    dUserSetINT(PlayerName2(playerid)).("money",GetPlayerMoney(playerid));
    dUserSetINT(PlayerName2(playerid)).("kills",PlayerInfo[playerid][Kills]);
    dUserSetINT(PlayerName2(playerid)).("deaths",PlayerInfo[playerid][Deaths]);
    dUserSetINT(PlayerName2(playerid)).("Score",GetPlayerScore(playerid));
    dUserSetINT(PlayerName2(playerid)).("Help Operator",PlayerInfo[playerid][Helper]);
    dUserSetINT(PlayerName2(playerid)).("Donor",PlayerInfo[playerid][dRank]);
    dUserSetINT(PlayerName2(playerid)).("Prestige-I",PlayerInfo[playerid][Prestige1]);
    dUserSetINT(PlayerName2(playerid)).("Prestige-II",PlayerInfo[playerid][Prestige2]);

    new h, mm, s;
    TotalGameTime(playerid, h, mm, s);

    dUserSetINT(PlayerName2(playerid)).("hours", h);
    dUserSetINT(PlayerName2(playerid)).("minutes", mm);
    dUserSetINT(PlayerName2(playerid)).("seconds", s);

    new Float:x,Float:y,Float:z, interior;
    GetPlayerPos(playerid,x,y,z);   interior = GetPlayerInterior(playerid);
    dUserSetINT(PlayerName2(playerid)).("x1",floatround(x));
    dUserSetINT(PlayerName2(playerid)).("y1",floatround(y));
    dUserSetINT(PlayerName2(playerid)).("z1",floatround(z));
    dUserSetINT(PlayerName2(playerid)).("interior1",interior);

    new Float:health;   GetPlayerHealth(playerid, Float:health);
    new Float:armour;   GetPlayerArmour(playerid, Float:armour);
    new year,month,day; getdate(year, month, day);
    new strdate[20];    format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
    new file[256];      format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(PlayerName2(playerid)) );

    dUserSetINT(PlayerName2(playerid)).("health",floatround(health));
    dUserSetINT(PlayerName2(playerid)).("armour",floatround(armour));
    dini_Set(file,"LastOn",strdate);
    dUserSetINT(PlayerName2(playerid)).("loggedin",0);
    dUserSetINT(PlayerName2(playerid)).("TimesOnServer",(dUserINT(PlayerName2(playerid)).("TimesOnServer"))+1);
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    dini_Set(file,"Nick",name);
}



Re: Score & Money Not Saving.... - AnonScripter - 16.12.2013

use Y_INI System, it's more easy to use, and no bugs
i use it and it works successful


Re: Score & Money Not Saving.... - Sawalha - 16.12.2013

Quote:
Originally Posted by AnonScripter
Посмотреть сообщение
use Y_INI System, it's more easy to use, and no bugs
i use it and it works successful
^ thats.


Re: Score & Money Not Saving.... - dominik523 - 16.12.2013

I would suggest you to read this.