[ Funktion ] Wie speicher ich die Fraktionsbank ?

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 "Abend" oder doch eher guten Morgen ?


    Liebe Scripter oder Könner unter euch, folgendes Anliegen habe ich. Ich habe mir eine Fraktionsbank erstellt, diese speichert allerdings nichts nach einem ServerRestart, warum ? Muss ich die Daten auch in der Spielerdatei speichern, nein oder ?! Wie, wo, was denn ?


    Da ich nicht weiß welche bzw, ob ihr überhaupt Scriptausschnitte benötigt, einfach bescheid sagen werde ich euch dann zur verfügung stellen.


    Liebe Grüße
    Chris

  • das kan man mit verschiedenen arten tun ich habe damal immer dini genommen um das zu speichern. Jetzt stellt sich nur noch die frage gaste du ein gf script oder selfmade?

    Teamspeak zum Quatschen?

    IP: 217.79.182.216:9999

    Jeder kann Semi-Permanent Channel erstellen ;)

  • ich würde dir raten ein enum mit allen fraktionen zu erstellen und die bei public OnGameModeExit() speichern zu lassen und bei public OnGameModeInit() laden zu lassen

    Teamspeak zum Quatschen?

    IP: 217.79.182.216:9999

    Jeder kann Semi-Permanent Channel erstellen ;)

  • enum
    fraktionesk
    {
    a,
    b,
    c
    }




    new fraktioneskassen [ fraktionesk];




    public OnGameModeInit()


    {


    new datei[64];
    format(datei,sizeof( datei ),"/fraktionskasse.txt");



    fraktioneskassen [a] = dini_Int( datei ,"a");


    fraktioneskassen[b] = dini_Int( datei ,"b");
    fraktioneskassen [code=c] = dini_Int( datei ,"c") ;


    }




    public OnGameModeExit()
    {
    new datei[64];
    format(datei,sizeof( datei ),"/fraktionskasse.txt");


    dini_IntSet(datei,"a", fraktioneskassen [a]);


    dini_IntSet(datei,"b", fraktioneskassen [b]);
    dini_IntSet(datei,"c",fraktioneskassen [code=c]);



    }





    so und den am besten die .txt mit den ihnhalt



    Code
    a=2500
    b=2500
    
    
    c=2500


    edit: ein }; an falscher stelle
    edit: geordnet

    Teamspeak zum Quatschen?

    IP: 217.79.182.216:9999

    Jeder kann Semi-Permanent Channel erstellen ;)

  • Okey danke dir echt, danke!!


    Habe alles eingefügt nur wie lasse ich die Daten speichern? Hier ein Ausschnitt aus dem Script


    if(dialogid==DIALOG_FEINZAHLUNG)
    {
    if(response==0)
    {
    SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen!");
    return 1;
    }
    if(response==1)
    {
    new string[128];
    if(!response)return
    ShowPlayerDialog(playerid,DIALOG_MAFIAKASSENMENU,DIALOG_STYLE_LIST,"Aktionen","Einzahlen\nAuszahlen\nKassenstand","Wählen","Abbrechen");
    if(GetPlayerMoney(playerid) < strval(inputtext))return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
    if(GetPVarInt(playerid,"Leader")==2)
    GivePlayerMoney(playerid, strval(inputtext));
    fInfo[playerid][Bank] += strval(inputtext);
    format(string,sizeof(string),"Du hast %d€ in die Fraktionskasse gezahlt!",strval(inputtext));
    ShowPlayerDialog(playerid,DIALOG_FEINZAHLUNGSTEXT,DIALOG_STYLE_MSGBOX,"Einzahlun",string,"Schließen","");
    }
    }


    if(dialogid==DIALOG_FAUSZAHLUNG)
    {
    new string[128];
    if(!response)return
    ShowPlayerDialog(playerid,DIALOG_MAFIAKASSENMENU,DIALOG_STYLE_LIST,"Aktion","Einzahlen\nAuszahlen\nKassenstand","Wählen","Abbrechen");
    if(fInfo[playerid][Bank] < strval(inputtext))return SendClientMessage(playerid,ROT,"Es ist nicht soviel Geld in der Fraktionskasse!");
    if(GetPVarInt(playerid,"Leader")==2)
    GivePlayerMoney(playerid,strval(inputtext));
    fInfo[playerid][Bank] -= strval(inputtext);
    format(string,sizeof(string),"Du hast %d€ von der Fraktionskasse abgehoben!",strval(inputtext));
    ShowPlayerDialog(playerid,DIALOG_FAUSZAHLUNGSTEXT,DIALOG_STYLE_MSGBOX,"Aktion",string,"Schließen","");
    }
    if(dialogid==DIALOG_MAFIAKASSENMENU)
    {
    if(response)
    {
    if(listitem==0)
    {
    ShowPlayerDialog(playerid,DIALOG_FEINZAHLUNG,DIALOG_STYLE_INPUT,"Einzahlen","Summe eingeben:","Einzahlen","Verlassen");
    }
    if(listitem==1)
    {
    ShowPlayerDialog(playerid,DIALOG_FAUSZAHLUNG,DIALOG_STYLE_INPUT,"Auszahlen","Summe eingeben:","Auszahlen","Verlassen");
    }
    if(listitem==2)
    {
    new string[128];
    format(string,sizeof(string),"Kassenstand: %d€",fInfo[playerid][Bank]);
    ShowPlayerDialog(playerid,DIALOG_FKONTOSTAND,DIALOG_STYLE_MSGBOX,"Kassenstand",string,"Schließen","");
    }
    }
    }

  • also das musst du jetzt mit den neuen variablen machen



    if(GetPVarInt(playerid,"Leader")==2) {fraktionskasse[b] = fraktionskasse[b] + strval(inputtext);
    }


    edit: geordnet

    Teamspeak zum Quatschen?

    IP: 217.79.182.216:9999

    Jeder kann Semi-Permanent Channel erstellen ;)

  • Entschuldige, aber hmm das mir gerade unangenehm, aber könntest du mir das mal anhand meines Ausschnittes fertig machen ? Ich bekomme Errors ohne Ende wenn ich das hinter der Abfrage zum leader hänge..


    Wäre nett wenn du das aug Grund der späten Uhrzeit machen könntest