ID aus Inputtext ermitteln

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
  • case DIALOG_KNASTW1:
    {
    if(response)
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_KNASTW1,DIALOG_STYLE_INPUT,"Spieler einsperren","Bitte gebe nun seine ID an","Einsperren","Abbrechen");
    }
    else
    {
    new Spieler = strval(inputtext);
    SendClientMessage(Spieler,FARBE_GRAU3,"Du wurdest nun eingesperrt da du Straftaten Begangen hast!");
    SInfo[Spieler][Eingesperrt] = 1000;
    SpawnFinder(Spieler);
    }
    }
    else
    {
    SendClientMessage(playerid,FARBE_GRAU3,"Du hast den Vorgang abgebrochen");
    }
    }
    Sitze momentan an meinem Gefängnis Systeme, soweit funktioniert alles. Nur ich möchte gerne ermitteln das die ID bzw. der Name wirklich existiert den ich im Dialog (Inputtext) angebe.
    Da ich momentan selber eingesperrt werde egal welchen Text ich angebe. ;)

  • Also praktisch so, im vorherigen Dialog wähle ich aus welche betrafung er bekommt.
    Also wie der Dialog mehr oder weniger verrät Dialog_KNASTW1 ( Wantedlevel 1)


    So, wenn ich den Dialog dann aufrufe soll der Spieler die ID angeben.
    Aber der Code muss wissen das der inputtext eine ID wiedergeben soll, bzw. ein Spielername ist.
    Und das dieser Spieler dann auch die angegebenen Daten bekommt in dem Falle "Eingesperrt = 1000"

  • Also praktisch so, im vorherigen Dialog wähle ich aus welche betrafung er bekommt.
    Also wie der Dialog mehr oder weniger verrät Dialog_KNASTW1 ( Wantedlevel 1)


    So, wenn ich den Dialog dann aufrufe soll der Spieler die ID angeben.
    Aber der Code muss wissen das der inputtext eine ID wiedergeben soll, bzw. ein Spielername ist.
    Und das dieser Spieler dann auch die angegebenen Daten bekommt in dem Falle "Eingesperrt = 1000"


    Am besten du fragst erst ab ob er einen Spielernamen eingibt mit sscanf!


    Die ID bekommst dann ungefähr mit dieser Funktion:
    GetIDFromName(Name [])
    {
    new id= INVALID_PLAYER_ID,Name[24];
    for(new i=0;i<MAX_PLAYERS;i++) {
    GetPlayerName(i,name,24);
    if(!strcmp(name,Name,false)) {
    id = i;
    break;
    }
    }
    return id;
    }

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.