Dialog frage

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
  • Hii, hab ne frage ;)


    if (strcmp("/buy", cmdtext, true, 12) == 0)
    {
    ShowPlayerDialog(playerid, 3, 2, "Menü", "Bier\nHamburger\nPizza\nWeed", "Select", "Exit");
    return 1;
    }


    if(dialogid == 3) // Deine Dialogid
    {
    switch(listitem)
    {


    case 0: //Wenn das erste Listenelement gewählt wurde
    {
    SendClientMessage(playerid, COLOR_GOLD, "Du hast ein Bier gekauft.");
    GivePlayerMoney(playerid, -5);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_BEER );
    }


    case 1: //Wenn das erste Listenelement gewählt wurde
    {
    SendClientMessage(playerid, COLOR_GOLD, "Du hast einen Hamburger gekauft.");
    GivePlayerMoney(playerid, -7);
    SetPlayerHealth(playerid, 100);


    }
    case 2: //Wenn das erste Listenelement gewählt wurde
    {
    SendClientMessage(playerid, COLOR_GOLD, "Du hast eine Pizza gekauft.");
    GivePlayerMoney(playerid, -7);
    SetPlayerHealth(playerid, 100);


    }
    case 3:
    {
    SetPlayerWeather(playerid, -66);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_SMOKE_CIGGY);
    GivePlayerMoney(playerid, -50);
    }
    }
    }


    Wie kann ich amchen wenn ich auf Exit klicke garnix kaufe?


    // und


    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_SMOKE_CIGGY);
    wie kann ich machen das das nur sagenwa mal ... 5min ist? :P



    MfG

    ___________________
    ComaCrew


    Gamemode: 25% bis zum 1. Release


    MOD'S GESUCHT!
    LEADER GESUCHT!
    ___________________
    _______

  • Ändere
    if(dialogid == 3) // Deine Dialogid
    zu
    if(dialogid == 3 && response) // Deine Dialogid


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Denn response checkt ob der Spieler "ok" klickt oder "beenden". ;)

    Kalcor: "... it makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."

  • Zitat

    Denn response checkt ob der Spieler "ok" klickt oder "beenden". ;)

    Falsch!
    response überprüft, ob du den linken Button oder den rechten Button geklickt hast.
    Schließlich könnte da auch "Kick Mich" oder "Stay" stehen.




    if(response == 0) // 0 für den rechten Button, 1 für den linken button.
    {
    TogglePlayerControllable(playerid,true); // muss nicht kann aber.
    return 1;
    }


    oder:


    if(response) // response ohne Ausrufezeichen für den linken Button und mit Ausrufezeichen (!response) für den rechten Button.
    {
    TogglePlayerControllable(playerid,true); // muss nicht kann aber.
    return 1;
    }


    /e.T.:
    Experte.... *facepalm* ( Tobi)

    Einmal editiert, zuletzt von Trooper[Y] ()

  • abgekürzt


    if(response)
    {
    switch(dialogid)
    {
    case 0:
    {


    }
    }
    }
    else
    {
    [...] <<CODE
    }



    Und um die Materie zu zu erklären...


    if(response) // Wandelt enthaltenen Wert in Boolean ( Wahr/Falsch) um also ist 1 in der Regel = True und 0 False
    if(!response) // Das Ausrufe Zeichen fragt das Ergebnis ab & Bewertet das Gegenteil davon als Einleitung ins Richtige

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Generell ist der linke Button "Okay" und der rechte "Beenden", sonst kann man doch ein GUI nicht beenden.

    Kalcor: "... it makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."

  • Man muss kein GUI per "Beenden" beenden.


    Du kannst ja auch Schreiben: "Willst du ein Experte sein?"


    Left Button "Ja" - Rechts: "Nein".


    Du kannst mit beiden Buttons das GUI schließen und je nachdem etwas ausführen :pinch:

  • Danke Danke :)


    Ehm. jetzt noch 1. :P wie kann ich machen das man den befehl nur beim pickup mchen kann?

    ___________________
    ComaCrew


    Gamemode: 25% bis zum 1. Release


    MOD'S GESUCHT!
    LEADER GESUCHT!
    ___________________
    _______

  • Das Pickup machst du einfach als Verzierde und fragst bei dem Befehl halt einfach ab.



    if(IsPlayerInRangeOfPoint(playerid,Radius, X-Coord von dem PickUp, Y-Coord von dem PickUp, Z-Coord von dem PickUp)

  • if(IsPlayerInRangeOfPoint(playerid,Radius, X-Coord von dem PickUp, Y-Coord von dem PickUp, Z-Coord von dem PickUp))


    Da fehlte eine klammer :P


    Aber Dankee für die hilfe :):)

    ___________________
    ComaCrew


    Gamemode: 25% bis zum 1. Release


    MOD'S GESUCHT!
    LEADER GESUCHT!
    ___________________
    _______