Hilfe, 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 Leute :)
    Nach über 4 Stunden tun und machen weiss ich nicht weiter.
    Mein Problem: Skins werden nach dem Restart nicht gespeichert.
    Nach einem Restart hat mein skin immer die ID 0.
    Wenn ich mich auslogge und wieder einlogge funktioniert aber alles super..



    public OnPlayerDisconnect(playerid, reason)
    {
    sSpieler[playerid][sLogin] = 1;
    SpielerSpeichern(playerid);
    return 1;
    }



    stock SpielerSpeichern(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
    dini_IntSet(Spieler,"Level",sSpieler[playerid][Level]);
    dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
    dini_IntSet(Spieler,"Rang",sSpieler[playerid][Rang]);
    dini_IntSet(Spieler,"Team",sSpieler[playerid][Team]);
    dini_IntSet(Spieler,"Drogen",sSpieler[playerid][Drogen]);
    dini_IntSet(Spieler,"Job",sSpieler[playerid][Job]);
    dini_IntSet(Spieler,"Weissen",sSpieler[playerid][Weissen]);
    dini_IntSet(Spieler,"Zigaretten",sSpieler[playerid][Zigaretten]);
    dini_IntSet(Spieler,"Materialien",sSpieler[playerid][Materialien]);
    dini_IntSet(Spieler,"Milch",sSpieler[playerid][Milch]);
    dini_IntSet(Spieler,"Fleisch",sSpieler[playerid][Fleisch]);
    dini_IntSet(Spieler,"Fisch",sSpieler[playerid][Fisch]);
    dini_IntSet(Spieler,"WaffenscheinK1",sSpieler[playerid][WaffenscheinK1]);
    dini_IntSet(Spieler,"WaffenscheinK2",sSpieler[playerid][WaffenscheinK2]);
    dini_IntSet(Spieler,"WaffenscheinK3",sSpieler[playerid][WaffenscheinK3]);
    dini_IntSet(Spieler,"Fuererschein",sSpieler[playerid][Fuererschein]);
    dini_IntSet(Spieler,"Lkwschein",sSpieler[playerid][Lkwschein]);
    dini_IntSet(Spieler,"Flugschein",sSpieler[playerid][Flugschein]);
    dini_IntSet(Spieler,"Bootsschein",sSpieler[playerid][Bootsschein]);
    dini_IntSet(Spieler,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spieler,"sSkin",GetPlayerSkin(playerid));
    }
    return 1;
    }



    stock SpielerLaden(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    SetPlayerSkin(playerid,dini_Int(Spieler,"sSkin"));
    GivePlayerMoney(playerid,dini_Int(Spieler,"Geld"));
    SetPlayerScore(playerid,dini_Int(Spieler,"Level"));
    sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
    sSpieler[playerid][Level] = dini_Int(Spieler,"Level");
    sSpieler[playerid][Fraktion] = dini_Int(Spieler,"Fraktion");
    sSpieler[playerid][Rang] = dini_Int(Spieler,"Rang");
    sSpieler[playerid][Team] = dini_Int(Spieler,"Team");
    sSpieler[playerid][Drogen] = dini_Int(Spieler,"Drogen");
    sSpieler[playerid][Job] = dini_Int(Spieler,"Job");
    sSpieler[playerid][Weissen] = dini_Int(Spieler,"Weissen");
    sSpieler[playerid][Zigaretten] = dini_Int(Spieler,"Zigaretten");
    sSpieler[playerid][Materialien] = dini_Int(Spieler,"Materialien");
    sSpieler[playerid][Milch] = dini_Int(Spieler,"Milch");
    sSpieler[playerid][Fleisch] = dini_Int(Spieler,"Fleisch");
    sSpieler[playerid][Fisch] = dini_Int(Spieler,"Fisch");
    sSpieler[playerid][WaffenscheinK1] = dini_Int(Spieler,"WaffenscheinK1");
    sSpieler[playerid][WaffenscheinK2] = dini_Int(Spieler,"WaffenscheinK2");
    sSpieler[playerid][WaffenscheinK3] = dini_Int(Spieler,"WaffenscheinK3");
    sSpieler[playerid][Fuererschein] = dini_Int(Spieler,"Fuererschein");
    sSpieler[playerid][Lkwschein] = dini_Int(Spieler,"Lkwschein");
    sSpieler[playerid][Flugschein] = dini_Int(Spieler,"Flugschein");
    sSpieler[playerid][Bootsschein] = dini_Int(Spieler,"Bootsschein");
    sSpieler[playerid][Geld] = dini_Int(Spieler,"Geld");
    sSpieler[playerid][sSkin] = dini_Int(Spieler,"sSkin");
    sSpieler[playerid][sLogin] = 1;
    }
    return 1;
    }



    public OnPlayerRequestClass(playerid, classid)
    {
    SetSpawnInfo( playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0 );
    SpawnPlayer(playerid);
    return 1;
    }


    Level,Fraktion,Team,Job... werden gespeichert, nur der skin macht probleme.
    Ich hoffe ihr könnt mir helfen :)

  • Wenn ich bei OnGameModExit
    "SpielerSpeichern(playerid)"
    kommt eine Fehlermeldung



    C:\Users\Dennis\Desktop\server\gamemodes\testzwei.pwn(335) : error 017: undefined symbol "playerid"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


  • print("Test");


    Wird angezeigt



    Edit:

    stock SpielerLaden(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    SetPlayerSkin(playerid,dini_Int(Spieler,"sSkin"));
    GivePlayerMoney(playerid,dini_Int(Spieler,"Geld"));
    SetPlayerScore(playerid,dini_Int(Spieler,"Level"));
    sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
    sSpieler[playerid][Level] = dini_Int(Spieler,"Level");
    sSpieler[playerid][Fraktion] = dini_Int(Spieler,"Fraktion");
    sSpieler[playerid][Rang] = dini_Int(Spieler,"Rang");
    sSpieler[playerid][Team] = dini_Int(Spieler,"Team");
    sSpieler[playerid][Drogen] = dini_Int(Spieler,"Drogen");
    sSpieler[playerid][Job] = dini_Int(Spieler,"Job");
    sSpieler[playerid][Weissen] = dini_Int(Spieler,"Weissen");
    sSpieler[playerid][Zigaretten] = dini_Int(Spieler,"Zigaretten");
    sSpieler[playerid][Materialien] = dini_Int(Spieler,"Materialien");
    sSpieler[playerid][Milch] = dini_Int(Spieler,"Milch");
    sSpieler[playerid][Fleisch] = dini_Int(Spieler,"Fleisch");
    sSpieler[playerid][Fisch] = dini_Int(Spieler,"Fisch");
    sSpieler[playerid][WaffenscheinK1] = dini_Int(Spieler,"WaffenscheinK1");
    sSpieler[playerid][WaffenscheinK2] = dini_Int(Spieler,"WaffenscheinK2");
    sSpieler[playerid][WaffenscheinK3] = dini_Int(Spieler,"WaffenscheinK3");
    sSpieler[playerid][Fuererschein] = dini_Int(Spieler,"Fuererschein");
    sSpieler[playerid][Lkwschein] = dini_Int(Spieler,"Lkwschein");
    sSpieler[playerid][Flugschein] = dini_Int(Spieler,"Flugschein");
    sSpieler[playerid][Bootsschein] = dini_Int(Spieler,"Bootsschein");
    sSpieler[playerid][Geld] = dini_Int(Spieler,"Geld");
    sSpieler[playerid][sSkin] = dini_Int(Spieler,"sSkin");
    sSpieler[playerid][sLogin] = 1;
    }
    return 1;
    }


    und bei connect



    public OnPlayerConnect(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    SetPlayerSkin(playerid,sSpieler[playerid][sSkin]);
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    SendClientMessage(playerid,Gelb,"Willkommen zurück ");
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden","Login","Abbrechen");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Blau,"Wilkommen");
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Regestrieren","Bitte Wähle ein Passwort um dir ein Account zu erstellen","Regestrieren","Abbrechen");

    }
    return 1;
    }

  • *HUST* Mein Beitrag *HUST*


    Meintest du

    SetPlayerSkin(playerid,sSpieler[playerid][sSkin]); //SetPlayerSkin?


    das hab ich hier;



    public OnPlayerConnect(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    SetPlayerSkin(playerid,sSpieler[playerid][sSkin]);
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    SendClientMessage(playerid,Gelb,"Willkommen zurück ");
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden","Login","Abbrechen");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,Blau,"Wilkommen");
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Regestrieren","Bitte Wähle ein Passwort um dir ein Account zu erstellen","Regestrieren","Abbrechen");

    }
    return 1;
    }



    Hab ein Befehl gemacht /saveall



    //saveall
    if (strcmp("/saveall", cmdtext, true,10) == 0)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    SpielerSpeichern(i);
    return 1;
    }
    }
    return 1;
    }


    Der Befehl speichert den Skin aber nach restart ist der Skin wieder auf 0


  • public OnPlayerSpawn(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))

    //Fraktion 0 (Noob) Spawn
    if(IstSpielerInFraktion(playerid, 0))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1742.3733,-1860.1132,13.5791);
    SetPlayerFacingAngle(playerid,358.9747); //Kuck Richtung
    SetPlayerColor(playerid,Weiß);
    SendClientMessage(playerid,Rot,"Fraktion: {FFFFFF}Du bist in keiner Fraktion");
    SetPlayerSkin(playerid,sSpieler[playerid][sSkin]);
    return 1;
    }

    //Fraktion 1 (Police) Spawn
    if(IstSpielerInFraktion(playerid, 1))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1568.6694,-1692.5447,5.8906);
    SetPlayerFacingAngle(playerid,178.2133); //Kuck Richtung
    SetPlayerColor(playerid,Hellblau);
    SendClientMessage(playerid,Rot,"Fraktion: {FFFFFF}Du bist beim LSPD gespawnt");
    SetPlayerSkin(playerid,sSpieler[playerid][sSkin]);
    return 1;
    }

    //Fraktion 2 (Sfpd) Spawn
    if(IstSpielerInFraktion(playerid, 2))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,-1588.1945,715.4079,-5.2422);
    SetPlayerFacingAngle(playerid,270.7303); //Kuck Richtung
    SetPlayerColor(playerid,Blau);
    SendClientMessage(playerid,Rot,"Fraktion: {FFFFFF}Du bist beim SFPD gespawnt");
    return 1;
    }

    //Fraktion 3 (Bundeswehr) Spawn
    if(IstSpielerInFraktion(playerid, 3))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1742.3733,-1860.1132,13.5791);
    SetPlayerFacingAngle(playerid,358.9747); //Kuck Richtung
    SetPlayerColor(playerid,Dunkelgrün);
    SendClientMessage(playerid,Rot,"Fraktion: {FFFFFF}Du bist bei der Bundeswehr gespawnt");
    return 1;
    }

    //Fraktion 4 (LVPD) Spawn
    if(IstSpielerInFraktion(playerid, 4))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1742.3733,-1860.1132,13.5791);
    SetPlayerFacingAngle(playerid,358.9747); //Kuck Richtung
    SetPlayerColor(playerid,Dunkelgrün);
    SendClientMessage(playerid,Rot,"Fraktion: {FFFFFF}Du bist bei der Bundeswehr gespawnt");
    return 1;
    }

    //Fraktion 5 (Taxi) Spawn
    if(IstSpielerInFraktion(playerid, 5))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1264.0734,-1641.9229,13.5469);
    SetPlayerFacingAngle(playerid,141.6652); //Kuck Richtung
    SetPlayerColor(playerid,Gelb);
    SendClientMessage(playerid,Rot,"Fraktion: {FFFFFF}Du bist am Taxispawn gespawnt");
    return 1;
    }

    //Fraktion 6 (Ordnungsamt) Spawn
    if(IstSpielerInFraktion(playerid, 6))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,914.7802,-1252.4495,15.6641);
    SetPlayerFacingAngle(playerid,87.8251); //Kuck Richtung
    SetPlayerColor(playerid,Weiß);
    SendClientMessage(playerid,Rot,"Fraktion: {FFFFFF}Du bist am Ordnungsamt gespawnt");
    return 1;
    }

    //Fraktion 7 (Rettungsdienst) Spawn
    if(IstSpielerInFraktion(playerid, 7))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1177.3745,-1323.3375,14.0676);
    SetPlayerFacingAngle(playerid,267.7357); //Kuck Richtung
    SetPlayerColor(playerid,Rot);
    SendClientMessage(playerid,Rot,"Fraktion: {FFFFFF}Du bist am Krankenhaus gespawnt");
    return 1;
    }

    //Fraktion 8 (Feuerwehr) Spawn
    if(IstSpielerInFraktion(playerid, 8))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,630.7282,-571.8627,16.3359);
    SetPlayerFacingAngle(playerid,270.4044); //Kuck Richtung
    SetPlayerColor(playerid,Rot);
    SendClientMessage(playerid,Rot,"Fraktion: {FFFFFF}Du bist am Feuerwehrhaus gespawnt");
    return 1;
    }

    //Fraktion 10 (GrooveStreet) Spawn
    if(IstSpielerInFraktion(playerid, 10))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,2495.3113,-1685.1597,13.5123);
    SetPlayerFacingAngle(playerid,358.1396); //Kuck Richtung
    SetPlayerColor(playerid,Hellgrün);
    SetPlayerSkin(playerid,106);
    return 1;
    }

    //Fraktion 11 (Vagos) Spawn
    if(IstSpielerInFraktion(playerid, 11))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1675.6208,-2120.4927,13.5469);
    SetPlayerFacingAngle(playerid,312.1677); //Kuck Richtung
    SetPlayerColor(playerid,Weiß);
    SendClientMessage(playerid,Rot,"Fraktion: {FFFFFF}Du bist bei den Vagos gespawnt");
    return 1;
    }

    //Fraktion 12 (Biker) Spawn
    if(IstSpielerInFraktion(playerid, 12))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1080.5913,-341.4658,73.9922);
    SetPlayerFacingAngle(playerid,359.7454); //Kuck Richtung
    SetPlayerColor(playerid,Weiß);
    SendClientMessage(playerid,Rot,"Fraktion: {FFFFFF}Du bist bei den Bikers gespawnt");
    return 1;
    }

    //Fraktion 20 (Yakuza) Spawn
    if(IstSpielerInFraktion(playerid, 20))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1742.3733,-1860.1132,13.5791);
    SetPlayerFacingAngle(playerid,358.9747); //Kuck Richtung
    SetPlayerColor(playerid,Weiß);
    SendClientMessage(playerid,Rot,"Fraktion: {FFFFFF}Du bist bei der Yakuza gespawnt");
    return 1;
    }

    //Fraktion 21 (LCN) Spawn
    if(IstSpielerInFraktion(playerid, 21))
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1742.3733,-1860.1132,13.5791);
    SetPlayerFacingAngle(playerid,358.9747); //Kuck Richtung
    SetPlayerColor(playerid,Weiß);
    SendClientMessage(playerid,Rot,"Fraktion: {FFFFFF}Du bist bei der LCN gespawnt");
    return 1;
    }
    return 1;
    }


  • unnötig löst ja net sein problem


    B2T:
    Sind sie nochmal alles durch gegangen??


    Save ,
    Laden etc. ?

  • Er speichert den Skin.
    Wenn man sich normal ausloggt und wieder einloggt gibt es keine Fehler.


    Vor dem einloggen nach einem Restarts ist die Skin Id schon 0.


    Speichern:

    dini_IntSet(Spieler,"sSkin",GetPlayerSkin(playerid));


    Laden

    SetPlayerSkin(playerid,dini_Int(Spieler,"sSkin"));