SII Problem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Leute. Ich habe ein kleines Problem mit der SII Speicherung.


    Hier mein Speicherungsabschnitt:


    public OnPlayerDisconnect(playerid, reason)
    {
    DestroyVehicle(startbmx[playerid]);
    new accFormat[128]; format(accFormat, sizeof(accFormat), "/Accounts/%s.ini", SpielerName(playerid));
    if(gPlayerLogged[playerid] == 1 && INI_Exist(accFormat))
    {
    if(INI_Open(accFormat))
    {
    INI_WriteInt("Admin", Spieler[playerid][pAdmin]);
    INI_WriteInt("Level", Spieler[playerid][pLevel]);
    INI_WriteInt("Skin", GetPlayerSkin(playerid));// <-- Skin ..
    INI_WriteInt("Tut", Spieler[playerid][pTut]);
    INI_WriteInt("Cash", GetPlayerMoney(playerid));
    INI_WriteInt("Bank", Spieler[playerid][pBank]);
    INI_WriteInt("Fraktion", Spieler[playerid][pFraktion]);
    INI_WriteInt("Rank", Spieler[playerid][pRank]);
    INI_WriteInt("Sex", Spieler[playerid][pSex]);
    INI_WriteInt("MuteTime", Spieler[playerid][pMuteTime]);
    INI_WriteInt("Exp", Spieler[playerid][pExp]);
    INI_WriteInt("MaxExp", Spieler[playerid][pMaxExp]);
    INI_WriteInt("Crimes", Spieler[playerid][pCrimes]);
    INI_WriteInt("Kills", Spieler[playerid][pKills]);
    INI_WriteInt("Deaths", Spieler[playerid][pDeaths]);
    INI_WriteInt("Arrested", Spieler[playerid][pArrested]);
    INI_WriteInt("WantedDeaths", Spieler[playerid][pWantedDeaths]);
    INI_WriteInt("PhoneBook", Spieler[playerid][pPhoneBook]);
    INI_WriteInt("LottoNr", Spieler[playerid][pLottoNr]);
    INI_WriteInt("Job", Spieler[playerid][pJob]);
    INI_WriteInt("PayCheck", Spieler[playerid][pPayCheck]);
    INI_WriteInt("PayDayTime", Spieler[playerid][pPayDayTime]);
    INI_WriteInt("Jailed", Spieler[playerid][pJailed]);
    INI_WriteInt("JailTime", Spieler[playerid][pJailTime]);
    INI_WriteInt("Mats", Spieler[playerid][pMats]);
    INI_WriteInt("Drugs", Spieler[playerid][pDrugs]);
    INI_WriteInt("Quitjob", Spieler[playerid][pQuitjob]);
    INI_WriteInt("SexSkill", Spieler[playerid][pSexSkill]);
    INI_WriteInt("MechSkill", Spieler[playerid][pMechSkill]);
    INI_WriteInt("ZollPass", Spieler[playerid][pZollPass]);
    INI_WriteInt("NewsSkill", Spieler[playerid][pNewsSkill]);
    INI_WriteInt("DrugsSkill", Spieler[playerid][pDrugsSkill]);
    INI_WriteFloat("SHealth", Spieler[playerid][pSHealth]);
    INI_WriteInt("Number", Spieler[playerid][pNumber]);
    INI_WriteInt("HouseKey", Spieler[playerid][pHouseKey]);
    INI_WriteInt("BizKey", Spieler[playerid][pBizKey]);
    INI_WriteInt("CarLic", Spieler[playerid][pCarLic]);
    INI_WriteInt("FlyLic", Spieler[playerid][pFlyLic]);
    INI_WriteInt("BoatLic", Spieler[playerid][pBoatLic]);
    INI_WriteInt("GunLic", Spieler[playerid][pGunLic]);
    INI_WriteInt("MotoLic", Spieler[playerid][pMotoLic]);
    INI_WriteInt("Warns", Spieler[playerid][pWarns]);
    INI_WriteInt("Spielzeit", Spieler[playerid][pSpielzeit]);
    INI_WriteInt("Perso", Spieler[playerid][pPerso]);
    INI_WriteInt("HandyGeld", Spieler[playerid][pHandyGeld]);
    INI_WriteInt("HandyVertrag", Spieler[playerid][pHandyVertrag]);
    INI_WriteInt("SafeMats", Spieler[playerid][pSafeMats]);
    INI_WriteInt("SafeDrugs", Spieler[playerid][pSafeDrugs]);
    INI_WriteInt("Dead", Spieler[playerid][pDead]);
    INI_Save();
    INI_Close();
    }
    }
    return 1;
    }


    Das Problem, der Skin wird nicht abgespeichert und bleibt bei 0.


    Kann jemand helfen? (Skin Variable ist markiert)
    Der Spieler kriegt auch nen neuen skin aber es bleibt 0 in der player datei.


    Vielen Dank im vorraus. ;)


    //e hier noch die Daten wo's geladen werden:
    if(dialogid==DIALOG_LOGIN)
    {
    if(response)
    {
    if(strlen(inputtext) < 6)
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "GTA City", "{FFFFFF}Willkommen auf GTA City\n \nDein Account wurde in der Datenbank gefunden.\nGib dein Passwort niemals weiter. Auch nicht an Admins oder Supporter!\nDu kannst dich nun Einloggen. Bitte gib dein Passwort ein:", "OK", "");
    return 1;
    }
    if(INI_Open(accFormat))
    {
    new tmppass[64];
    if(INI_ReadString(tmppass, "Passwort", sizeof(tmppass)))
    //if(strcmp(inputtext, tmppass, true) == 0)
    {
    printf("tmppass: %s", tmppass);
    if(!strcmp(tmppass, inputtext, false))
    {
    Spieler[playerid][pAdmin] = INI_ReadInt("Admin");
    Spieler[playerid][pLevel] = INI_ReadInt("Level");
    Spieler[playerid][pSkin] = INI_ReadInt("Skin");
    Spieler[playerid][pTut] = INI_ReadInt("Tut");
    Spieler[playerid][pFraktion] = INI_ReadInt("Fraktion");
    Spieler[playerid][pRank] = INI_ReadInt("Rank");
    Spieler[playerid][pSex] = INI_ReadInt("Sex");
    Spieler[playerid][pMuteTime] = INI_ReadInt("MuteTime");
    Spieler[playerid][pExp] = INI_ReadInt("Exp");
    Spieler[playerid][pMaxExp] = INI_ReadInt("MaxExp");
    Spieler[playerid][pCrimes] = INI_ReadInt("Crimes");
    Spieler[playerid][pKills] = INI_ReadInt("Kills");
    Spieler[playerid][pDeaths] = INI_ReadInt("Deaths");
    Spieler[playerid][pArrested] = INI_ReadInt("Arrested");
    Spieler[playerid][pWantedDeaths] = INI_ReadInt("WantedDeaths");
    Spieler[playerid][pPhoneBook] = INI_ReadInt("PhoneBook");
    Spieler[playerid][pLottoNr] = INI_ReadInt("LottoNr");
    Spieler[playerid][pJob] = INI_ReadInt("Job");
    Spieler[playerid][pPayCheck] = INI_ReadInt("PayCheck");
    Spieler[playerid][pPayDayTime] = INI_ReadInt("PayDayTime");
    Spieler[playerid][pJailed] = INI_ReadInt("Jailed");
    Spieler[playerid][pJailTime] = INI_ReadInt("JailTime");
    Spieler[playerid][pMats] = INI_ReadInt("Mats");
    Spieler[playerid][pDrugs] = INI_ReadInt("Drugs");
    Spieler[playerid][pQuitjob] = INI_ReadInt("Quitjob");
    Spieler[playerid][pSexSkill] = INI_ReadInt("SexSkill");
    Spieler[playerid][pMechSkill] = INI_ReadInt("MechSkill");
    Spieler[playerid][pZollPass] = INI_ReadInt("ZollPass");
    Spieler[playerid][pNewsSkill] = INI_ReadInt("NewsSkill");
    Spieler[playerid][pDrugsSkill] = INI_ReadInt("DrugsSkill");
    Spieler[playerid][pSHealth] = INI_ReadFloat("SHealth");
    Spieler[playerid][pNumber] = INI_ReadInt("Number");
    Spieler[playerid][pHouseKey] = INI_ReadInt("HouseKey");
    Spieler[playerid][pBizKey] = INI_ReadInt("BizKey");
    Spieler[playerid][pCarLic] = INI_ReadInt("CarLic");
    Spieler[playerid][pFlyLic] = INI_ReadInt("FlyLic");
    Spieler[playerid][pBoatLic] = INI_ReadInt("BoatLic");
    Spieler[playerid][pGunLic] = INI_ReadInt("GunLic");
    Spieler[playerid][pMotoLic] = INI_ReadInt("MotoLic");
    Spieler[playerid][pWarns] = INI_ReadInt("Warns");
    Spieler[playerid][pSpielzeit] = INI_ReadInt("Spielzeit");
    Spieler[playerid][pPerso] = INI_ReadInt("Perso");
    Spieler[playerid][pHandyGeld] = INI_ReadInt("HandyGeld");
    Spieler[playerid][pHandyVertrag] = INI_ReadInt("HandyVertrag");
    Spieler[playerid][pSafeMats] = INI_ReadInt("SafeMats");
    Spieler[playerid][pSafeDrugs] = INI_ReadInt("SafeDrugs");
    Spieler[playerid][pDead] = INI_ReadInt("Dead");
    printf("Housekey[Test]: %i", Spieler[playerid][pHouseKey]);
    new IP[16];
    GetPlayerIp(playerid, IP, sizeof(IP));
    printf("Player Logged in. ID: %i Name: %s IP: %s", playerid, SpielerName(playerid), IP);
    gPlayerLogged[playerid] = 1;
    gPlayerChooseSkinFemale[playerid] = 0;
    gPlayerChooseSkinMale[playerid] = 0;
    SpawnPlayer(playerid);
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "GTA City", "Das Passwort ist falsch!\n \n{FFFFFF}Dein Account wurde in der Datenbank gefunden.\nGib dein Passwort niemals weiter. Auch nicht an Admins oder Supporter!\nDu kannst dich nun Einloggen. Bitte gib dein Passwort ein:", "OK", "");
    return 1;
    }
    }
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "GTA City", "Das Passwort ist falsch!\n \n{FFFFFF}Dein Account wurde in der Datenbank gefunden.\nGib dein Passwort niemals weiter. Auch nicht an Admins oder Supporter!\nDu kannst dich nun Einloggen. Bitte gib dein Passwort ein:", "OK", "");
    }
    }
    if(!response)
    {
    Kick(playerid);
    return 1;
    }
    }


    //edit2


    Ich habe gesehen, dass es beim Disconnecten immer dort hackt, wo funktionen wie "GetPlayerSkin" und "GetPlayerMoney" haken. (<- da vertan normal "haken" = "ausgeführt werden" ... ) ;)


    Hat jemand eine Lösung?
    (Geld = 0, Skin = 0) beides mit den funktionen abgefragt beim disconnect.


    //edit 3 hab mich mit etwas bei edit 2 vertan ^^