Skin ID wird weder gespeichert, noch ausgelesen

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
  • Gute Abend,


    Ich benutze das Accountsystem nach der Anleitung von MrMonat, sprich dini Abspeicherung.


    Ich habe jetzt versucht bei meinem Skinsystem die Skini abzuspeichern, also so:


    dini_IntSet(Spielerdatei, "SkinID", GetPlayerSkin(playerid));


    Wenn der Spieler jetzt spawnt, soll er die augelesen Skin ID zugewiesen bekommen.
    Unter Onplayerspawn:


    SetPlayerSkin(playerid,dini_Int(Spielerdatei, "SkinID"));


    Aber wie ich schon in der Überschift geschrieben habe, wird die Skin ID nicht überschrieben und ausgelesen.
    Bespielswese habe ich in der .txt datei des Spielers die SkinID auf 170 geändert, aber Ingame spawnt der Spieler immer mit dem CJ Skin...


    Woran kann das liegen? Gibt es vllt. noch andere Möglichkeiten dem Spieler den gesicherten Skin zu setzen?


    Wäre super wenn mir jemand helfen könnte,


    MFG
    Marco

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

    Einmal editiert, zuletzt von [MM]Marco () aus folgendem Grund: Rechtschreibung

  • Ja, soweit ich denke schon, es läd ja alles andere auch aus, nur die skinid nicht...

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • Okay,


    hier ist der Stock register:
    stock Register(playerid,key[])
    {
    new Spielerdatei[200];
    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,COLOR_GRÜN1,"Du hast dich erfolgreich registriert.");
    SetPlayerScore(playerid,1);
    GivePlayerMoney(playerid,550);
    SetPVarInt(playerid,"loggedin",1);
    SetPVarInt(playerid, "ZeitSeitPD", dini_Int(Spielerdatei, "ZeitSeitPD"));
    SetPVarInt(playerid, "Respektpunkte",0),dini_IntSet(Spielerdatei, "Respektpunkte",0);
    SetPVarInt(playerid, "Respekt",8),dini_IntSet(Spielerdatei, "Respekt",8);
    SetPVarInt(playerid, "LevelMoney",1400),dini_IntSet(Spielerdatei, "LevelMoney",1400);
    SetPVarInt(playerid, "Bank", 0),dini_IntSet(Spielerdatei, "Bank", 0);
    SetPVarInt(playerid, "ZeitSeitPD", 0),dini_IntSet(Spielerdatei, "ZeitSeitPD", 0);
    SetPVarInt(playerid, "Geschlecht", 0),dini_IntSet(Spielerdatei,"Geschlecht",0);
    SetPVarInt(playerid, "Adminlevel", 0),dini_IntSet(Spielerdatei, "Adminlevel",0);
    dini_IntSet(Spielerdatei,"Fuehrerschein",0);
    dini_IntSet(Spielerdatei,"Motorradschein",0);
    dini_IntSet(Spielerdatei,"Flugschein",0);
    dini_IntSet(Spielerdatei,"Bootschein",0);
    dini_IntSet(Spielerdatei,"Waffenschein",0);
    dini_IntSet(Spielerdatei, "Job",0);
    dini_IntSet(Spielerdatei, "Fraktion",0);
    dini_IntSet(Spielerdatei, "Leader",0);
    dini_IntSet(Spielerdatei, "Rang",1);
    dini_IntSet(Spielerdatei, "Wanteds",0);
    dini_IntSet(Spielerdatei, "Jailtime",0);
    dini_IntSet(Spielerdatei, "Prisontime",0);
    dini_IntSet(Spielerdatei, "Gehalt",0);
    dini_IntSet(Spielerdatei, "Morde",0);
    dini_IntSet(Spielerdatei, "Tode",0);
    dini_IntSet(Spielerdatei, "Arbeitslosengeld",0);
    dini_IntSet(Spielerdatei, "Personalausweis",0);
    dini_IntSet(Spielerdatei, "HandyNummer",playerid + 1000 + random(5000));
    if(dini_Int(Spielerdatei,"Geschlecht")==0)
    {
    dini_IntSet(Spielerdatei, "SkinID",239);
    }
    if(dini_Int(Spielerdatei,"Geschlecht")==1)
    {
    dini_IntSet(Spielerdatei, "SkinID",77);
    }
    }
    TogglePlayerSpectating(playerid, 0);
    SetPlayerInterior(playerid, 0);
    ForceClassSelection(playerid);
    SetPlayerHealth(playerid, 50.0);

    return 1;
    }


    stock Loadaccount:


    stock LoadAccount(playerid)
    {
    new Spielerdatei[200];
    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"));
    SetPVarInt(playerid, "Bank", dini_Int(Spielerdatei, "Bank"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Leader",dini_Int(Spielerdatei,"Leader"));
    SetPVarInt(playerid,"Rang",dini_Int(Spielerdatei,"Rang"));
    SetPVarInt(playerid,"Job",dini_Int(Spielerdatei,"Job"));
    SetPVarInt(playerid, "ZeitSeitPD", dini_Int(Spielerdatei, "ZeitSeitPD"));
    SetPVarInt(playerid, "Respektpunkte", dini_Int(Spielerdatei, "Respektpunkte"));
    SetPVarInt(playerid, "Respekt", dini_Int(Spielerdatei, "Respekt"));
    SetPVarInt(playerid, "LevelMoney", dini_Int(Spielerdatei, "LevelMoney"));
    SetPVarInt(playerid,"Geschlecht",dini_Int(Spielerdatei,"Geschlecht"));
    SetPVarInt(playerid,"Fuehrerschein",dini_Int(Spielerdatei,"Fuehrerschein"));
    SetPVarInt(playerid,"Motorradschein",dini_Int(Spielerdatei,"Motorradschein"));
    SetPVarInt(playerid,"Flugschein",dini_Int(Spielerdatei,"Flugschein"));
    SetPVarInt(playerid,"Bootschein",dini_Int(Spielerdatei,"Bootschein"));
    SetPVarInt(playerid,"Waffenschein",dini_Int(Spielerdatei,"Waffenschein"));
    SetPVarInt(playerid,"Wanteds",dini_Int(Spielerdatei,"Wanteds"));
    SetPVarInt(playerid,"Jailtime",dini_Int(Spielerdatei,"Jailtime"));
    SetPVarInt(playerid,"Prisontime",dini_Int(Spielerdatei,"Prisontime"));
    SetPVarInt(playerid,"Gehalt",dini_Int(Spielerdatei,"Gehalt"));
    SetPlayerSkin(playerid, dini_Int(Spielerdatei, "SkinID"));//hier soll die skin id ausgelesen werden
    SetPVarInt(playerid,"Morde",dini_Int(Spielerdatei,"Morde"));
    SetPVarInt(playerid,"Tode",dini_Int(Spielerdatei,"Tode"));
    SetPVarInt(playerid,"Arbeitslosengeld",dini_Int(Spielerdatei,"Arbeitslosengeld"));
    SetPVarInt(playerid,"Personalausweis",dini_Int(Spielerdatei,"Personalausweis"));

    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    if(GetPVarInt(playerid,"timeban") > 0)
    {
    SendClientMessage(playerid,COLOR_ROT,"Du bist immer noch vom Server gebannt! Komm später wieder.");
    Kick(playerid);
    }
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,COLOR_ROT,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    Stock SpielerSpeichern:


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[200];
    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, "Bank", GetPVarInt(playerid,"Bank"));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Leader",GetPVarInt(playerid,"Leader"));
    dini_IntSet(Spielerdatei,"Rang",GetPVarInt(playerid,"Rang"));
    dini_IntSet(Spielerdatei,"Job",GetPVarInt(playerid,"Job"));
    dini_IntSet(Spielerdatei, "ZeitSeitPD", GetPVarInt(playerid,"ZeitSeitPD"));
    dini_IntSet(Spielerdatei, "Respektpunkte", GetPVarInt(playerid,"Respektpunkte"));
    dini_IntSet(Spielerdatei, "Respekt", GetPVarInt(playerid,"Respekt"));
    dini_IntSet(Spielerdatei, "LevelMoney", GetPVarInt(playerid,"LevelMoney"));
    dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));
    dini_IntSet(Spielerdatei,"Fuehrerschein", GetPVarInt(playerid,"Fuehrerschein"));
    dini_IntSet(Spielerdatei,"Motorradschein", GetPVarInt(playerid,"Motorradschein"));
    dini_IntSet(Spielerdatei,"Flugschein", GetPVarInt(playerid,"Flugschein"));
    dini_IntSet(Spielerdatei,"Bootschein", GetPVarInt(playerid,"Bootschein"));
    dini_IntSet(Spielerdatei,"Waffenschein", GetPVarInt(playerid,"Waffenschein"));
    dini_IntSet(Spielerdatei,"Wanteds", GetPVarInt(playerid,"Wanteds"));
    dini_IntSet(Spielerdatei,"Prisontime", GetPVarInt(playerid,"Prisontime"));
    dini_IntSet(Spielerdatei,"Jailtime", GetPVarInt(playerid,"Jailtime"));
    dini_IntSet(Spielerdatei,"Gehalt", GetPVarInt(playerid,"Gehalt"));
    dini_IntSet(Spielerdatei, "SkinID", GetPlayerSkin(playerid));//hier soll die skin id gespeichert werden
    dini_IntSet(Spielerdatei,"Morde", GetPVarInt(playerid,"Morde"));
    dini_IntSet(Spielerdatei,"Tode", GetPVarInt(playerid,"Tode"));
    dini_IntSet(Spielerdatei,"Arbeitslosengeld", GetPVarInt(playerid,"Arbeitslosengeld"));
    dini_IntSet(Spielerdatei,"Personalausweis", GetPVarInt(playerid,"Personalausweis"));


    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
    }
    return 1;
    }


    Und unter onplayerspawn habe ich:


    SetPlayerSkin(playerid,dini_Int(Spielerdatei, "SkinID"));

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco


  • SetPVarInt(playerid, "ZeitSeitPD", 0),dini_IntSet(Spielerdatei, "ZeitSeitPD", 0);
    SetPVarInt(playerid, "Geschlecht", 0),dini_IntSet(Spielerdatei,"Geschlecht",0);
    SetPVarInt(playerid, "Adminlevel", 0),dini_IntSet(Spielerdatei, "Adminlevel",0);


    Was macht der Beistrich da nach SetPVarInt()? Das sollte doch eigentlich einen Syntax Error geben.
    Kann es sein, das dadurch "Geschlecht" nicht gesetzt ist, und dann dadurch auch SkinID nicht gesetzt wird, da dies ja abhängig vom Geschlecht ist.


    #Brotfischbaron


    In schā'a llāh

  • also soll ich da nur setpvar oder dini setzten?

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • Okay,
    ich habe das geändert.
    Geschlecht steht in der Spielerdatei, ich habe aber das ganze vorsichtshalber unter stock register nochmals so abgespeichert:


    dini_IntSet(Spielerdatei, "SkinID",240);


    Wird aber immer noch der CJ Skin gesetzt ;(


    //EDIT:


    Ich habe das ganze jetzt noch einmal anders versucht:


    Ich eine neue .txt datei erstellet wo der skin für jeden spieler einzeln ausgelesen werden soll.


    So sieht das ganze aus:
    Bei der Registrierung wird dem Spieler der Skin gesetzt:
    stock CreateSkin(playerid)
    {


    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    new skindatei[64];
    format(skindatei,sizeof(skindatei),"/Skins/%s.txt",name);
    if(!fexist(skindatei)) // wenn diese Datei noch nicht existiert
    {
    dini_Create(skindatei); // dann erstellen wir sie
    dini_IntSet(skindatei,"Skin",249); // und füllen sie mit unseren Werten.
    }
    return 1;
    }


    und ausgelesen wird er so:
    Im stock register wird erstmal der stock create ausgelesen:
    CreateSkin(playerid);


    und bei onplayerspawn:
    Da das mit Setplayerskin(playerid, dini_aus der datei lesen); nicht funktioniert hat, habe ich es etwas aufwändiger probiert.


    if(dini_Int(skindatei,"skin")== 1) {SetPlayerSkin(playerid, 1);}
    if(dini_Int(skindatei,"skin")== 2) {SetPlayerSkin(playerid, 2);}
    if(dini_Int(skindatei,"skin")== 3) {SetPlayerSkin(playerid, 3);}
    if(dini_Int(skindatei,"skin")== 4) {SetPlayerSkin(playerid, 4);}
    if(dini_Int(skindatei,"skin")== 5) {SetPlayerSkin(playerid, 5);}
    if(dini_Int(skindatei,"skin")== 6) {SetPlayerSkin(playerid, 6);}
    if(dini_Int(skindatei,"skin")== 7) {SetPlayerSkin(playerid, 7);}
    if(dini_Int(skindatei,"skin")== 8) {SetPlayerSkin(playerid, 8);}
    if(dini_Int(skindatei,"skin")== 9) {SetPlayerSkin(playerid, 9);}
    if(dini_Int(skindatei,"skin")== 10) {SetPlayerSkin(playerid, 10);}
    if(dini_Int(skindatei,"skin")== 11) {SetPlayerSkin(playerid, 11);}
    if(dini_Int(skindatei,"skin")== 12) {SetPlayerSkin(playerid, 12);}
    if(dini_Int(skindatei,"skin")== 13) {SetPlayerSkin(playerid, 13);}
    if(dini_Int(skindatei,"skin")== 14) {SetPlayerSkin(playerid, 14);}
    if(dini_Int(skindatei,"skin")== 15) {SetPlayerSkin(playerid, 15);}
    if(dini_Int(skindatei,"skin")== 16) {SetPlayerSkin(playerid, 16);}
    if(dini_Int(skindatei,"skin")== 17) {SetPlayerSkin(playerid, 17);}
    if(dini_Int(skindatei,"skin")== 18) {SetPlayerSkin(playerid, 18);}
    if(dini_Int(skindatei,"skin")== 19) {SetPlayerSkin(playerid, 19);}
    if(dini_Int(skindatei,"skin")== 20) {SetPlayerSkin(playerid, 20);}
    if(dini_Int(skindatei,"skin")== 21) {SetPlayerSkin(playerid, 21);}
    if(dini_Int(skindatei,"skin")== 22) {SetPlayerSkin(playerid, 22);}
    if(dini_Int(skindatei,"skin")== 23) {SetPlayerSkin(playerid, 23);}


    Trotzdem kein erfolg...

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

    Einmal editiert, zuletzt von [MM]Marco ()

  • Speicher es nochmal in einer Variable zwischen und setze den Skin bei OnPlayerSpawn!

  • Speicher es nochmal in einer Variable zwischen und setze den Skin bei OnPlayerSpawn!


    Kannst du mir das kurz genauer erläutern? :)

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco