Skin, speichern&auslesen.

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
  • Guten Morgen,


    Habe kleines Problem.
    Wen sich jemand bei mir registriert bekommt er automatisch die Skin ID 2 gespeichert. Jedoch wird beim spawnen die Skin ID 0 gesetzt.
    Woran kann es liegen?


    Beim registrieren:
    SetPlayerSkin(playerid,2);


    Beim laden:
    SetPVarInt(playerid,"Skin",dini_Int(Spielerdatei,"Skin"));


    Beim speichern:
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));


    Bei OnePlayerRequestClass:
    AddPlayerClass(2,2179.9060,1115.9996,26.7031,63.5277,0,0,0,0,0,0);
    SetSpawnInfo(playerid,0,2,2179.9060,1115.9996,26.7031,63.5277,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    return 1;



    System basiert auf dini.

    Mit freundlichen Grüßen


    Da Shogunz

  • AddPlayerClass(2,2179.9060,1115.9996,26.7031,63.5277,0,0,0,0,0,0);


    Hier setzt
    Du den Skin auf 2??


    Ps: ich würde dir empfehlen GetPlayerSkin durch GetPvar zu ersetzen. Und rein mit Zahlen zu arbeiten. Dann kannst du auch fskins und mehr skins machen.
    Weil sonst speichert er auch skins ab unter dem normalen Skin, wenn er beispielsweise als Cop in den Dienst geht, aber nur so
    Ein Vorschlag :)


    Oh Gott tut mir leid ;D falsch gelesen.
    Es
    Liegt dadran, dass du den falsch lädst.
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));


    Er setzt ja nur den Wert beim
    Speichern rein aber setzt Zahl nicht als Skin
    Sondern als normalen Wert verstehst du wie ich es meine?

    Projektleiter

    Cleared to Land ist in der Script Werkstatt ;)


    Einmal editiert, zuletzt von Vanillewilly ()

  • stock Register(playerid,key[]){ new Spielerdatei[64]; new name[MAX_PLAYER_NAME]; GetPlayerName(playerid,name,sizeof(name)); format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name); dini_Create(Spielerdatei); dini_Set(Spielerdatei,"Passwort",key); SendClientMessage(playerid,BLAU,"Info: Erfolgreich registriert!"); dini_IntSet(Spielerdatei,"Level",0); SetPlayerScore(playerid,0); SetPlayerSkin(playerid,2); SetPVarInt(playerid,"Loggedin",1); return 1;}


    /e Irgentwie will der Code nicht..


    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    SendClientMessage(playerid,BLAU,"Info: Erfolgreich registriert!");
    dini_IntSet(Spielerdatei,"Level",0);
    SetPlayerScore(playerid,0);
    SetPlayerSkin(playerid,2);
    SetPVarInt(playerid,"Loggedin",1);
    return 1;
    }

    Mit freundlichen Grüßen


    Da Shogunz

  • SetPlayerSkin(playerid,2);
    Lass den beim "OnPlayerSpawn" Public einfach mal "reinwürgen" und schau ob du den Skin 2 erhällst.
    Falls es klappt, kannste es mit einer einfachen Var fixxen ;]


    Gruss: Sonic

    I didn't hit you. I high fived your face.

  • oder du versuchts es anders als mit pvar beim laden
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));

  • Nunja, auf meinem Scrilt siehts so aus:

    public OnPlayerSpawn(playerid)
    {
    //...
    SetPlayerSkin(playerid, Spieler[playerid][pSkin]);
    //...
    return 1;
    }
    //Dazu habe ich auch eine eigene Funktion erstellt, um Bugs o.ä mit der Abspeicherung zu erhalten, welche ich ebenfalls nutze.
    stock SetPlayerSkinEx(playerid, skinid)
    {
    Spieler[playerid][pSkin] = skinid;
    SetPlayerSkin(playerid, skinid);
    return 1;
    }


    // Wenn du nun abspeicherst, musst du die Variable abspeichern, nicht die PVar!!
    Wenn du spawnst, SetPlayerSkin nehmen, und wenn du den Skin irgendwo ändern lässt, z.B bei /makeleader oderso die SetPlayerSkinEx Funktion. ;)

  • Speichern:
    dini_IntSet(Spielerdatei, "Skin", GetPlayerSkin(playerid));


    Laden:
    SetPVarInt(playerid,"Skin",dini_Int(Spielerdatei,"Skin"));


    OnPlayerSpawn (falls nötig):
    SetPlayerSkin(playerid,GetPVarInt(playerid,"Skin"));

    [tabmenu][tab=Signatur,'http://bit.ly/1i4RY3v']

    Wie poste ich richtig?
    Nachdem du Google, die FAQ und die Suchfunktion erfolgreich ignoriert hast, erstellst du 2 bis 5 neue Themen in den falschen Unterforen mit lustigem Titel,
    zu vielen Ausrufezeichen und undeutlichem Text, unter dem sich jeder etwas anders vorstellen kann.



    Mr.Dubstep | GFX | Scripting | Hackerplace
    If Mr.DubStep don't have it, you don't need it.

    [tab=Spieler bei,'http://bit.ly/1db2jaf'][subtab=Hackerplace,'http://bit.ly/1bswN2T']


    Welch wunderschöner Hack ist heute vollzogen worden, könntest Du mir es denn sagen? Ein wunderschönes Browsergame, auch für Kleinigkeiten unterwegs. Erschaffe deinen eigenen Computer, nutze ihn um anderen das Geld zu rauben, schließe dich einem Clan an oder gründe selbst einen. Bleibe allein oder mit vielen Freunden.

  • Habe ich schon drin, leider kein Effekt..
    Kann es evlt sein das ich...
    SetPlayerSkin(playerid,2); GetPlayerName(playerid,Spielerdatei,MAX_PLAYER_NAME); format(Spielerdatei,30,"/Accounts/%s.txt",Spielerdatei); SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));


    Diese hier under "OnPlayerSpawn(playerid)" habe?


    /e Ich verstehe nicht wieso die "pwn" Funktion den Code ohne Zeilenbruch anzeigt.

    Mit freundlichen Grüßen


    Da Shogunz

  • Falls du noch kein Fraksystem hast packst du einfach AddPlayerClass in OnPlayerSpawn, falls du ein Fraksystem mit switch & case hast machste einfach unter das letzte Case ein default:
    {
    AddPlayerClass(PIPAPO);
    }

    [tabmenu][tab=Signatur,'http://bit.ly/1i4RY3v']

    Wie poste ich richtig?
    Nachdem du Google, die FAQ und die Suchfunktion erfolgreich ignoriert hast, erstellst du 2 bis 5 neue Themen in den falschen Unterforen mit lustigem Titel,
    zu vielen Ausrufezeichen und undeutlichem Text, unter dem sich jeder etwas anders vorstellen kann.



    Mr.Dubstep | GFX | Scripting | Hackerplace
    If Mr.DubStep don't have it, you don't need it.

    [tab=Spieler bei,'http://bit.ly/1db2jaf'][subtab=Hackerplace,'http://bit.ly/1bswN2T']


    Welch wunderschöner Hack ist heute vollzogen worden, könntest Du mir es denn sagen? Ein wunderschönes Browsergame, auch für Kleinigkeiten unterwegs. Erschaffe deinen eigenen Computer, nutze ihn um anderen das Geld zu rauben, schließe dich einem Clan an oder gründe selbst einen. Bleibe allein oder mit vielen Freunden.