Gespeicherten Skin laden

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,
    ich habe in meinem Script eingebaut, das der Skin beim Verlassen des Servers in der Userdatei gespeichert werden soll. Das funktioniert soweit auch! Jedoch lädt er den Skin nicht.


    Speichern:
    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,"Adminlevel",Spielerinfo[playerid][Adminlevel]);
    dini_IntSet(Spielerdatei,"Fraktion",Spielerinfo[playerid][Fraktion]);
    dini_IntSet(Spielerdatei,"Leader",Spielerinfo[playerid][Leader]);
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    SpielerSpeichern(playerid);
    ResetVariablen(playerid);
    return 1;
    }


    Laden:
    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    LoadAccount(playerid);
    SendClientMessage(playerid,COLOR_WHITE,"Du hast dich erfolgreich eingeloggt!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Das Passwort war falsch!");
    ShowPlayerDialog(playerid, DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Gebe bitte hier dein Passwort ein.","Login","Abbrechen");
    return 1;
    }
    }


    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"));
    Spielerinfo[playerid][Adminlevel]=dini_Int(Spielerdatei, "Adminlevel");
    Spielerinfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
    Spielerinfo[playerid][Leader]=dini_Int(Spielerdatei,"Leader");
    return 1;
    }


    Jedoch spawne ich immer noch mit dem CJ Skin, obwohl in der Userdatei "Skin=283" steht.

    20€ geschenkt - bei Fragen gerne PN an mich


    Mehr über reCyclix
    reCyclix - more than recycling
    reyCyclix ist ein polnisches Recyclingunternehmen, welches jedem die Möglichkeit bietet, sich an ihrem Geschäftsmodell gewinnbringend zu beteiligen. Normalerweise passiert das, in dem man eine beliebige Summe in Kunststoffmüll investiert, allerdings schenkt reCyclix zur Zeit noch jedem neuem Nutzer 20€, die zur Investition genutzt werden können.

    Einmal editiert, zuletzt von Key ()

  • Jetzt bekomm ich ein Warning:


    Code
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : warning 213: tag mismatch



    Zeile:
    SetPlayerSkin(playerid, Skin);



    //edit: Eigentlich müsste es doch auch reichen, wenn ich bei LoadAccount
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
    habe. Oder? Aber leider funktioniert das nicht :S

    20€ geschenkt - bei Fragen gerne PN an mich


    Mehr über reCyclix
    reCyclix - more than recycling
    reyCyclix ist ein polnisches Recyclingunternehmen, welches jedem die Möglichkeit bietet, sich an ihrem Geschäftsmodell gewinnbringend zu beteiligen. Normalerweise passiert das, in dem man eine beliebige Summe in Kunststoffmüll investiert, allerdings schenkt reCyclix zur Zeit noch jedem neuem Nutzer 20€, die zur Investition genutzt werden können.

  • Geht auch nicht.
    Vielleicht liegt es daran, dass im Moment der Skin nachdem ich mich eingeloggt habe geladen wird, und danach muss ich ja noch in diesem "<< >> Spawn" Menu Spawn klicken, und da wird mir dann ja der CJ Skin gegeben. Aber wie kann ich dieses "<< >> Spawn" Menu entfernen?

    20€ geschenkt - bei Fragen gerne PN an mich


    Mehr über reCyclix
    reCyclix - more than recycling
    reyCyclix ist ein polnisches Recyclingunternehmen, welches jedem die Möglichkeit bietet, sich an ihrem Geschäftsmodell gewinnbringend zu beteiligen. Normalerweise passiert das, in dem man eine beliebige Summe in Kunststoffmüll investiert, allerdings schenkt reCyclix zur Zeit noch jedem neuem Nutzer 20€, die zur Investition genutzt werden können.

  • Nein dieses Spawn Menü nennt sich OnPlayerRequestClass , dass kann man nicht abschalten .
    Normalerweise wenn du SetPlayerSkin(playerid,Spielerdatei[playerid][Skin]); bei OnPlayerSpawn gemacht hast müsste er nach dem Spawnen den Skin ändern .

  • Normalerweise, wenn ich keine Errors hätte.


    Die Errors:


    Code
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : error 017: undefined symbol "Spielerdatei"
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : warning 215: expression has no effect
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : error 001: expected token: ";", but found "]"
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : error 029: invalid expression, assumed zero
    D:\Downloads\samp03bsvr_R2_win32 (2)\gamemodes\Selfmade.pwn(102) : fatal error 107: too many error messages on one line



    Die Zeile:
    SetPlayerSkin(playerid,Spielerdatei[playerid][Skin]);

    20€ geschenkt - bei Fragen gerne PN an mich


    Mehr über reCyclix
    reCyclix - more than recycling
    reyCyclix ist ein polnisches Recyclingunternehmen, welches jedem die Möglichkeit bietet, sich an ihrem Geschäftsmodell gewinnbringend zu beteiligen. Normalerweise passiert das, in dem man eine beliebige Summe in Kunststoffmüll investiert, allerdings schenkt reCyclix zur Zeit noch jedem neuem Nutzer 20€, die zur Investition genutzt werden können.

  • SetPlayerSkin(playerid,SpielerInfo[playerid][Skin]);
    Sollte so eigentlich Funktionieren.

  • Ich bekomm zwar keine Errors mehr, funktionieren tut es trotzdem nicht. :S

    20€ geschenkt - bei Fragen gerne PN an mich


    Mehr über reCyclix
    reCyclix - more than recycling
    reyCyclix ist ein polnisches Recyclingunternehmen, welches jedem die Möglichkeit bietet, sich an ihrem Geschäftsmodell gewinnbringend zu beteiligen. Normalerweise passiert das, in dem man eine beliebige Summe in Kunststoffmüll investiert, allerdings schenkt reCyclix zur Zeit noch jedem neuem Nutzer 20€, die zur Investition genutzt werden können.