Staatskasse

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
  • Hey leute !


    Ich würde gerne so ne art staatskasse erstellen hiermal die funktion wie ich das genau meine:


    Also bei server start sind in der staatskasse sagen wir mal 5.000.000$
    davon muss aber für die geschäfft die ware bezahlt werden, und wenn einer was kauft geht davon ein teil wieder an die staatskasse
    man soll spenden können in die Staatskasse
    Die Jobs müssen von der Staatskasse bezahlt werden also ich stelle mir das so vor z.b der leader von denn Cops hat 5 mitglieder und da bekommt er einen bestimmten teil von der Staatskasse zb 10.000$ und das muss er halt an seine Mitarbeiter als lohn aufteilen :D


    Ich hoffe ihr versteht was ich meine und könnt mir ein bisschen auf die sprünge helfen
    Falls das wichtig ist ich speichere mit DINI und es ist ein selfmade
    MFG

  • Also:


    In GameModInit
    new string[128];
    format(string, sizeof(string),"Staatskasse.ini");
    if(!dini_Exists(string)){
    dini_Create(string);
    dini_IntSet(string,"Staatskasse",(0));
    }


    OnPlayerCommandText


    if (strcmp(cmd, "/spenden", true)==0)
    {
    new spendemenge;
    new string[256];
    new tmpstring[256];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /spenden [Menge]");
    return 1;
    }
    spendemenge = strval(tmp);
    format(string, sizeof(string), "Staatskasse.ini");
    SendClientMessage(playerid,COLOR_SEAGREEN,"=================================================");
    format(tmpstring, sizeof(tmpstring), "Gespendet: $%d", spendemenge);
    SendClientMessage(playerid, COLOR_GREEN, tmpstring);
    SendClientMessage(playerid,COLOR_SEAGREEN,"=================================================");
    GivePlayerMoney(playerid,-spendemenge);
    dini_IntSet(string,"Staatskasse",dini_Int(string,"Staatskasse")+spendemenge);
    return 1;
    }


  • new Staat_Geld;


    //----------------------------------------------------
    if (strcmp(cmd, "/spenden", true)==0)
    {
    new string[128];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Benutze: /spenden [Menge]");
    new spendemenge = strval(tmp);
    if(spendenmenge < 1 ) return SendclientMessage(playerid,COLOR_RED,"Du möchtest also nichts Spenden ...");
    SendClientMessage(playerid,COLOR_SEAGREEN,"============[Gespendet]==========================");
    format(string,sizeof(string),"Du hast : %d $ gespendet, Vielen Dank!",spendenmenge);
    SendClientMessage(playerid,COLOR_SEAGREEN,string);
    SendClientMessage(playerid,COLOR_SEAGREEN,"=================================================");
    GivePlayerMoney(playerid,-spendemenge);
    Staat_Geld+= spendenmenge;
    SaveStaat();
    return 1;
    }


    public SaveStaat() /* Unter ongamemodeexit oder per Timer alle 5 Minuten ausführen */
    {
    new datei[64] = "Staat.ini";
    if(!fexist(datei)) { dini_Create(datei); }
    dini_IntSet(datei,"Geld",Staat_Geld);
    return 1;
    }