ATM's Frage

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 Breadfish. Ich habe ein paar ATM's in LS. Wenn ich /atm eingebe da kommt mein Dialog usw aber wenn ich irgendwas auswähle z.B Geldabheben dann wird es nicht gemacht. Könnt ihr mir erklären wieso und warum? Und es wäre nicht schlecht wenn ihr mir ein fertiges geben werdet :)



    if(strcmp(cmd, "/atm", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(AtATM(playerid))
    {
    ShowPlayerDialog(playerid, DIALOG_ATMMENU, DIALOG_STYLE_LIST, "Geldautomat", "Geld einzahlen\nGeld auszahlen\nHandy Aufladen", "Auswählen", "Abbrechen");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Es ist kein Geldautomat in deiner Nähe.");
    return 1;
    }
    }
    return 1;
    }


    Gruß

  • So ich hab von ein anderes RL Script das ATM System kopiert. Ich hab es gefixxt soweit ich konnte. Ich komme jetzt aber nicht weiter. Hier:



    if(dialogid == DIALOG_ATMMENUE)
    {
    account = Spieler[playerid][pAccount];
    new string[250];
    if(response)
    {
    if(listitem == 0)
    {
    new einzahlstring[256];
    format(einzahlstring,sizeof(einzahlstring),"Willkommen an diesem Bankterminal!\nHier kannst du Geld auf dein San Andreas Banknonto einzahlen.\nDu hast %d$ auf deinem Konto\nBitte gib an, wie viel Geld du einzahlen m?chtest:",account);
    ShowPlayerDialog(playerid,DIALOG_ATMEINZAHLEN,DIALOG_STYLE_INPUT,"Bankterminal",einzahlstring,"Einzahlen","Abbrechen");
    }
    if(listitem == 1) //Auszahlen
    {
    new auszahlstring[256];
    format(auszahlstring,sizeof(auszahlstring),"Willkommen an diesem Bankterminal!\nHier kannst du dir dein Geld von deinem San Andreas Bankkonto auszahlen lassen.\nDu hast %d$ auf deinem Konto\nBitte gib an, wie viel Geld du auszahlen m?chtest:", account);
    ShowPlayerDialog(playerid,DIALOG_ATMAUSZAHLEN,DIALOG_STYLE_INPUT,"Bankterminal",auszahlstring,"Auszahlen","Abbrechen");
    }
    if(listitem == 2)
    {
    format(string,sizeof(string),"Du hast $%d auf deinem Konto.", Spieler[playerid][pAccount]);
    ShowPlayerDialog(playerid,DIALOG_ATMUEBERWEISEN,DIALOG_STYLE_INPUT,"Überweisen (Benutze: ID Betrag)",string,"Überweisen","Abbrechen");
    }


    if(listitem == 3) //Kontoauszug
    {
    SendClientMessage(playerid, COLOR_GREEN, "|___ Kontostand ___|");
    format(string, sizeof(string), " Du hast $%d auf deinem Konto.", account);
    SendClientMessage(playerid, COLOR_WHITE, string);
    }
    return 1;
    }
    }
    if(dialogid == DIALOG_ATMEINZAHLEN)
    {
    account = Spieler[playerid][pAccount];
    if(strlen(inputtext))
    {
    if(!AtATM(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist an keinem ATM (Bankautomaten)!");
    return 1;
    }
    //tmp = strtok(cmdtext, idx);
    if(!strlen(inputtext))
    {
    new string[128];
    SendClientMessage(playerid, COLOR_GRAD2, "Bitte gibt die Menge ein!");
    format(string, sizeof(string), " Du hast $%d auf deinem Konto.", account);
    SendClientMessage(playerid, COLOR_GRAD3, string);
    return 1;
    }
    new cashdeposit = strval(inputtext);
    if(!strlen(inputtext))
    {
    new string[128];
    SendClientMessage(playerid, COLOR_GRAD2, "Bitte gib die Menge ein !");
    format(string, sizeof(string), " Du hast $%d auf deinem Konto.", account);
    SendClientMessage(playerid, COLOR_GRAD3, string);
    return 1;
    }
    if (cashdeposit > GetPlayerMoney(playerid) || cashdeposit < 1)
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du hast nicht soviel Geld!");
    return 1;
    }
    GivePlayerMoney(playerid, -cashdeposit);
    Money[playerid] = Money[playerid] -cashdeposit;
    new curfunds = PlayerInfo[playerid][pAccount];
    PlayerInfo[playerid][pAccount]=cashdeposit+PlayerInfo[playerid][pAccount];
    SendClientMessage(playerid, COLOR_GREEN, "|___ Kontostand ___|");
    format(string, sizeof(string), " Du hast $%d auf dein Konto eingezahlt." ,cashdeposit);
    SendClientMessage(playerid, COLOR_GRAD4, string);
    format(string, sizeof(string), " Alter Kontostand: $%d", curfunds);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    format(string, sizeof(string), " Neuer Kontostand: $%d", PlayerInfo[playerid][pAccount]);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    }
    return 1;
    }
    if (dialogid == DIALOG_ATMUEBERWEISEN)
    {
    account = PlayerInfo[playerid][pAccount];
    if (response == 1)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pLevel] < 2)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du musst Level 2 sein!");
    return 1;
    }
    tmp = strtok(inputtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutze:[ID/NAME] [Betrag]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(inputtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutze:[ID/NAME] [Betrag]");
    return 1;
    }
    moneys = strval(tmp);
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    playermoney = PlayerInfo[playerid][pAccount] ;
    if (moneys > 0 && playermoney >= moneys)
    {
    PlayerInfo[playerid][pAccount] -= moneys;
    PlayerInfo[giveplayerid][pAccount] += moneys;
    format(string, sizeof(string), " Du hast $%d auf %s's Konto ?berwiesen.", moneys, giveplayer);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    SendClientMessage(playerid, COLOR_GRAD1,string);
    format(string, sizeof(string), " %s hat $%d auf dein Konto ?berwiesen.",sendername,moneys);
    SendClientMessage(giveplayerid, COLOR_GRAD1,string);
    format(string, sizeof(string), "%s ?berweist $%d zu %s", sendername, moneys, giveplayer);
    SendAdminMessage(COLOR_YELLOW,string);
    printf("%s", string);
    PayLog(string);
    PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Der Betrag ist nicht korrekt!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist nicht online.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    }
    }
    if(dialogid == DIALOG_ATMAUSZAHLEN)
    {
    account = PlayerInfo[playerid][pAccount];
    if(strlen(inputtext))
    {
    if(!AtATM(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist an keinem ATM (Bankautomaten)!");
    return 1;
    }
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Bitte gibt die Menge ein !");
    format(string, sizeof(string), " Du hast $%d auf deinem Konto.", account);
    SendClientMessage(playerid, COLOR_GRAD3, string);
    return 1;
    }
    new cashdeposit = strval(inputtext);
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Bitte gib die Menge ein!");
    format(string, sizeof(string), " Du hast $%d auf deinem Konto.", account);
    SendClientMessage(playerid, COLOR_GRAD3, string);
    return 1;
    }
    if (cashdeposit > PlayerInfo[playerid][pAccount] || cashdeposit < 1)
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Du hast nicht soviel Geld!");
    return 1;
    }
    GivePlayerMoney(playerid, cashdeposit);
    PlayerMoney[playerid] = PlayerMoney[playerid] +cashdeposit;
    new curfunds = PlayerInfo[playerid][pAccount];
    PlayerInfo[playerid][pAccount]=PlayerInfo[playerid][pAccount]-cashdeposit;
    SendClientMessage(playerid, COLOR_GREEN, "|___ Kontostand ___|");
    format(string, sizeof(string), " Alter Kontostand: $%d", curfunds);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    format(string, sizeof(string), " Ausgezahlt: $%d",cashdeposit);
    SendClientMessage(playerid, COLOR_GRAD4, string);
    format(string, sizeof(string), " Neuer Kontostand: $%d", PlayerInfo[playerid][pAccount]);
    SendClientMessage(playerid, COLOR_WHITE, string);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s hat $%d von seinem Konto (ATM) ausgezahlt.",sendername, cashdeposit);
    PayLog(string);
    }
    return 1;
    }


    Fehler:

    Zeile (9632) : error 028: invalid subscript (not an array or too many subscripts): "Money"
    Zeile (9632) : warning 215: expression has no effect
    Zeile (9632) : error 001: expected token: ";", but found "]"
    Zeile (9632) : error 029: invalid expression, assumed zero
    Zeile (9632) : fatal error 107: too many error messages on one line


    Gruß