Bestimmte zeichen ausschließen

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,


    Ich möchte mit dem imputtext aus einem Dialog folgendes machen. Es sollen 2 verschiedene Inputtexte sein:


    1. kein leerer inputtext, nicht weniger als 1 und nicht mehr als 2 Buchstabe/n, keine Zahlen und keine Zeichen (nur Buchstaben).


    2. kein leerer inputtext, keine Buchstaben und keine Zeichen (nur zahlen), nicht kleiner als 1 und nicht höher als 99



    Kann mir jemand sagen wie ich das machen muss? Ich habes schon versucht aber der verwertet immer nur den ersten Buchstaben sprich wen ich AB eingebe nimmt das script nur den Buchstaben A...



    if(!strfind(inputtext,"1",true) || !strfind(inputtext,"2",true)|| !strfind(inputtext,"3",true)|| !strfind(inputtext,"4",true)|| !strfind(inputtext,"15",true)|| !strfind(inputtext,"6",true)|| !strfind(inputtext,"7",true)|| !strfind(inputtext,"8",true)|| !strfind(inputtext,"9",true)|| !strfind(inputtext,"10",true|| !strfind(inputtext,"!",true)|| !strfind(inputtext,"§",true)|| !strfind(inputtext,"-",true)|| !strfind(inputtext,"=",true)|| !strfind(inputtext,"$",true)|| !strfind(inputtext,"&",true)))
    {

    return 1;
    }
    new idx;
    new length = strlen(inputtext);
    while ((idx < length) && (inputtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    if(offset > 2)
    {

    return 1;
    }

  • derzeit habe ich das ganze so aufgebaut!




    new tmp[24];
    new x;
    tmp = strtok(inputtext, x);
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,24,DIALOG_STYLE_INPUT,"2 Buchstaben","Falsche Kombination! (Min. 1 Buchstaben verwenden)\nGib die zweiten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    if(strlen(inputtext) > 2)
    {
    ShowPlayerDialog(playerid,24,DIALOG_STYLE_INPUT,"2 Buchstaben","Falsche Kombination! (Max. 2 Buchstaben verwenden)\nGib die zweiten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }

    if(!strfind(inputtext,"1",true) || !strfind(tmp,"2",true)|| !strfind(tmp,"3",true)|| !strfind(tmp,"4",true)|| !strfind(tmp,"5",true)|| !strfind(tmp,"6",true)|| !strfind(tmp,"7",true)|| !strfind(tmp,"8",true)|| !strfind(tmp,"9",true)|| !strfind(tmp,"10",true|| !strfind(tmp,"!",true)|| !strfind(tmp,"§",true)|| !strfind(tmp,"-",true)|| !strfind(tmp,"=",true)|| !strfind(tmp,"$",true)|| !strfind(tmp,"&",true)))
    {
    ShowPlayerDialog(playerid,24,DIALOG_STYLE_INPUT,"2 Buchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die zweiten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    strmid(Buchstaben[playerid], inputtext, 0, strlen(inputtext), 5);
    ShowPlayerDialog(playerid,25,DIALOG_STYLE_INPUT,"2 Buchstaben","Gib die 2 Zahlen ein!","Anwenden","Abbrechen");
    return 1;
    }



    aller dings gibt Buchstaben[playerid] nur den ersten Buchstaben aus!

  • Bei Pawn wird zwischen verschiedenen Variablen-Typen unterschieden.


    Integer - Ganzzahlige Zahl ( 5 )
    Float - Kommazahl ( 5.0 )
    String - Text ( hallo )


    Ein String wird in einer Variable gespeichert, indem jedem Arraywert ( var[array] ) ein Buchstabe zugewiesen wird.


    Da du eine Integervariable ( ein Arraywert ) missbrauchst und dort versuchst, einen String reinzupressen,
    wird nur ein Buchstabe gespeichert.


    new string[256]; deklariert bspw einen string mit 256 Buchstaben

  • ahh ich habs jetzt! Dank für die Hilfe


    so habe ich es nun gemacht ich denke so meintest du es auch.



    if(dialogid == 24)// zweiten 2
    {
    if(response == 1)
    {
    new tmp[24];
    new x;
    tmp = strtok(inputtext, x);
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,24,DIALOG_STYLE_INPUT,"Buchstaben","Falsche Kombination! (Min. 1 Buchstaben verwenden)\nGib die zweiten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    if(strlen(inputtext) > 2)
    {
    ShowPlayerDialog(playerid,24,DIALOG_STYLE_INPUT,"Buchstaben","Falsche Kombination! (Max. 2 Buchstaben verwenden)\nGib die zweiten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    format(string, sizeof(string), "%s", inputtext);
    if(!strfind(string,"1",true) || !strfind(string,"2",true)|| !strfind(string,"3",true)|| !strfind(string,"4",true)|| !strfind(string,"5",true)|| !strfind(string,"6",true)|| !strfind(string,"7",true)|| !strfind(string,"8",true)|| !strfind(string,"9",true)|| !strfind(string,"10",true|| !strfind(string,"!",true)|| !strfind(string,"§",true)|| !strfind(string,"-",true)|| !strfind(string,"=",true)|| !strfind(string,"$",true)|| !strfind(string,"&",true)))
    {
    ShowPlayerDialog(playerid,24,DIALOG_STYLE_INPUT,"Buchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die zweiten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    strmid(Buchstaben2[playerid], string, 0, strlen(string), 5);
    ShowPlayerDialog(playerid,25,DIALOG_STYLE_INPUT,"Buchstaben","Gib die 2 Zahlen ein!","Anwenden","Abbrechen");
    return 1;
    }
    return 1;
    }


    Allerdings kann ich sonderzeichen verwenden! Das möchte ich aber nicht kann ich das verhindern?




    //edit Achso und 1a verweigert er aber a1 lässt er durch!?



    //edit² Vielen Dank für die Hilfe ich habe das letzte Problem selber hinbekommen


    //edit³ Aufgrund der bitte von Trooper[Y] stelle ich nun rein wie ich das Problem behoben habe!



    new musnt;
    musnt = strfind(string, "$", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "?", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "}", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "{", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "[", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "]", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "²", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "³", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "!", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "#", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "§", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "%", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "&", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "/", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "(", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, ")", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "=", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "-", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "_", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, ",", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, ".", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, ";", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, ":", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "<", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, ">", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "|", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "^", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "°", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "*", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "+", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "~", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "'", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "1", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "2", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "3", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "4", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "5", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "6", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "7", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "8", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "9", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }
    musnt = strfind(string, "0", true);
    if(musnt != -1)
    {
    ShowPlayerDialog(playerid,23,DIALOG_STYLE_INPUT,"WunschBuchstaben","Falsche Kombination! (Ungültiges Zeichen)\nGib die ersten 2 Buchstaben ein!","Anwenden","Abbrechen");
    return 1;
    }

    2 Mal editiert, zuletzt von Legö ()