Frakkasse soll nicht ins Minus gehen.

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
  • Morgen,


    Ich hab ein Problem.
    Auf meinem Server können die Fraktionskassen durch Waffenbau, oder einfach nur durch Geld rausnehmen ins Minus gehen.


    Wie könnte ich das hier begrenzen, dass man auch nur soviel Geld rausnehmen kann, wieviel auch drin ist?



    if(dialogid == KASSECOP && response)
    {
    //new string[128];
    strval(inputtext);
    if(strval(inputtext) > 0) format(string,128,"Du hast $%s abgehoben.",inputtext);
    else format(string,128,"Du hast $%s eingezahlt.",inputtext);
    SafeGivePlayerMoney(playerid, strval(inputtext));
    FraktionsKasse[fraktion] -= strval(inputtext);
    SaveFraktionsKassen();
    ShowPlayerDialog(playerid,FRAKTIONCOP,DIALOG_STYLE_LIST,"Fraktion,","Übersicht\nKasse\nMaterialien\nWaffen","Ok","Abbrechen");
    return 1;
    }


    Freue mich sehr auf Antworten.


    Mfg.

  • So sollte das ganze funktionieren, füg das mal ein:


    if((FraktionsKasse[fraktion] - inputtext) < 0) return SendClientMessage(playerid, COLOR_RED, "* Nicht genügend Geld in der Fraktionskasse!");


    mfG, Nighthawk.

  • Thx


    Der Beitrag ist zu kurz. Der Beitrag muss mindestens 10 Zeichen lang sein und 3 Wörter enthalten.


    //edit: Soll ich das so machen?

    if(dialogid == KASSECOP && response)
    {
    //new string[128];
    strval(inputtext);
    if((FraktionsKasse[fraktion] - inputtext) < 0) return SendClientMessage(playerid, COLOR_RED, "* Nicht genügend Geld in der Fraktionskasse!");
    if(strval(inputtext) < 0) format(string,128,"Du hast $%s abgehoben.",inputtext);
    else format(string,128,"Du hast $%s eingezahlt.",inputtext);
    SafeGivePlayerMoney(playerid, strval(inputtext));
    FraktionsKasse[fraktion] -= strval(inputtext);
    SaveFraktionsKassen();
    ShowPlayerDialog(playerid,FRAKTIONCOP,DIALOG_STYLE_LIST,"Fraktion,","Übersicht\nKasse\nMaterialien\nWaffen","Ok","Abbrechen");
    return 1;
    }

    Einmal editiert, zuletzt von Slexout ()

  • Dein Code ersetzen mit:


    if(dialogid == KASSECOP && response)
    {
    //new string[128];
    strval(inputtext);
    if((FraktionsKasse[fraktion] - strval(inputtext)) < 0) return SendClientMessage(playerid, COLOR_RED, "* Nicht genügend Geld in der Fraktionskasse!");
    if(strval(inputtext) < 0) format(string,128,"Du hast $%s abgehoben.",inputtext);
    else format(string,128,"Du hast $%s eingezahlt.",inputtext);
    SafeGivePlayerMoney(playerid, strval(inputtext));
    FraktionsKasse[fraktion] -= strval(inputtext);
    SaveFraktionsKassen();
    ShowPlayerDialog(playerid,FRAKTIONCOP,DIALOG_STYLE_LIST,"Fraktion,","Übersicht\nKasse\nMaterialien\nWaffen","Ok","Abbrechen");
    return 1;
    }


    mfG, Nighthawk.


    //edit: Code editiert, so sollte es funktionieren.

    Einmal editiert, zuletzt von Nighthawk ()

  • Funktioniert :thumbup: Danke.


    Aber wie könnte man das hier anwenden?:



    if(dialogid == WAFFENCOP)
    {
    if(response == 0)
    return 1;


    if(listitem == 0)
    {
    SafeGivePlayerWeapon(playerid, 41, 500);
    MatsKasse[fraktion] -= 100;
    SaveMatsKassen();
    ShowPlayerDialog(playerid, WAFFENCOP,DIALOG_STYLE_LIST,"Waffen,","Pfefferspray(100)\nSchlagstock(100)\nDesert Eagle(600)\nMP5(500)\nShotgun(600)\nLeben(100)\nArmour(300)","Kaufen","Abbrechen");
    }
    if(listitem == 1)
    {
    SafeGivePlayerWeapon(playerid, 3, 1);
    MatsKasse[fraktion] -= 100;
    SaveMatsKassen();
    ShowPlayerDialog(playerid, WAFFENCOP,DIALOG_STYLE_LIST,"Waffen,","Pfefferspray(100)\nSchlagstock(100)\nDesert Eagle(600)\nMP5(500)\nShotgun(600)\nLeben(100)\nArmour(300)","Kaufen","Abbrechen");
    }
    if(listitem == 2)
    {
    SafeGivePlayerWeapon(playerid, 24, 100);
    MatsKasse[fraktion] -= 600;
    SaveMatsKassen();
    ShowPlayerDialog(playerid, WAFFENCOP,DIALOG_STYLE_LIST,"Waffen,","Pfefferspray(100)\nSchlagstock(100)\nDesert Eagle(600)\nMP5(500)\nShotgun(600)\nLeben(100)\nArmour(300)","Kaufen","Abbrechen");
    }
    if(listitem == 3)
    {
    SafeGivePlayerWeapon(playerid, 29, 500);
    MatsKasse[fraktion] -= 400;
    SaveMatsKassen();
    ShowPlayerDialog(playerid, WAFFENCOP,DIALOG_STYLE_LIST,"Waffen,","Pfefferspray(100)\nSchlagstock(100)\nDesert Eagle(600)\nMP5(500)\nShotgun(600)\nLeben(100)\nArmour(300)","Kaufen","Abbrechen");
    }
    if(listitem == 4)
    {
    SafeGivePlayerWeapon(playerid, 25, 100);
    MatsKasse[fraktion] -= 600;
    SaveMatsKassen();
    ShowPlayerDialog(playerid, WAFFENCOP,DIALOG_STYLE_LIST,"Waffen,","Pfefferspray(100)\nSchlagstock(100)\nDesert Eagle(600)\nMP5(500)\nShotgun(600)\nLeben(100)\nArmour(300)","Kaufen","Abbrechen");
    }
    if(listitem == 5)
    {
    SetPlayerHealth(playerid, 100)
    MatsKasse[fraktion] -= 100;
    SaveMatsKassen();
    ShowPlayerDialog(playerid, WAFFENCOP,DIALOG_STYLE_LIST,"Waffen,","Pfefferspray(100)\nSchlagstock(100)\nDesert Eagle(600)\nMP5(500)\nShotgun(600)\nLeben(100)\nArmour(300)","Kaufen","Abbrechen");
    }
    if(listitem == 6)
    {
    SetPlayerArmour(playerid, 100)
    MatsKasse[fraktion] -= 300;
    SaveMatsKassen();
    ShowPlayerDialog(playerid, WAFFENCOP,DIALOG_STYLE_LIST,"Waffen,","Pfefferspray(100)\nSchlagstock(100)\nDesert Eagle(600)\nMP5(500)\nShotgun(600)\nLeben(100)\nArmour(300)","Kaufen","Abbrechen");
    }
    }