Skin Problem

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 Tag,


    ich habe versucht beim Registrieren einen Skin zu setzen und einen Ingame Befehl zum setzen des Skins (/setskin) aber das Problem ist der Skin bleibt nie..


    d.h wenn man reloggt dann ändert er wieder auf den Skin von AddPlayerClass. Aber in AddPlayerClass kann ich ja nur einen Skin einsetzen.


    Wir stelle ich das an das man den Skin wenn er gewechselt wurde gespeichert wird und beim einloggen geladen wird?


    Alles läuft über das Speichersystem DINI.


    Mein Register Stock:


    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,COLOR_DUNKELGRÜN,"Erfolgreich registriert.");
    SetPlayerScore(playerid,0);
    SetPlayerSkin(playerid,230);
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    Der Load Account Stock:


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,COLOR_KNALLROT,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    Ist ein Register und Login System von MrMonatTut. Ich finde es einfach und ziemlich gut, aber das mit der Skinsetzung / Speicherung habe ich nicht so kapiert.



    Der /setskin Befehl:


    ocmd:setskin(playerid,params[])
    {
    new skinID,pID;
    if(!IsPlayerAnAdmin(playerid,4))return SendClientMessage(playerid,COLOR_KNALLROT,"Du bist kein Administrator / Administratorlevel zu niedrig!");
    if(sscanf(params,"ui",pID,skinID))return SendClientMessage(playerid,COLOR_GRAU,"SYNTAX: /setskin [PlayerID] [SkinID]");
    if(skinID<0||skinID>299)return SendClientMessage(playerid,COLOR_KNALLROT,"Ungültige SkinID! (SkinID's 0-299)");
    SetPlayerSkin(pID,skinID);
    SpielerSpeichern(pID);
    return 1;
    }


    Der SaveStock:





    stock SpielerSpeichern(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,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    }
    return 1;
    }


    Sorry für die verschobenen Sachen im PWN Quelltext, das klappt nicht immer so mit der PWN Funktion :thumbdown: :huh:


    Ich freue mich über Hilfen.


    MfG.
    Paradoxis

  • Also ich kenne und kann es nur so..






    public OnPlayerSpawn(playerid)
    {
    new Spielerdatei[64];
    if(IsPlayerNPC(playerid))return 1;
    SetCameraBehindPlayer(playerid);
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
    return 1;
    }



    PWN Quellcode Funktion will net so :) setzt immer alles in eine Zeile..... :huh: