showplayerdialog hilfe benötigt

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
  • ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Hinweis","Mit Klick auf OK werden dir deine Waffen abgenommen und dein Konto wird mit 1500$ belastet","OK", "Abruch");



    wollte mal eben wissen wie ich nun festlegen kann was bei OK und was bei Abruch passiert???

  • geht irgendie nicht...so hab ichs





    if (strcmp("/mitmachen", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 6, 426.4370,2504.0981,16.4844))
    {
    if(GetPlayerMoney(playerid) < 1500)
    {
    SendClientMessage(playerid, COLOR_ORANGE, "Du hast nicht genügend Geld!");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Hinweis","Mit Klick auf OK werden dir deine Waffen abgenommen und dein Konto wird mit 1500$ belastet","OK", "Abruch");
    /*SetPlayerPos(playerid, 373.9139,2466.1387,16.4844);
    ResetPlayerWeapons(playerid);
    GivePlayerMoney(playerid, - 1500);
    new File:teilnehmer = fopen("teilnehmer.txt", io_append);
    fwrite(teilnehmer, "noch ein Teilnehmer\r\n");
    fclose(teilnehmer);*/
    }
    }
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==1) //Deine DialogID
    {
    if(response) //Wenn OK Button gedrückt
    {
    SetPlayerPos(playerid, 373.9139,2466.1387,16.4844);
    ResetPlayerWeapons(playerid);
    GivePlayerMoney(playerid, - 1500);
    new File:teilnehmer = fopen("teilnehmer.txt", io_append);
    fwrite(teilnehmer, "noch ein Teilnehmer\r\n");
    fclose(teilnehmer);
    }
    else //Wenn der andere (Abbrechen) Button gedrückt
    {
    //BlaBla2


    }
    }
    }

  • Versuchs mal so, keine Ahnung obs daran liegt.


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==1) //Deine DialogID
    {
    if(response) //Wenn OK Button gedrückt
    {
    SetPlayerPos(playerid, 373.9139,2466.1387,16.4844);
    ResetPlayerWeapons(playerid);
    GivePlayerMoney(playerid, - 1500);
    new File:teilnehmer = fopen("teilnehmer.txt", io_append);
    fwrite(teilnehmer, "noch ein Teilnehmer\r\n");
    fclose(teilnehmer);
    }
    else //Wenn der andere (Abbrechen) Button gedrückt
    {
    //BlaBla2


    }
    }


    return 1;
    }

  • Ja genau du musst das nicht über ein else machen sondern über ne extra Abfrage.


    Also wenn der auf OK drückt passiert das was unter dem steht: if(response)


    Wenn der aber anderenfalls auf Abbrechen geht passiert das was unter dem steht: if(!response)


    if(response) = Wenn der auf den Dialog antwortet als OK oder egal wie der Button heißt auf jeden Fall immer der linke.


    if(!response) = Wenn der nicht auf den Dialoge antwortet also Abbruch oder wie der Button sonst heißt auf jeden Fall immer der rechte.


    Ganz einfach zu merken ;D


    Mfg OilMast3r

    [color=#0000FF]



    Suche aktive Leute die Interesse haben ein Freeroam Projekt großzuziehen! Es wird noch alles gesucht!
    Besonders: Scripter für einen GM der besonderen Art , Mapper, Brainstormer & Gehilfen! Bei Interesse einfach melden!
    Info: Server, Webspace & WBB 3 + Lizenz vorhanden!

  • public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 1)
    {
    if(!response) return SendClientMessage(playerid,COLOR_ORANGE,"Teilnahme am Event abgebrochen");
    if(response)
    {
    SetPlayerPos(playerid, 373.9139,2466.1387,16.4844);
    ResetPlayerWeapons(playerid);
    GivePlayerMoney(playerid, - 1500);
    new File:teilnehmer = fopen("teilnehmer.txt", io_append);
    fwrite(teilnehmer, "noch ein Teilnehmer\r\n");
    fclose(teilnehmer);
    return 1;
    }
    }
    return 1;
    }




    so hab ich es jetzt...aber es geht nicht...ich bin am verzweifeln...pls helft mir^^

  • public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    printf("DialogID: %i",dialogid);
    if(dialogid == 1)
    {
    if(!response) return SendClientMessage(playerid,COLOR_ORANGE,"Teilnahme am Event abgebrochen");
    if(response)
    {
    SetPlayerPos(playerid, 373.9139,2466.1387,16.4844);
    ResetPlayerWeapons(playerid);
    GivePlayerMoney(playerid, - 1500);
    new File:teilnehmer = fopen("teilnehmer.txt", io_append);
    fwrite(teilnehmer, "noch ein Teilnehmer\r\n");
    fclose(teilnehmer);
    return 1;
    }
    }
    return 1;
    }



    soooo???????



    aber in der server.log wird nichts gespeichert^^

  • #include problemdialog


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ if(dialogid == problemdialog) { if(!response) { return SendClientMessage(playerid,deinefarbe,"Rechten Button geklickt..whatever.."); } if(response) { SetPlayerPos(playerid, 373.9139,2466.1387,16.4844); ResetPlayerWeapons(playerid); GivePlayerMoney(playerid, - 1500); new File:teilnehmer = fopen("teilnehmer.txt", io_append); fwrite(teilnehmer, "noch ein Teilnehmer\r\n"); fclose(teilnehmer); } }return 1;}


    So müsste es geht aber entweder bin ich zu blöd das richtig so zu machen das das nich nur auf eine Zeile kommt oder das ist blöd gecoded.


    Mfg OilMast3r

    [color=#0000FF]



    Suche aktive Leute die Interesse haben ein Freeroam Projekt großzuziehen! Es wird noch alles gesucht!
    Besonders: Scripter für einen GM der besonderen Art , Mapper, Brainstormer & Gehilfen! Bei Interesse einfach melden!
    Info: Server, Webspace & WBB 3 + Lizenz vorhanden!