Bankmenu - einzahlen geht,auszahlen nicht

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 liebe Breadies :)


    Habe hier ein kleines problem mit meinem Bankmenu und bin ganz offensichtlich gerade etwas blind da ich schon fast eine Stunde nach dem Fehler suche .Einzahlen funktioniert reibungslos aber auszahlen nicht - bin kurz davor zu verzweifeln..............

    //------------------------------------------------------------------------------
    new updatmini[128];
    if(dialogid == atmdeposit)// atm einzahlen
    {
    if(response == 1)
    {
    new deposit = strval(inputtext);
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,atmdeposit,DIALOG_STYLE_INPUT,"","Wieviel möchtest du Einzahlen ?.","Einzahlen","Abbrechen");
    return SendClientMessage(playerid,COLOR_ROT,"Kein Betrag angegeben!");
    }
    if(pInfo[playerid][geld] <= deposit)
    {
    for(new i = 0;i<sizeof(aInfo);i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,aInfo[i][atmx],aInfo[i][atmy],aInfo[i][atmz]))
    {
    format(updatmini,sizeof updatmini,"atm/atm_%d.ini",i);
    pInfo[playerid][geld] -= deposit; dini_IntSet(save,"geld",pInfo[playerid][geld]);
    pInfo[playerid][bank] += deposit; dini_IntSet(save,"bank",pInfo[playerid][bank]);
    aInfo[i][einlagen] += deposit;dini_IntSet(updatmini,"einlagen",aInfo[i][einlagen]);
    }}
    return 1;
    }}}}
    //------------------------------------------------------------------------------
    if(dialogid == atmdisburse)// atm auszahlen
    {
    if(response == 1)
    {
    new disburse = strval(inputtext);
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,atmdisburse,DIALOG_STYLE_INPUT,"","Wieviel möchtest du abheben ?.","Auszahlen","Abbrechen");
    return SendClientMessage(playerid,COLOR_ROT,"Kein Betrag angegeben!");
    }
    if(pInfo[playerid][bank] <= disburse)
    {
    for(new i = 0;i<sizeof(aInfo);i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,aInfo[i][atmx],aInfo[i][atmy],aInfo[i][atmz]) && aInfo[i][einlagen] <= disburse)
    {
    if(aInfo[i][einlagen] <= disburse)
    {
    format(updatmini,sizeof updatmini,"atm/atm_%d.ini",i);
    pInfo[playerid][geld] += disburse;dini_IntSet(save,"geld",pInfo[playerid][geld]);
    pInfo[playerid][bank] -= disburse;dini_IntSet(save,"bank",pInfo[playerid][bank]);
    aInfo[i][einlagen] -= disburse;dini_IntSet(updatmini,"einlagen",aInfo[i][einlagen]);
    }}}
    return 1;
    }}}}



    Vielen dank schonmal im vorraus.


    Anubis

  • Meine sehen so aus vielicht findeste was



    In diesem Moment schlafen 6,3 Millionen Menschen, 18,9 Millionen essen, 2,2 Millionen machen Liebe und 1 Dummerchen ließt meine Signatur!



    Einmal editiert, zuletzt von Scheffi ()

  • Ok, ich werde mal etwas genauer.



    Ich stehe also vor dem automaten, menu geht auf - ich klicke auf "einzahlung" und werde aufgefordert den betrag einzugeben den ich einzahlen möchte, das mache ich und der Betrag wird eingezahlt. Wenn ich etwas abheben möchte werde ich ebenfalls gefragt wieviel ich abheben möchte, wenn ich dann den abzuhebenden Betrag eingebe und bestätige passiert nichts.

  • Ehm...wenn du nirgens GivePlayerMoney gemacht hast,kann es auch net gehen oder?

    Nene^^


    Das Geld wird, wie man sehen kann in der pInfo verbucht. Bei Serverstart wird ein Timer gestartet der pInfo Guthaben und die Geldanzeige von GTA abgleicht - im Prinzip ein einfacher AntiMoneyCheat.



    Haste mal in die ini geschaut nicht das es da drauf ist ^^

    Ne auch nicht, das hab ich vorher schon alles abgecheckt - beim einzahlen wird alles ordnungsgemäss verbucht -ingame,pInfo,aInfo und die beiden Inis aber beim auszahlen passiert rein garnichts.

    Einmal editiert, zuletzt von Anubis ()

  • ja allgemein scriptest du es eigenartig


    Leg dir doch ein Public an in dem du den User Speichert da musst du fas nicht 100 mal Schreiben


    In diesem Moment schlafen 6,3 Millionen Menschen, 18,9 Millionen essen, 2,2 Millionen machen Liebe und 1 Dummerchen ließt meine Signatur!



  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Also ich habe es lieber leicht und simpel...
    siehe hier einen Ausschnitt aus meinem Selfmade Banksystem:


    if(dialogid == Einzahlen)
    {
    if(response == 0)
    {
    ShowPlayerDialog(playerid,Bankmenu,DIALOG_STYLE_LIST,"Bankmenü","Einzahlen\nAuszahlen\nKontoauszug","Abbrechen","Wählen");
    }
    else if(response)
    {
    if(GetPlayerMoney(playerid) < strval(inputtext))
    {
    ShowPlayerDialog(playerid,Einzahlen,DIALOG_STYLE_INPUT,"Einzahlen","Sie haben nicht genug Geld!\nBitte geben sie ihren einzuzahlenden Betrag an!","Einzahlen","Bankmenu");
    }
    else
    {
    SpielerInfo[playerid][Bank] += strval(inputtext);
    GivePlayerMoney(playerid,-strval(inputtext));
    ShowPlayerDialog(playerid,Bankmenu,DIALOG_STYLE_LIST,"Bankmenü","Einzahlen\nAuszahlen\nKontoauszug","Abbrechen","Wählen");
    }
    }
    }


    Also ich würde es nicht so machen wie du...ist ziemlich kompliziert und eigenartig...naja fast wie ein Unikat:-D

  • Meins ist auch selfmade so wie alles in meinem GM ;)



    Unterschied zu deinem ist nur das ich den Anti Money Cheat drin verankert habe und Geldautomaten lassen sich mit Geld beliefern was vorraussetzt das bei einer abhebung vom Konto das Geld ebenfalls vom Automaten abgezogen wird und beim einzahlen eben umgekehrt.





    Aber jetzt mal back to Topic :thumbup: