Dialog mit aufstellen

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 zusammen,
    wo habe ich hier einen Fehler gemacht?
    Wenn ich den Befehl eingebe, wird ingame kein Dialog geöffnet.


    Hier der Befehl


    if(strcmp(cmd, "/rb", true) == 0 || strcmp(cmd, "/roadblock", true) == 0)
    {
    if(OnDuty[playerid]==1)
    {
    if(SpielerInfo[playerid][sMember] == 1 && OnDuty[playerid] == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_RB,DIALOG_STYLE_LIST,"Roadblock Menu","Hütchen\nBetonsperre Klein\nBetonsperre Groß\nHolzsperre\nDemozaun\nUmleitung\nSperre Klein\nSperre Mittel\nSperre Groß\n","Annehmen","Abbrechen");
    return 1;
    }
    return 1;
    }
    }



    Hier der Dialog:


    if(dialogid == DIALOG_RB)
    {
    if(response)
    {
    new sendername[24];
    if (listitem == 0)
    {
    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
    SpielerInfo[playerid][pRoadblock] = CreateDynamicObject(1238, X, Y, Z, 0.0, 0.0, A+180,-1,-1,-1,1000.0);
    SetPlayerPos(playerid, X, Y, Z+4);
    GameTextForPlayer(playerid, "~w~Hütchen ~r~platziert", 5000, 5);
    SendClientMessage(playerid, COLOR_GREEN, "Hütchen erfolgreich gesperrt, gib /rrb oder /roadunblock ein um sie zu entfernen.");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    return 1;
    }
    if(listitem == 1)
    {
    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
    SpielerInfo[playerid][pRoadblock] = CreateDynamicObject(1434, X, Y, Z, 0.0, 0.0, A+180,-1,-1,-1,1000.0);
    SetPlayerPos(playerid, X, Y, Z+4);
    GameTextForPlayer(playerid, "~w~Betonsperre Klein ~r~platziert", 5000, 5);
    SendClientMessage(playerid, COLOR_GREEN, "Betonsperre Klein erfolgreich gesperrt, gib /rrb oder /roadunblock ein um sie zu entfernen.");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    return 1;
    }
    if(listitem == 2)
    {
    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
    SpielerInfo[playerid][pRoadblock] = CreateDynamicObject(1422, X, Y, Z, 0.0, 0.0, A+180,-1,-1,-1,1000.0);
    SetPlayerPos(playerid, X, Y, Z+4);
    GameTextForPlayer(playerid, "~w~Betonsperre Gross ~r~platziert", 5000, 5);
    SendClientMessage(playerid, COLOR_GREEN, "Betonsperre Gross erfolgreich gesperrt, gib /rrb oder /roadunblock ein um sie zu entfernen.");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    return 1;
    }
    if(listitem == 3)
    {
    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
    SpielerInfo[playerid][pRoadblock] = CreateDynamicObject(1423, X, Y, Z, 0.0, 0.0, A+180,-1,-1,-1,1000.0);
    SetPlayerPos(playerid, X, Y, Z+4);
    GameTextForPlayer(playerid, "~w~Holzsperre ~r~platziert", 5000, 5);
    SendClientMessage(playerid, COLOR_GREEN, "Holzsperre erfolgreich gesperrt, gib /rrb oder /roadunblock ein um sie zu entfernen.");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    return 1;
    }
    if(listitem == 4)
    {
    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
    SpielerInfo[playerid][pRoadblock] = CreateDynamicObject(1425, X, Y, Z, 0.0, 0.0, A+180,-1,-1,-1,1000.0);
    SetPlayerPos(playerid, X, Y, Z+4);
    GameTextForPlayer(playerid, "~w~Umleitung ~r~platziert", 5000, 5);
    SendClientMessage(playerid, COLOR_GREEN, "Umleitung erfolgreich gesperrt, gib /rrb oder /roadunblock ein um sie zu entfernen.");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    return 1;
    }
    if(listitem == 5)
    {
    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
    SpielerInfo[playerid][pRoadblock] = CreateDynamicObject(1424, X, Y, Z, 0.0, 0.0, A+180,-1,-1,-1,1000.0);
    SetPlayerPos(playerid, X, Y, Z+4);
    GameTextForPlayer(playerid, "~w~Demozaun ~r~platziert", 5000, 5);
    SendClientMessage(playerid, COLOR_GREEN, "Demozaun erfolgreich gesperrt, gib /rrb oder /roadunblock ein um sie zu entfernen.");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    return 1;
    }
    if(listitem == 6)
    {
    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
    SpielerInfo[playerid][pRoadblock] = CreateDynamicObject(1459, X, Y, Z, 0.0, 0.0, A+180,-1,-1,-1,1000.0);
    SetPlayerPos(playerid, X, Y, Z+4);
    GameTextForPlayer(playerid, "~w~Sperre Klein ~r~platziert", 5000, 5);
    SendClientMessage(playerid, COLOR_GREEN, "Sperre Klein erfolgreich gesperrt, gib /rrb oder /roadunblock ein um sie zu entfernen.");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    return 1;
    }
    if(listitem == 7)//1949
    {
    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
    SpielerInfo[playerid][pRoadblock] = CreateDynamicObject(1949, X, Y, Z, 0.0, 0.0, A+180,-1,-1,-1,1000.0);
    SetPlayerPos(playerid, X, Y, Z+4);
    GameTextForPlayer(playerid, "~w~Sperre Mittel ~r~platziert", 5000, 5);
    SendClientMessage(playerid, COLOR_GREEN, "Sperre Mittel erfolgreich gesperrt, gib /rrb oder /roadunblock ein um sie zu entfernen.");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    return 1;
    }
    if(listitem == 8)//981
    {
    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
    SpielerInfo[playerid][pRoadblock] = CreateDynamicObject(981, X, Y, Z, 0.0, 0.0, A+180,-1,-1,-1,1000.0);
    SetPlayerPos(playerid, X, Y, Z+4);
    GameTextForPlayer(playerid, "~w~Sperre Groß ~r~platziert", 5000, 5);
    SendClientMessage(playerid, COLOR_GREEN, "Sperre Groß erfolgreich gesperrt, gib /rrb oder /roadunblock ein um sie zu entfernen.");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du hast bereits eine Straßensperre errichtet!");
    return 1;
    }
    }
    }


    Wäre dankbar über eine Antwort :love:

  • Möchte nur anmerken das du einfach unter dem


    if(OnDuty[playerid] == 1)


    new Float:X, Float:Y, Float:Z, Float:A;


    benutzen kannst, dann musst du nicht bei jedem listitem die Variablen erstellen =)



    if(strcmp(cmd, "/rb", true) == 0 || strcmp(cmd, "/roadblock", true) == 0)
    {
    if(OnDuty[playerid]==1)
    {
    if(SpielerInfo[playerid][sMember] == 1 && OnDuty[playerid] == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_RB,DIALOG_STYLE_LIST,"Roadblock Menu","Hütchen\nBetonsperre Klein\nBetonsperre Groß\nHolzsperre\nDemozaun\nUmleitung\nSperre Klein\nSperre Mittel\nSperre Groß\n","Annehmen","Abbrechen");
    SendClientMessage(playerid, COLOR_GREY, "Debug 1");


    return 1;
    }
    SendClientMessage(playerid, COLOR_GREY, "Debug 2");
    return 1;
    }
    }


    Versuch mal.


  • if(OnDuty[playerid]==1)
    {
    if(SpielerInfo[playerid][sMember] == 1 && OnDuty[playerid] == 0)
    {


    Zu:

    if(OnDuty[playerid]==1)
    {
    if(SpielerInfo[playerid][sMember] == 1)
    {


    Die haben sich nämlich wiedersprochen ;)


    wenn OnDuty 1 ist,mache Wenn sMember = 1 und OnDuty = 0 ...passt nicht :D


  • Wenn ich das mit diesen Befehl mache, wird in diesem Fall "Debug 2" aufgerufen wenn ich als Cop On Duty bin.


    Ein Dialog öffnet sich dennoch nicht