Skinauswahl

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
  • Ich hätte mal eine Frage zur Skinauswahl. Und zwar habe ich es schon geschafft, dass wenn der Player neu ist, er einen Skin aussuchen muss und wenn ein Spieler schon registriert ist, er einfach mit dem damals ausgewählten Skin gespawnt wird. Wenn jetzt aber ein neuer Spieler auf dem Server ist, der auch schon einen Skin ausgewählt und sich aber noch nicht ausgeloggt hat, der Skin nicht gespeichert wird, wenn z.B. ein Serverrestart gemacht wird. Dann muss er nochmals einen Skin auswählen. Das will ich aber nicht.
    Also meine Frage:
    Wie kann ich ingame den Skin in der Variable "SkinID" speichern? (dini_int und so) Habe es zurzeit beim "disconnect".


    Mfg Maksimo007

  • Ehm..., wie meinste das genau? Hab halt 2 stocks mit LoadAccount und SaveAccount und da jeweils SetPVarInt(playerid,"SkinID")...usw.
    Würde halt gerne haben, dass er z.B. den Skin gleich nach dem registrieren bzw. nach der Skinauswahl speichert.

  • public OnPlayerRequestClass(playerid, classid)
    {
    if(GetPVarInt(playerid,"SkinID")==0)
    {
    SetPlayerPos(playerid,1480.8375,-1777.7450,13.5469);
    SetPlayerCameraPos(playerid,1480.8759,-1775.3497,13.5469);
    SetPlayerCameraLookAt(playerid,1480.8593,-1776.4098,13.5469);
    SetPlayerFacingAngle(playerid,2.1919);
    }
    else
    {
    SetSpawnInfo(playerid,GetPVarInt(playerid,"Fraktion"),GetPVarInt(playerid,"SkinID"),1480.8375,-1777.7450,13.5469,2.1919,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    }
    return 1;
    }



    public OnPlayerDisconnect(playerid, reason)
    {
    SetPVarInt(playerid,"SkinID",GetPlayerSkin(playerid));
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SavePlayer(playerid);
    }
    return 1;
    }


    stock SavePlayer(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,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Banned",GetPVarInt(playerid,"Banned"));
    dini_IntSet(Spielerdatei,"LastVehicle",GetPVarInt(playerid,"LastVehicle"));
    dini_IntSet(Spielerdatei,"Autoschein",GetPVarInt(playerid,"Autoschein"));
    dini_IntSet(Spielerdatei,"Bikeschein",GetPVarInt(playerid,"Bikeschein"));
    dini_IntSet(Spielerdatei,"LKWschein",GetPVarInt(playerid,"LKWschein"));
    dini_IntSet(Spielerdatei,"Bootschein",GetPVarInt(playerid,"Bootschein"));
    dini_IntSet(Spielerdatei,"Flugschein",GetPVarInt(playerid,"Flugschein"));
    dini_IntSet(Spielerdatei,"Helischein",GetPVarInt(playerid,"Helischein"));
    dini_IntSet(Spielerdatei,"SkinID",GetPVarInt(playerid,"SkinID"));
    dini_IntSet(Spielerdatei,"Fraktionslevel",GetPVarInt(playerid,"Fraktionslevel"));
    }
    return 1;
    }
    Also ich hab das Problem, dass "SkinID" nicht gespeichert wird, wenn der Server restartet wird, nur bei "disconnect".
    Edit: Habs gelöst, war ein kleiner Fehler in "SavePlayer"... xD

    4 Mal editiert, zuletzt von Maksimo007 ()