Frage mit Dialog Input

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
  • Hi, ich wollt euch mal was fragen undzwar,
    Wen ich jetzt in einem Input Dialog "Los Santos" eingebe, soll Timer1 gestartet werden..
    Wen ich "San Fiero" eingebe soll Timer2 gestartet werden
    und wen ich dan "Las Venturas" eingebe, wird Timer3 gestartet
    Und wen ich keins von denen eingebe sondern irgendein mist z.B "Berlin" soll eine SendClientMessage kommen mit dem Inhalt "Bitte wiederholen sie das"
    ist das möglich? denke schon oder? einfach abfragen was er eingegeben hat.. aber wie??


    Lg


    /Edit Rechtschreibung + Verbesserungen am Text

    Einmal editiert, zuletzt von PSF ()

  • ShowPlayerDıalog
    OnDıalogResponse
    strmıd
    strcmp
    ıf Abfrage

  • hi, meine wirkliche frage war wie ich abfragen kann ob der spieler Los Santos, San Fiero oder Las Venturas in den Dialog eingegeben hat.. sollte dies der fall sein so wird Timer1 Timer2 oder Timer3 gestartet..
    Lg

  • // OnDialogResponse
    if(dialogid == deinedialogid)
    {
    if(response)
    {
    if(!strlen(inputtext))return SendClientMessage(playerid,FARBE,"Du hast keine Stadt eingegeben...");
    if(strcmp(inputtext,"Los Santos",true)==0)
    {
    // Wenn Los Santos eingegeben wurde
    SetTimer(timer1,zeit,wdh);
    }
    else
    if(strcmp(inputtext,"Las Vernturs",true)==0)
    {
    // Wenn Las Venturas eingegeben wurde
    SetTimer(timer2,zeit,wdh);
    }
    else
    if(strcmp(inputtext,"San Fierro",true)==0)
    {
    // Wenn San Fierro eingegeben wurde
    SetTimer(timer3,zeit,wdh);
    }
    }
    }


  • ShowPlayerDialog(playerid, DIEDIALOGID, DIALOG_STYLE_INPUT, "Auswahl", "bitte gebe LS, SF oder LV ein", "OK", "Abrechen");



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    switch(dialogid)
    {
    case DIEDIALOGID:
    {
    if(response)
    {
    if!inputtext[0])
    {
    //einen Text das er nix eingegeben hat
    ShowPlayerDialog(playerid, DIEDIALOGID, DIALOG_STYLE_INPUT, "Auswahl", "bitte gebe LS, SF oder LV ein", "OK", "Abrechen");
    return true;
    }
    if(strcmp(inputtext, "LS", true) == 0)
    {
    //timer1
    return true;
    }
    if(strcmp(inputtext, "SF", true) == 0)
    {
    //timer2
    return true;
    }
    if(strcmp(inputtext, "LV", true) == 0)
    {
    //timer3
    return true;
    }
    //Text das er keins von den 3 eingegeben hat
    ShowPlayerDialog(playerid, DIEDIALOGID, DIALOG_STYLE_INPUT, "Auswahl", "bitte gebe LS, SF oder LV ein", "OK", "Abrechen");
    return true;
    }
    else
    {
    //bei Abruch
    }
    }
    }
    return true;
    }


    Achtung ist hier im Forum geschrieben und ungetestet.


    MFG RFT


    //edit Haxler war schneller.

    RFT

  • Hi danke alle, ich habe Haxler seins genommen aber wen jemand z.B bla bla oder so eingibt passiert nichts und das Dialog verschwindet, es soll aber dan ne nachricht kommen: "Stadtverwalter: Wie bitte?" und dan gerade wieder showplayerdialog.....

  • if(dialogid == deinedialogid)
    {
    if(response)
    {
    if(!strlen(inputtext))return SendClientMessage(playerid,FARBE,"Du hast keine Stadt eingegeben...");
    if(strcmp(inputtext,"Los Santos",true)==0)
    {
    // Wenn Los Santos eingegeben wurde
    SetTimer(timer1,zeit,wdh);
    }
    else
    if(strcmp(inputtext,"Las Vernturs",true)==0)
    {
    // Wenn Las Venturas eingegeben wurde
    SetTimer(timer2,zeit,wdh);
    }
    else
    if(strcmp(inputtext,"San Fierro",true)==0)
    {
    // Wenn San Fierro eingegeben wurde
    SetTimer(timer3,zeit,wdh);
    }
    else return SendClientMessage(playerid,FARBE,"Stadtverwalter: Wiebitte?");
    }
    }