Bei der Fraktionskasse passiert nix

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
  • Hi,
    Ich scripte bestimmt schon 5 stunden an so nem blöden fkassensystem.
    Ich habe auch schon bestimmt jetzt den dritten thread dazu geöffnet, aber is mir grade irgendwie mal scheiß egal, weil es mich irgendwie ankotzt :D


    also, mein Problem: wenn ich etwas einzahlen oder auszahlen möchte, passiert dort einfach nichts!
    Mir wird kein Geld abgezogen und der Fraktionskasse wird keins gutgeschrieben!


    Hier der Code der Dialoge :

    Spoiler anzeigen

    if(dialogid==DIALOG_FKASSE)
    {
    if(response==0)
    {
    ShowPlayerDialog(playerid, DIALOG_FKASSE_AUSZAHLEN,DIALOG_STYLE_INPUT,"Auszahlen","Bitte gebe den Betrag ein, den du aus der Fraktionskasse auszahlen möchtest","Auszahlen","Abbrechen");
    }
    if(response==1)
    {
    if(SpielerInfo[playerid][pLeader] >= 1)
    {
    ShowPlayerDialog(playerid, DIALOG_FKASSE_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlen","Bitte gebe den Betrag ein, den du in die Fraktionskasse einzahlen möchtest","Einzahlen","Abbrechen");
    }
    }
    }
    if(dialogid==DIALOG_FKASSE_EINZAHLEN)
    {
    if(response==0)
    {
    if(strlen(inputtext) > 0)
    {
    new money = inputtext[11];
    if(GetPlayerMoney(playerid) < money)
    {
    SendClientMessage(playerid,Grau,"Du hast nicht soviel Geld auf der Hand, wie du eingetippt hast");
    ShowPlayerDialog(playerid, DIALOG_FKASSE_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlen","Bitte gebe den Betrag ein, den du in die Fraktionskasse einzahlen möchtest","Einzahlen","Abbrechen");
    return 1;
    }
    else
    {
    GivePlayerMoney(playerid, - money);
    mysql_SetInt("fraktionen", "frakgeld", money, "Frakid", SpielerInfo[playerid][pFraktion]);
    SendClientMessage(playerid, Weiß, "Geld wurde übertragen");
    }
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_FKASSE_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlen","Bitte gebe den Betrag ein, den du in die Fraktionskasse einzahlen möchtest","Einzahlen","Abbrechen");
    return 1;
    }
    }
    }
    if(dialogid==DIALOG_FKASSE_AUSZAHLEN)
    {
    if(response==0)
    {
    new money2 = mysql_GetInt("fraktionen", "frakgeld", "frakid", Fraktionen[Fraktid]);
    new money = inputtext[11];
    if(money2 < money)
    {
    SendClientMessage(playerid, Grau, "In der Kasse ist nicht soviel Geld, wie du eingetippt hast");
    return 1;
    }
    else
    {
    GivePlayerMoney(playerid, money);
    mysql_SetInt("fraktionen", "frakgeld", - money, "Frakid", SpielerInfo[playerid][pFraktion]);
    return 1;
    }
    }
    }
    return 1;
    }


    Und wenn ich hier nen + vor das money setze, bekomm ich auch nen error: mysql_SetInt("fraktionen", "frakgeld", money, "Frakid", SpielerInfo[playerid][pFraktion]);



    Bitte, bitte helft mir, ich will endlich mit was neuem im script anfangen undi hc kann diese fkasse einfach nicht mehr sehen, wenn ihr wisst was ich meine ....

    Mit freundlichen Grüßen

    #define



  • new money = inputtext[11];


    Du kannst einen String nicht so einfach in einen Integer umwandeln.
    Wenn du einen String in einen Integer konvertieren willst, benutzt du strval(string[]). (Bei Floats: floatstr(string[]))
    Ausserdem darfst du nicht nur ein Zeichen des inputtextes benutzen.
    inputtext[11] 
    Dies bedeutet das 11. Zeichen des inputtextes soll verwendet werden.
    Ebenfalls, wenn du etwas in die Datenbank speichern möchtest, reicht -money nicht aus,
    du musst schon den kompletten neuen Betrag angeben.


    So ist es richtig, wenn ich nichts übersehen habe:


    if(dialogid==DIALOG_FKASSE)
    {
    if(response==0)
    {
    ShowPlayerDialog(playerid, DIALOG_FKASSE_AUSZAHLEN,DIALOG_STYLE_INPUT,"Auszahlen","Bitte gebe den Betrag ein, den du aus der Fraktionskasse auszahlen möchtest","Auszahlen","Abbrechen");
    }
    if(response==1)
    {
    if(SpielerInfo[playerid][pLeader] >= 1)
    {
    ShowPlayerDialog(playerid, DIALOG_FKASSE_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlen","Bitte gebe den Betrag ein, den du in die Fraktionskasse einzahlen möchtest","Einzahlen","Abbrechen");
    }
    }
    }
    if(dialogid==DIALOG_FKASSE_EINZAHLEN)
    {
    if(response==0)
    {
    if(strlen(inputtext) > 0)
    {
    new money = strval(inputtext);
    if(GetPlayerMoney(playerid) < money)
    {
    SendClientMessage(playerid,Grau,"Du hast nicht soviel Geld auf der Hand, wie du eingetippt hast");
    ShowPlayerDialog(playerid, DIALOG_FKASSE_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlen","Bitte gebe den Betrag ein, den du in die Fraktionskasse einzahlen möchtest","Einzahlen","Abbrechen");
    return 1;
    }
    else
    {
    GivePlayerMoney(playerid, -money);
    money = mysql_GetInt("fraktionen", "frakgeld", "frakid", Fraktionen[Fraktid]) - money;
    mysql_SetInt("fraktionen", "frakgeld", money, "Frakid", SpielerInfo[playerid][pFraktion]);
    SendClientMessage(playerid, Weiß, "Geld wurde übertragen");
    }
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_FKASSE_EINZAHLEN,DIALOG_STYLE_INPUT,"Einzahlen","Bitte gebe den Betrag ein, den du in die Fraktionskasse einzahlen möchtest","Einzahlen","Abbrechen");
    return 1;
    }
    }
    }
    if(dialogid==DIALOG_FKASSE_AUSZAHLEN)
    {
    if(response==0)
    {
    new money2 = mysql_GetInt("fraktionen", "frakgeld", "frakid", Fraktionen[Fraktid]);
    new money = strval(inputtext);
    if(money2 < money)
    {
    SendClientMessage(playerid, Grau, "In der Kasse ist nicht soviel Geld, wie du eingetippt hast");
    return 1;
    }
    else
    {
    GivePlayerMoney(playerid, money);
    mysql_SetInt("fraktionen", "frakgeld", - money, "Frakid", SpielerInfo[playerid][pFraktion]);
    return 1;
    }
    }
    }
    return 1;
    }



    BlackLegend