Frage zu /Makeleader || Eure Meinung zur Funktion

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 Zusammen.


    Ich habe, heute mal Den Befehl /Makelader angefangen & ihn eben Beendet. Habe dafür 2-3 Minuten gebraucht.


    Jetz ist nur Meine frage, das Wenn ich z.b Ingame /Makeleader [Name] [FraktionId] & danach Disconnecte.


    Ob diese Dinge, dann in /Account/%s. = Fraktion 1 = FraktionRang = 1 Gespeichert wird.


    Der Befehl:

    ocmd:makeleader(playerid, params[])
    {
    new pID, string[250];
    if(pInfo[playerid][Adminlevel] == 1339)return SendClientMessage(playerid, 0xFF0000FF, "Dir fehlen die notwendigen Rechte!");
    if(sscanf(params, "ii", pID))return SendClientMessage(playerid, 0xFF0000FF, "Der Befehl lautet: /makeleader [Spielerid] [Fraktionsid]");
    format(string, sizeof (string), "Der Admin %s möchte dich in die Fraktion %d einladen.\n Nimmst du die Leaderschaft an?", SpielerName(playerid), pID);
    ShowPlayerDialog(pID, DIALOG_MAKELEADER, DIALOG_STYLE_MSGBOX, "Leaderinvite", string, "Ja", "Nein");
    if(makeleaderstatus == false)
    {
    SendClientMessage(playerid, 0xFF0000FF, "Der Spieler hat die Leaderschaft abgelehnt!");
    SendClientMessage(pID, 0xFF0000FF, "Du hast die Leaderschaft abgelehnt!");
    }
    else if(makeleaderstatus == true)
    {
    SendClientMessage(playerid, 0x99FF00FF, "Der Spieler hat die Leaderschaft angenommen!");
    SendClientMessage(pID, 0x99FF00FF, "Du hast die Leaderschaft angenommen!");
    SetPVarInt(Fraktinfo[playerid][Fraktion], "Fraktion", pID);
    SetPVarInt(Fraktinfo[playerid][FraktionRang], "Fraktionsrang", 6);
    }
    return 1;
    }


    Der Enum

    enum Frakt
    {
    Fraktion,
    FraktonRang
    }
    new Fraktinfo[playerid][Frakt];


    Und hier werden die Dinge Geladen & Gespeichert:
    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"));
    Fraktinfo[playerid][Fraktion] = dini_Int(Spielerdatei,"Adminlevel");
    SetPVarInt(playerid,"Wanted",dini_Int(Spielerdatei,"Wanted"));
    pInfo[playerid][Adminlevel] = dini_Int(Spielerdatei,"Adminlevel");
    SetPVarInt(playerid,"loggedin",1);
    SetPVarInt(playerid,"PayDay",dini_Int(Spielerdatei,"PayDay"));//Er soll aus der Spielerdatei den PayDay einstellen bzw. die Zahl vergeben (SetPVarInt). Übrigens bedeutet das Int=Integer. Das heißt Zahl. Also wenn ihr was mit Int macht, dann wird es als Zahl gespeichert. Also: SetPVarInt(playerid,"PayDay" heißt das er die Payday Variable einstellen (Set) soll. Danach steht wo er diese Information hernehmen kann, also aus der Spielerdatei, Zeile PayDay.
    SetPVarInt(playerid,"Monate",dini_Int(Spielerdatei,"Monate"));//hier das selbe nur mit den monaten
    Fraktinfo[playerid][Fraktion] = dini_Int(Spielerdatei,"Fraktion");
    Fraktinfo[playerid][FraktionRang] = dini_Int(Spielerdatei,"FraktionRang");
    pInfo[playerid][SpielerPosition] = dini_Int(Spielerdatei,"SpielerPosition");
    pInfo[playerid][Bank] = dini_Int(Spielerdatei,"Bank");
    return 1;
    }


    Speichern:

    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,"Adminlevel",pInfo[playerid][Adminlevel]);
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Wanted",GetPlayerWantedLevel(playerid));
    dini_IntSet(Spielerdatei,"PayDay",GetPVarInt(playerid,"PayDay")); //dini_IntSet bedeutet das er eine Zahl in die Name.txd datei eintragen soll, in der Zeile PayDay, GetPVar, damit gibt er die Zahl die er dann speichert.
    dini_IntSet(Spielerdatei,"Monate",GetPVarInt(playerid,"Monate"));//hier das selbe für monate
    dini_IntSet(Spielerdatei,"Fraktion",Fraktinfo[playerid][Fraktion]);
    dini_IntSet(Spielerdatei,"FraktionRang",Fraktinfo[playerid][FraktionRang]);
    dini_IntSet(Spielerdatei,"SpielerPosition", pInfo[playerid][SpielerPosition]);
    dini_IntSet(Spielerdatei, "Bank", pInfo[playerid][Bank]);
    }
    return 1;
    }


    Würde das so Überhaupt Ingame Funktionieren?


    MFG
    Dome331


    //e Überarbeitet