Skin abspeichern funtz net!

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 Brotfische,
    ich bin gerade dabei ein Selfmade Reallife Script zu scripten.
    Aber wenn ich den Skin abspeichern möchte kommt immer wieder der Spawn Skin!


    Bei dem stock Saveplayer (SpielerSpeichern) habe ich:
    dini_IntSet(Spielerdatei, "SkinID", GetPlayerSkin(playerid));


    Und in Dem stock LoadPlayer (SpielerLaden) habe ich:
    SetPlayerSkin(playerid, dini_Int(Spielerdatei, "SkinID"));


    So der zeigt mir den Skin an in den Scriptfiles, aber wenn ich mich wieder einlogge kommt wieder der Spawn Skin von AddPlayerClass:
    AddPlayerClass(19,1220.1038,-1813.6754,16.5938,208.6152,0,0,0,0,0,0);


    Also erhalte ich wieder Skin ID 19!


    Wie kann ich machen das ich mein Skin behalte, wenn ich meinen Skin mit /setskin auf ID 20 Setze?
    Zuerst habe ich auch den Skin 20 aber nach dem Relogg habe ich wieder den Skin 19!


    Muss ich AddPlayerClass rauslöchen oder irgendwas anderes? Bitte um Hilfe danke!


    Achtung: In meinen Script überspingt er die Skinauswahl!

    Warum fällt immer die Wand um, wenn ein Mantafahrer dagegen fährt? - Der Klügere gibt nach!


  • ocmd:setskin(playerid, params[])
    {
    if(isPlayerAnAdmin(playerid,5)){
    }


    new pID,skinid;
    if(sscanf(params,"ud",pID,skinid)){
    return SendClientMessage(playerid,COLOR_WHITE,"USAGE: /setskin [playerid] [0 - 299]*");
    }
    if(!IsPlayerConnected(pID)){
    return SendClientMessage(playerid,ROT,"Spieler ID nicht gefunden");
    }
    if(skinid < 0){
    return SendClientMessage(playerid,COLOR_WHITE,"Diese Skin ID gibt es nicht");
    }
    if(skinid > 299){
    return SendClientMessage(playerid,COLOR_WHITE,"Diese Skin ID gibt es nicht");
    }
    new string[128],string2[128],aname[MAX_PLAYER_NAME],name[MAX_PLAYER_NAME];
    SetPlayerSkin(pID,skinid);
    GetPlayerName(playerid,aname,sizeof(aname));
    GetPlayerName(pID,name,sizeof(name));
    format(string,sizeof(string),"Du hast den Skin von %s in folgende SkinID %d gewechselt.",name,skinid);
    format(string2,sizeof(string2),"Admin %s hat deinen Skin zur SkinID %d gewechselt.",aname,skinid);
    SendClientMessage(playerid,COLOR_WHITE,string);
    SendClientMessage(pID,COLOR_WHITE,string2);
    return 1;
    }


    Mit ocmd,
    und das liegt auch wenn ich relogge kommt wieder der addplayerclass skin!

    Warum fällt immer die Wand um, wenn ein Mantafahrer dagegen fährt? - Der Klügere gibt nach!


  • Der Befehl selbst hat damit garnichts zu tun.
    Du musst beim Spawn den gespeicherten Skin zuweisen lassen.


    Im Moment speicherst du den Skin, weist ihn aber nicht wieder dem Spieler zu.
    Sprich:
    SetPlayerSkin(playerid,pInfo[playerid][Skin]);



    BTW:
    Warum so viele Zeilen? Es geht doch auch kürzer.
    COMMAND:setskin(playerid,params[])
    {
    new pID, sID, str[128];
    if(sscanf(params, "ud",pID,sID))return SendClientMessage(playerid,0xC8C8C8FF,"/setskin [ID/Name] [SkinID]");
    if (!IsPlayerConnected(pID))return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler ist nicht online!");
    if(sID < 1 || sID > 299) return SendClientMessage(playerid,0xC8C8C8FF, "Die SkinID muss zwischen 1 und 299 liegen!");
    if(pInfo[playerid][AdminLevel] > 2)
    {
    GetPlayerName(playerid,aname,sizeof(aname));
    GetPlayerName(pID,name,sizeof(name));
    format(string,sizeof(string),"Du hast den Skin von %s in folgende SkinID %d gewechselt.",name,skinid);
    format(string2,sizeof(string2),"Admin %s hat deinen Skin zur SkinID %d gewechselt.",aname,skinid);
    SendClientMessage(playerid,COLOR_WHITE,string);
    SendClientMessage(pID,COLOR_WHITE,string2);
    SetPlayerSkin(pID,sID);
    }
    else return SendClientMessage(playerid, 0xC8C8C8FF, "Dein Adminrank reicht nicht aus!");
    return 1;
    }

  • Ich habe das jetzt so einfügt:
    public OnPlayerSpawn(playerid)
    {
    SetPlayerSkin(playerid,pInfo[playerid][Skin]);
    return SpawnPlayer(playerid);

    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{}
    case 1:{SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);}
    case 2:{SetPlayerPos(playerid,mafiaspawn);GivePlayerWeapon(playerid,24,100);}
    case 3:{SetPlayerPos(playerid,medicspawn);SetPlayerColor(playerid,ROT);}
    }
    return 1;
    }


    und da kommt das:


    Warum fällt immer die Wand um, wenn ein Mantafahrer dagegen fährt? - Der Klügere gibt nach!


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • @ Dixon wenn ich ich das in OnPlayerRequestClass einfüge kommt folgener Error



    @ Marci Ich editire das Tutorial Script von MrMonatTutorials! Klick

    Warum fällt immer die Wand um, wenn ein Mantafahrer dagegen fährt? - Der Klügere gibt nach!