[Hilfe] Bei dialog Buttons

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
  • Moin Brotfischer,


    Ich habe folgendes Problem:


    Ich habe diesen Befehl:

    else if (strcmp("/exitcar", cmd, true, 10) == 0)
    {
    if (Spectating[playerid][0]!=-1)
    {
    TogglePlayerControllable(playerid,1);
    SetVehicleParamsForAll(Kaufliste[Spectating[playerid][0]][Carid],0,0);
    Spectating[playerid][0]=-1;
    RemovePlayerFromVehicle(playerid);
    }
    else { SendClientMessage(playerid, COLOR_GREY, "Du besichtigst kein Auto!"); }
    return 1;
    }

    er funktioniert einwandfrei!


    jetzt wollte ich dies jedoch in einen Dialog einbauen aber es funktioniert nicht!
    Hier der Codeausschnitt:

    if(dialogid == 999)
    {
    if(response ==2)
    {
    TogglePlayerControllable(playerid,1);
    SetVehicleParamsForAll(Kaufliste[Spectating[playerid][0]][Carid],0,0);
    Spectating[playerid][0]=-1;
    RemovePlayerFromVehicle(playerid);
    return 1;
    }


    Weiß Jemand warum das so ist?


    LG

    Gamemod: |||||||||||||||||||| 15%
    Map: |||||||||||||||||||| 70%



  • Poste mal ShowPlayerDialog, also dort wo der DIalog Aufgerufen wird


  • public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    new typ;
    typ=IsAutohausCar(vehicleid);
    if(typ!=-1)
    {
    /*new string[128];*/
    TogglePlayerControllable(playerid,1);
    Spectating[playerid][0]=typ;
    SetVehicleParamsForAll(vehicleid,0,1);
    /*SendClientMessage(playerid, COLOR_YELLOW, "~*~ Autohaus ~*~");
    format(string,128,"Name: %s",Kaufliste[typ][Name]);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    format(string,128,"Preis: $%i",Kaufliste[typ][Preis]);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    format(string,128,"Reparaturkosten: $%i",Kaufliste[typ][Reparatur]);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    SendClientMessage(playerid, COLOR_GREEN, "Dieses Fahrzeug ist zu verkaufen. Um es zu kaufen, benutze: /buycar");
    SendClientMessage(playerid, COLOR_GREEN, "Um das Fahrzeug zu verlassen, benutze: /exitcar");*/
    new Informationen[466];
    new string1[256];
    new string2[210];
    new string3[277];
    format(string1, sizeof(string1),"Name: %s",Kaufliste[typ][Name]);
    format(string2, sizeof(string2),"Preis: $%i",Kaufliste[typ][Preis]);
    format(string3, sizeof(string3),"Reparaturkosten: $%i",Kaufliste[typ][Reparatur]);
    format(Informationen, 512,"%s\n%s\n%s",string1,string2,string3);
    ShowPlayerDialog(playerid, 999, DIALOG_STYLE_MSGBOX,"--------- Autohaus Information --------",Informationen,"Kaufen","Austeigen");
    }
    }
    return 1;
    }

    Gamemod: |||||||||||||||||||| 15%
    Map: |||||||||||||||||||| 70%



  • if(dialogid == 999)
    {
    if(response ==2)
    {
    TogglePlayerControllable(playerid,1);
    SetVehicleParamsForAll(Kaufliste[Spectating[playerid][0]][Carid],0,0);
    Spectating[playerid][0]=-1;
    RemovePlayerFromVehicle(playerid);
    return 1;
    }

    Hast du. Response ist 0 wenn du den Rechten Button Drückst, also musst du für den Linken Response 1 Nehmen, also so:
    if(response ==1)
    {


    Ich würde Dir empfehlen es so zu machen:
    if(response == 0)
    {
    return 1;
    }
    Und Darunter deinen Code