Banksystem

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
  • Guten Tag liebe Community, an meinem Selfmade bin ich gerade an meinem Banksystem zugangen.
    Nun muss ein PIN bei der Sparkasse beantragt werden, jedoch weiß ich nicht wie ich weiter machen sollte.
    Ich habe es derzeit so weit:
    if(dialogid==DIALOG_PINBEANTRAGEN)
    {
    if(response==0)
    {
    SendClientMessage(playerid,Hellblau,"Dein Konto wurde nicht erstellt, da du den Vorgang abgebrochen hast.");
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,Gelb,"Bitte gebe eine PIN Nummer ein.");
    ShowPlayerDialog(playerid,DIALOG_PINBEANTRAGEN,DIALOG_STYLE_INPUT,"Volksbank Konto beantragen","Willkommen bei der Volksbank Los Santos.\nIhre Daten sind im System nicht gespeichert, also wollen Sie sich ein Konto beantragen.\nBitte geben Sie hierzu einfach ihren gewünschten PIN in das Fenster unten ein.\nSollten Sie ihren PIN verlieren, schauen Sie unter /stats nach.","Fortsetzen","Abbrechen");
    }
    else
    {
    SetPVarInt(playerid,"BankPIN",inputtext);
    }


    }
    }


    Jemand eine Idee?
    Kleine Frage noch nebenbei wie mache ich das, dass der PIN 4 Zeichen lang sein muss.


    MfG

  • strval(inputtext) && strlen(inputtext) == 4

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Ich habe es so, bekomme aber 1 Error?
    if(dialogid==DIALOG_PINBEANTRAGEN)
    {
    if(response==0)
    {
    SendClientMessage(playerid,Hellblau,"Dein Konto wurde nicht erstellt, da du den Vorgang abgebrochen hast.");
    }
    if(response==1)
    {
    if(!strlen(inputtext && !strlen(inputtext) == 4)
    {
    SendClientMessage(playerid,Gelb,"Bitte gebe eine PIN Nummer ein.");
    ShowPlayerDialog(playerid,DIALOG_PINBEANTRAGEN,DIALOG_STYLE_INPUT,"Volksbank Konto beantragen","Willkommen bei der Volksbank Los Santos.\nIhre Daten sind im System nicht gespeichert, also wollen Sie sich ein Konto beantragen.\nBitte geben Sie hierzu einfach ihren gewünschten PIN in das Fenster unten ein.\nSollten Sie ihren PIN verlieren, schauen Sie unter /stats nach.","Fortsetzen","Abbrechen");
    }
    else
    {
    SetPVarInt(playerid,"BankPIN",inputtext);
    }


    }
    }


    C:\Users\John_Jones\Desktop\Neuer Ordner (3)\gamemodes\First-Roleplay.pwn(1261) : error 033: array must be indexed (variable "inputtext")

  • Soo habe es soweit, aber es sollte noch was abfragen.
    Also hier fragt er ja ab ob er was eingegeben hat und die Eingabe 4 Zeichen lang ist. if(!strlen(inputtext) && strlen(inputtext) == 4)
    Wie kann ich Buchstaben abfragen, sodass er nur Zahlen eingeben kann?

  • Ich habe es soweit mal getestet.
    Mein Code sieht derzeit so aus:
    if(dialogid==DIALOG_PINBEANTRAGEN)
    {
    if(response==0)
    {
    SendClientMessage(playerid,Hellblau,"Dein Konto wurde nicht erstellt, da du den Vorgang abgebrochen hast.");
    }
    if(response==1)
    {
    if(!strval(inputtext) && strval(inputtext) == 4)
    {
    SendClientMessage(playerid,Gelb,"Bitte gebe eine PIN Nummer ein, der PIN muss 4 Zahlen haben.");
    ShowPlayerDialog(playerid,DIALOG_PINBEANTRAGEN,DIALOG_STYLE_INPUT,"Volksbank Konto beantragen","Willkommen bei der Volksbank Los Santos.\nIhre Daten sind im System nicht gespeichert, also wollen Sie sich ein Konto beantragen.\nBitte geben Sie hierzu einfach ihren gewünschten PIN in das Fenster unten ein.\nSollten Sie ihren PIN verlieren, schauen Sie unter /stats nach.","Fortsetzen","Abbrechen");
    }
    else
    {
    SetPVarInt(playerid,"BankPIN",strval(inputtext));
    new string[128];
    format(string,sizeof(string),"Deine PIN Nummer: %d",GetPVarInt(playerid,"BankPIN"));
    SendClientMessage(playerid,Hellrot,string);
    }


    }
    }


    Nun wenn ich einen PIN eingebe wird er mir im string also der Naricht angezeigt, dies geht soweit.
    Nun wenn ich einen Buchstaben eingebe kommt im string als PIN 0.
    Wenn ich eine kleinere Zahl als 4 Zeichen nehme steht die kleinere Zahl die ich eingegeben habe halt da, jemand Ideen...?
    Mir ist dieses System echt sehr wichtig.


    MfG

  • Ich Schau gleich ich werde es dan rein editieren


    //edit


    So:


    if(!strval(inputtext) && strval(inputtext) == 4)
    du Fragst ab ob der Inputtext kein Strval ist UND 4 ist


    Eher getrennt : if(!strval(inputtext) ) { DEINEN DIALOG NEU ANZEIGEN }


    und mit strval überpüft man ob es eine Zahl ist mit strlen die Länge ;)


    MFG Arendium

  • Okay, ich bin schonmal so weit das man nur noch Zahlen eingeben kann :DD
    Aber ich kann immer noch beliebig viele Zahlen eingeben? O.o
    Mein Code sieht derzeit so aus:
    if(dialogid==DIALOG_PINBEANTRAGEN)
    {
    if(response==0)
    {
    SendClientMessage(playerid,Hellblau,"Dein Konto wurde nicht erstellt, da du den Vorgang abgebrochen hast.");
    }
    if(response==1)
    {
    if(!strval(inputtext) && strlen(inputtext) == 4)
    {
    SendClientMessage(playerid,Gelb,"Bitte gebe eine PIN Nummer ein, der PIN muss 4 Zahlen haben.");
    ShowPlayerDialog(playerid,DIALOG_PINBEANTRAGEN,DIALOG_STYLE_INPUT,"Volksbank Konto beantragen","Willkommen bei der Volksbank Los Santos.\nIhre Daten sind im System nicht gespeichert, also wollen Sie sich ein Konto beantragen.\nBitte geben Sie hierzu einfach ihren gewünschten PIN in das Fenster unten ein.\nSollten Sie ihren PIN verlieren, schauen Sie unter /stats nach.","Fortsetzen","Abbrechen");
    }
    else
    {
    SetPVarInt(playerid,"BankPIN",strval(inputtext));
    new string[128];
    format(string,sizeof(string),"Deine PIN Nummer: %d",GetPVarInt(playerid,"BankPIN"));
    SendClientMessage(playerid,Hellrot,string);
    }


    }
    }

  • Hab mit Längen noch net oft Zusammengearbeitet und habe kein Script zum Schauen ich schaue Aber mal im Wiki und editiere es Hier rein


    if(!strval(inputtext) && strlen(strval(inputtext)) >= 5)
    {


    }
    if(strlen(strval(inputtext)) <= 3)
    {


    }
    So das wären dan die Wenn nicht Abfragen Wenn es net klappt versuch mal bei der strlen das strval wegzulassen und nur inputtext Habe wie Gesagt
    Kein Testscript

  • B


    Bekomme es damit irgendwie nicht hin :S

  • Hmmm Irgendwelche Errors Oder Klappt es einfach nicht ? Ich kenn jemand der das bestimmt gleich weis Kaliber: Hast du zufällig ne idee ?


    Sehr lustig :whistling:


    Schreibe den Code einfach mal so:


    if(dialogid==DIALOG_PINBEANTRAGEN)
    {
    if(!response) return SendClientMessage(playerid,Hellblau,"Dein Konto wurde nicht erstellt, da du den Vorgang abgebrochen hast.");
    if(response)
    {
    if(strlen(inputtext) != 4 || !IsNumeric(inputtext))
    {
    SendClientMessage(playerid,Gelb,"Bitte gebe eine PIN Nummer ein.");
    ShowPlayerDialog(playerid,DIALOG_PINBEANTRAGEN,DIALOG_STYLE_INPUT,"Volksbank Konto beantragen","Willkommen bei der Volksbank Los Santos.\nIhre Daten sind im System nicht gespeichert, also wollen Sie sich ein Konto beantragen.\nBitte geben Sie hierzu einfach ihren gewünschten PIN in das Fenster unten ein.\nSollten Sie ihren PIN verlieren, schauen Sie unter /stats nach.","Fortsetzen","Abbrechen");
    }
    else
    {
    SetPVarInt(playerid,"BankPIN",strval(inputtext));
    }
    }
    }


    Falls du einen Error bekommen solltest der so aussieht:


    Code
    undefined symbol 'IsNumeric'


    Packe das in dein Script:


    stock IsNumeric(const string[])
    {
    for (new i = 0, j = strlen(string); i < j; i++)
    {
    if (string[i] > '9' || string[i] < '0') return -1;
    }
    return 0;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Wenn ich das so mache dann ist es egal was ich eingebe.
    Da kommt dann immer Bitte gebe eine PIN Nummer ein.


    MfG

  • Mhm, okay, dann mache die if-Abfrage mal so:


    if(strlen(inputtext) != 4)


    Wenn man halt Buchstaben eingibt, wird das auch in eine Zahl umgewandelt, aber man ist dann selber dran Schuld :whistling:


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Dann bekomme ich aber Errors?
    if(dialogid==DIALOG_PINBEANTRAGEN)
    {
    if(!response) return SendClientMessage(playerid,Hellblau,"Dein Konto wurde nicht erstellt, da du den Vorgang abgebrochen hast.");
    if(response)
    {
    if(strlen(inputtext) != 4) || !IsNumeric(inputtext)) //Error Zeile
    {
    SendClientMessage(playerid,Gelb,"Bitte gebe eine PIN Nummer ein.");
    ShowPlayerDialog(playerid,DIALOG_PINBEANTRAGEN,DIALOG_STYLE_INPUT,"Volksbank Konto beantragen","Willkommen bei der Volksbank Los Santos.\nIhre Daten sind im System nicht gespeichert, also wollen Sie sich ein Konto beantragen.\nBitte geben Sie hierzu einfach ihren gewünschten PIN in das Fenster unten ein.\nSollten Sie ihren PIN verlieren, schauen Sie unter /stats nach.","Fortsetzen","Abbrechen");
    }
    else
    {
    SetPVarInt(playerid,"BankPIN",strval(inputtext));
    }
    }
    }


    C:\Users\John_Jones\Desktop\Neuer Ordner (3)\gamemodes\First-Roleplay.pwn(1270) : error 029: invalid expression, assumed zero
    C:\Users\John_Jones\Desktop\Neuer Ordner (3)\gamemodes\First-Roleplay.pwn(1270) : error 001: expected token: ";", but found ")"
    C:\Users\John_Jones\Desktop\Neuer Ordner (3)\gamemodes\First-Roleplay.pwn(1270) : error 029: invalid expression, assumed zero
    C:\Users\John_Jones\Desktop\Neuer Ordner (3)\gamemodes\First-Roleplay.pwn(1270) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    MfG

  • Ups...ja mein Fehler, schreibe es so:


    if(dialogid==DIALOG_PINBEANTRAGEN)
    {
    if(!response) return SendClientMessage(playerid,Hellblau,"Dein Konto wurde nicht erstellt, da du den Vorgang abgebrochen hast.");
    if(response)
    {
    if(strlen(inputtext) != 4 || !IsNumeric(inputtext)) //Error Zeile
    {
    SendClientMessage(playerid,Gelb,"Bitte gebe eine PIN Nummer ein.");
    ShowPlayerDialog(playerid,DIALOG_PINBEANTRAGEN,DIALOG_STYLE_INPUT,"Volksbank Konto beantragen","Willkommen bei der Volksbank Los Santos.\nIhre Daten sind im System nicht gespeichert, also wollen Sie sich ein Konto beantragen.\nBitte geben Sie hierzu einfach ihren gewünschten PIN in das Fenster unten ein.\nSollten Sie ihren PIN verlieren, schauen Sie unter /stats nach.","Fortsetzen","Abbrechen");
    }
    else
    {
    SetPVarInt(playerid,"BankPIN",strval(inputtext));
    }
    }
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Falls du IsNummeric Nicht hast Hier:



    stock IsNumeric(const string[]) {
    new length=strlen(string);
    if (length==0) return false;
    for (new i = 0; i < length; i++) {
    if (
    (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+')
    || (string[i]=='-' && i!=0) //
    || (string[i]=='+' && i!=0) //
    ) return false;
    }
    if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
    return true;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen