Classid speichern?

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 SA-MP Community,
    ich schreibe im Moment an einem Gang War Server und wollte fragen, ob man die, beim spawnen ausgewählte classid, in einer User-Datei speichern kann,
    damit wenn man beim nächsten mal connectet die Klasse behält.

  • Im Callback OnPlayerRequestClass lässt du die Classid in nem Var ich würde nen PVar nehmen speichern.
    Und lässt sie dann in deiner Datei übertragen. Hast du schon ein Login und Register System ?
    Wenn ja poste uns mal den Code wo die Datei geupdated wird.

    RFT

  • Hier ist der Code:
    stock SpielerSpeichern(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler, sizeof(Spieler),"/Spieler/%s.txt",Sname);
    {
    dini_IntSet(Spieler,"AdminLevel",sSpieler[playerid][Adminlevel]);
    dini_IntSet(Spieler,"Gang",sSpieler[playerid][Gang]);
    }
    return 1;
    }


    Das "Gang" sollte dann die Classid sein

  • Unter OnPlayerRequestClass:




    SetPVarInt(playerid, "class", classid);



    Und den Code:



    stock SpielerSpeichern(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler, sizeof(Spieler),"/Spieler/%s.txt",Sname);
    {
    dini_IntSet(Spieler,"AdminLevel",sSpieler[playerid][Adminlevel]);
    dini_IntSet(Spieler,"Gang",sSpieler[playerid][Gang]);
    }
    return 1;
    }


    gegen den hier austauschen:



    stock SpielerSpeichern(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler, sizeof(Spieler),"/Spieler/%s.txt",Sname);
    {
    dini_IntSet(Spieler,"AdminLevel",sSpieler[playerid][Adminlevel]);
    dini_IntSet(Spieler,"Gang",sSpieler[playerid][Gang]);
    dini_IntSet(Spieler,"Class",GetPVarInt(playerid, "class"));
    }
    return 1;
    }


    Dann halt einfach wieder auslesen lassen.

    RFT


  • Danke, habe aber das ganze System nochmal überarbeitet und es leichter gemacht.