Skin speichern und laden

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 ihr lieben ich brauche erneut eure Hilfe ich möchte gerne Skin speichern und laden nur weis ich nicht wie das foktonirt habe ein par tuts gesehen aber werde da nicht schlau raus vilicht körntet ihr mir ein tut posten oder mir das machen wäre ser dankbar

  • stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    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,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SetPVarInt(playerid,"Führerschein",dini_Int(Spielerdatei,"Führerschein"));
    SetPVarInt(playerid,"Skin",dini_Int(Spielerdatei,"Skin"));
    SetPlayerWantedLevel(playerid, dini_Int(Spielerdatei,"WantedLevel"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,Rot,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    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,"Führerschein",GetPVarInt(playerid,"Führerschein"));
    dini_IntSet(Spielerdatei,"WantedLevel",GetPlayerWantedLevel(playerid));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    }
    return 1;
    }


    Bei OnPlayerSpawn:
    SetPlayerSkin(playerid, GetPVarInt(playerid,"Skin"));

  • Ja, kannst du schon machen.
    Du mappst dir einen Laden hin, da setzt du einen Checkpoint oder ein Pickup in, wenn man in das rein läuft, dann öffnet sich das Menü (zum Beispiel das aus dem ersten (oder zweiten) Link den ich dir gegeben habe. So könnte ich mir das vorstellen.

  • #include <mSelection>


    Unter den Includes:
    new skinlist = mS_INVALID_LISTID;


    OnGameModeInit:
    skinlist = LoadModelSelectionMenu("skins.txt");
    (Die skins.txt findest du hier: http://gta-sa-mp.de/stuff/mSelection/skins.txt)


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == skinChangePickup)
    {
    ShowModelSelectionMenu(playerid, skinlist, "Select Skin");
    return 1;
    }
    return 0;
    }


    public OnPlayerModelSelection(playerid, response, listid, modelid)
    {
    if(listid == skinlist)
    {
    if(response)
    {
    SendClientMessage(playerid, 0xFF0000FF, "Skin Changed");
    SetPlayerSkin(playerid, modelid);
    //Geld hier abziehen.
    }
    else SendClientMessage(playerid, 0xFF0000FF, "Canceled skin selection");
    return 1;
    }
    return 1;
    }


    Ist in etwa der Code vom Beispiel.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Bekomme die errors hir ist das pickup 215.6585,-159.1494,1000.5306




    C:\Users\david\Desktop\Blue-Mix-Reallife Sever\gamemodes\Neu.pwn(557) : error 021: symbol already defined: "OnPlayerPickUpPickup"
    C:\Users\david\Desktop\Blue-Mix-Reallife Sever\gamemodes\Neu.pwn(558) : error 017: undefined symbol "skinChangePickup"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

    Einmal editiert, zuletzt von davidlg01 ()

  • C:\Users\david\Desktop\Blue-Mix-Reallife Sever\gamemodes\Neu.pwn(417) : error 017: undefined symbol "skinChangePickup"
    C:\Users\david\Desktop\Blue-Mix-Reallife Sever\gamemodes\Neu.pwn(49) : warning 204: symbol is assigned a value that is never used: "pickup"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.



    public OnPlayerPickUpPickup(playerid, pickupid)//415
    {
    if(pickupid == skinChangePickup)//417
    {
    ShowModelSelectionMenu(playerid, skinlist, "Select Skin");//419
    return 1;
    }


    return 1;
    }





    public OnGameModeInit()
    {
    DisableInteriorEnterExits();
    SetGameModeText("Garmen Reallife");
    skinlist = LoadModelSelectionMenu("skins.txt");
    pickup = CreatePickup(1318,2,215.6585,-159.1494,1000.5306,-0);


    kann ich einfach die id des pickup nehmen oder muss ich das erstellen

    2 Mal editiert, zuletzt von davidlg01 ()

  • Dann schreibe das Speichern so:
    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,"Führerschein",GetPVarInt(playerid,"Führerschein"));
    dini_IntSet(Spielerdatei,"WantedLevel",GetPlayerWantedLevel(playerid));
    dini_IntSet(Spielerdatei,"Skin",GetPVarInt(playerid,"Skin"));
    }
    return 1;
    }


    Und bei OnPlayerModelSelection fügst du nach SetPlayerSkin das ein:
    SetPVarInt(playerid,"Skin",modelid);