ATM als Dialog

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,


    Also bei mir is atm mit befehlen,. also wenn man am atm is muss man befehle eingeben


    Ich will so, dass wenn man in der Nähe is soll ein fenster aufgehen mit AuswahL:


    Einzahlen
    Abheben
    Überweisen
    Kontostand


    und unten Abbrechen...


    Wenn man eins daovn wählt, soll ein anderes Fenster kommen wo man einen Betrag eingibt und dann passiert des was man gewählt hatte.


    Und bei Kontostand soll man seinen kontostand sehen


    Bis jetzt ist es per Befehle:



    if(strcmp(cmd, "/geldabheben", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(!AtATM(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist nicht an einem Bankautomat !");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /geldabheben [betrag]");
    format(string, sizeof(string), " Du hast $%d auf deinem Konto.", PlayerInfo[playerid][pAccount]);
    SendClientMessage(playerid, COLOR_GRAD3, string);
    return 1;
    }
    new cashdeposit = strval(tmp);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /geldabheben [betrag]");
    format(string, sizeof(string), " Du hast $%d auf deinem Konto.", PlayerInfo[playerid][pAccount]);
    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;
    }
    ConsumingMoney[playerid] = 1;
    GivePlayerMoney(playerid,cashdeposit);
    PlayerInfo[playerid][pAccount]=PlayerInfo[playerid][pAccount]-cashdeposit;
    format(string, sizeof(string), "Du hast %d$ von deinem Konto abgehoben. Kontostand: %d$ ", cashdeposit,PlayerInfo[playerid][pAccount]);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    return 1;
    }
    return 1;
    }
    //------------------------------------------------------------------------------
    if(strcmp(cmd, "/geldeinzahlen", true) == 0 || strcmp(cmd, "/atmdeposit", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(!AtATM(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist nicht an einem Bankautomat !");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /atmbank [betrag]");
    format(string, sizeof(string), " Du hast $%d auf deinem Konto.", PlayerInfo[playerid][pAccount]);
    SendClientMessage(playerid, COLOR_GRAD3, string);
    return 1;
    }
    new cashdeposit = strval(tmp);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /atmbank [amount]");
    format(string, sizeof(string), " Du hast $%d auf deinem Konto.", PlayerInfo[playerid][pAccount]);
    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);
    new curfunds = PlayerInfo[playerid][pAccount];
    PlayerInfo[playerid][pAccount]=cashdeposit+PlayerInfo[playerid][pAccount];
    SendClientMessage(playerid, COLOR_WHITE, "|___ BANK AUSZUG ___|");
    format(string, sizeof(string), " Alter Kontostand: $%d", curfunds);
    SendClientMessage(playerid, COLOR_GRAD2, string);
    format(string, sizeof(string), " Eingezahlt: $%d",cashdeposit);
    SendClientMessage(playerid, COLOR_GRAD4, string);
    SendClientMessage(playerid, COLOR_GRAD6, "|-----------------------------------------|");
    format(string, sizeof(string), " Neuer Kontostand: $%d", PlayerInfo[playerid][pAccount]);
    SendClientMessage(playerid, COLOR_WHITE, string);
    }
    return 1;
    }
    //------------------------------------------------------------------------------
    if(strcmp(cmd, "/kontoauszug", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(!AtATM(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist nicht an einem Bankautomat !");
    return 1;
    }
    format(string, sizeof(string), " Du hast $%d auf deinem Konto.",PlayerInfo[playerid][pAccount]);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    }
    return 1;
    }
    //------------------------------------------------------------------------------
    if(strcmp(cmd, "/geldüberweisen", true) == 0 || strcmp(cmd, "/atmwiretransfer", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pLevel] < 3)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du musst mindestens Level 3 sein !");
    return 1;
    }
    if(!AtATM(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist nicht an einem Bankautomat !");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /atmtransfer [spielerid/name] [betrag]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutze: /atmtransfer [spielerid/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,giveplayerid);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    format(string, sizeof(string), "Du hast %d$ auf dein Konto von %s überwiesen bekommen.", moneys, sendername, playerid);
    SendClientMessage(giveplayerid, COLOR_GRAD1, string);
    format(string, sizeof(string), "%s hat %d$ an %s überwiesen.", sendername, moneys, giveplayer);
    if(moneys >= 500000)
    {
    ABroadCast(COLOR_YELLOW,string,1);
    }
    printf("%s", string);
    PayLog(string);
    PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Ungültiger Betrag.");
    }


    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht beim Bankautomaten");
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }



  • Ist eigentlich sehr simpel. Anstatt, dass Text angezeigt wird, wenn man in die rote Markierung geht, öffnet sich einfach ein Dialog mit der Auswahl. Jenachdem welche Auswahl du genommen hast, öffnet sich das jeweilige Dialog... und die Dialoge machen dasselbe wie die Befehle... ganz simpel, nur dauerts etwas die Dialoge zu machen...

    mfg RedDragon 8)


    Was ist GFKD?


    Ein revolutionärer Clan, dessen Eröffnung kurz bevorsteht.
    Mehr Informationen folgen bald.

  • Das ist kein Problem


    aber das mit dem Betrag reinschreiben verstehe ich nicht so ganz