Skin wird nicht gespeichert

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
  • Hey ^^


    Ich hab mir heute etwas gescriptet das mein Skin gespeichert bleibt.
    Aber das geht nicht...


    Wenn sein Account ladet
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));


    Wenn sein Account speichert
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));


    MfG..

  • Wie sieht der Rest denn aus ? (Spielerdatei etc.)

  • stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    GetPlayerSkin(playerid);
    SpawnPlayer(playerid);
    SpawnPlayer(playerid);
    return 1;
    }
    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei, "Fraktion", SpielerInfo[playerid][sFraktion]);
    dini_IntSet(Spielerdatei, "Adminlevel", SpielerInfo[playerid][sAdminlevel]);
    }
    return 1;
    }

  • Eigentlich sollte das so gehen.
    Speichert er denn das Geld und alles andere ?


    //Edit Fehler behoben.

  • Öhm hab lange nicht mehr gescriptet weil ich vielzu viel mit Designen beschäftigt war aber guck mal unter OnPlayerDisconnect ob du das speicherst? Also wenn du reloggst dann speichert es doch nicht den Skin.


    MfG

  • Mach mal bei OnPlayerSpawn das rein und hau das laden des Skins mal kurz raus:
    SetPlayerSkin(playerid, 250);


    Dann verlässt du den Server und schaust mal was in der Datei für eine Zahl steht.

  • Warum fragst du eigentlich beim Disconnecten ab ob er eingeloggt ist und dann nochmal beim Speichern ?
    Mach das mal beim Speichern mit der Abfrage weg.

  • stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei, "Fraktion", SpielerInfo[playerid][sFraktion]);
    dini_IntSet(Spielerdatei, "Adminlevel", SpielerInfo[playerid][sAdminlevel]);
    return 1;
    }


    Mach das mal so rein.

  • stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    printf("Skin ID: %d", GetPlayerSkin(playerid));
    printf("Skin ID Test: %d", strval(GetPlayerSkin(playerid)));
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei, "Fraktion", SpielerInfo[playerid][sFraktion]);
    dini_IntSet(Spielerdatei, "Adminlevel", SpielerInfo[playerid][sAdminlevel]);
    return 1;
    }


    Mach das mal so und sag mir was in der Server Log steht mit Skin ID: und Skin ID Test:, wenn du den Server verlässt.

  • CJ Skin ist 0 falls es keiner bemerkt hat -.-


    Falls du CJ hattest wurde es gesichert! außerdem würde ich dir folgendes empfehlen



    new Skin = GetPlayerSkin(playerid);


    dini_IntSet(Data,"Skin",Skin);


    Bitte außerdem nochmal die Grundlagen und Funktionsweisen der verschiedenen Funktionen merken und lernen, dein Grundwissen lässt einen Nachdenken wenn ich ehrlich bin!!!


    MfG NicoAiko

  • Dann würde ich sagen, läd er erst denn Skin aus der Datei und setzt dir dann den neulingsskin. Wenn du willst, kann ich mir das ganze mal über Team Viewer ansehen.

    Glaub keinem, der Dir sagt, dass Du nichts verändern kannst.
    Die, die das behaupten, haben nur vor der Veränderung Angst.
    Es sind dieselben, die erklären, es sei gut so, wie es ist.
    Und wenn Du etwas ändern willst, dann bist Du automatisch Terrorist (Die Ärzte - Deine Schuld)