Ergebnis 1 bis 11 von 11

Thema: Abbrechen der Bildanzeige im eigenen Menü

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Schalte das Obermenü an bevor du das Infomenü schliesst!
    ICh denke dein Event hier wird mit dem Switch Infomenü angeschaltet (korriegier mich wenn ich falsch liege). Wenn es davor wieder geschlossen wird, is klar, dass die Befehle unter dem Switch-Off Befehl nicht mehr durchgeführt werden. Ich denke daran liegts.

    @cilence
    meinst du? Ich mach diesen Fehler ständig bei meinen KI's wo ich mich schlussendlich dumm und dämlich ärgere, weil ich den fehler nicht finde x_X

    Geändert von Supermike (18.10.2009 um 15:11 Uhr)

  2. #2
    @Supermike:
    Das geht normalerweise trotzdem, weswegen ich danach öfters ein jump to label mache, der bis zum Eventende springt. Dann geht es sicher aus, so aber eigentlich auch.
    edit: ja, habs vorhin probiert, ist so.

    Geändert von cilence (18.10.2009 um 16:00 Uhr)

  3. #3
    Bitte exportiere das ganze Event (nicht nur den Code) mit dem EasyEventExporter als Text, damit wir dir ordentlich helfen können.

    Bei der Frage nach einem Formatting Template klick auf "Ja" und wähle die Datei "vbcode_lightbg.eft" im Ordner "ftemplates", damit es auch im Forum gut aussieht.

    mfG Cherry

  4. #4
    Hallo zusammen und erstmal Danke für eure Antworten!

    Zitat Zitat von makenshi Beitrag anzeigen
    An sich sieht das alles was du da machst nämlich auch unnötig komplex aus. Mehr als ein ausfaden mit anschließendem Löschen des Bildes ist an sich nicht nötig. Ich denke es happert an der Struktur des Menüs. Darum bitte einmal das ganze Konstrukt posten. Mehr als ein Enter PW Befehl ist meist auch nicht nötig.
    Zwischen der Anzeige der einzelnen Bilder muss doch aber noch etwas rein, damit es auch sichtbar bleibt. Einfach nur ein paar Show Pictures nacheinander funktioniert ja nicht.

    Das Bild soll solange eingeblendet bleiben, bis der Spieler weiterblättert oder eben abbricht. Und dazu denke ich ist diese Passwortabfrage+Fork zuständig, die eben wartet, bis der Spieler Enter oder ESC drückt.

    Zitat Zitat von Supermike Beitrag anzeigen
    Schalte das Obermenü an bevor du das Infomenü schliesst!
    ICh denke dein Event hier wird mit dem Switch Infomenü angeschaltet (korriegier mich wenn ich falsch liege). Wenn es davor wieder geschlossen wird, is klar, dass die Befehle unter dem Switch-Off Befehl nicht mehr durchgeführt werden. Ich denke daran liegts.
    Daran hatte ich auch schon gedacht. Aber es funktioniert ja bei allen anderen Events auch so, und bei dem genannten eben nur mit dem Enter Befehl. Ich meine aber mich zu erinnern, dass es mit der Bildanzeige probleme gab, wenn ich erst den neuen Switch anschalte ... dann schaltet er den anderen nicht mehr aus. Meine ich zumindest, ich weiß es nicht mehr...

    Hier jedenfalls mal der gesamte Code aus dem Editor (danke für den Tipp mit dem EEE, kannte ich noch nicht )

    Zitat Zitat von EasyEventExporter
    - SCRIPT -
    <> Move Picture: #10, (31, 108), Mgn 100%, Tsp 100%, 0,0 sec., Wait
    <> Show Picture: #7, verw-einnahmenübersicht1, (160, 120), Mgn 300%, Tsp 100%, No trans. color
    <> Play Sound Effect: buch, Volume 100%, Speed 100%, Pan Center
    <> Move Picture: #7, (160, 120), Mgn 100%, Tsp 0%, 0,4 sec., Wait
    <> Key Input Processing: Var. [1001], Wait until key pressed, Keys: Decision, Cancel
    <> Fork Condition: If Variable [1001] == 5 then ...
    . <> Play Sound Effect: buch, Volume 100%, Speed 100%, Pan Center
    . <> Show Picture: #7, verw-einnahmenübersicht2, (160, 120), Mgn 100%, Tsp 0%, No trans. color
    . <>
    : Else ...
    . <> Fork Condition: If Variable [1001] == 6 then ...
    . . <> Move Picture: #7, (160, 120), Mgn 300%, Tsp 100%, 0,4 sec., Wait
    . . <> Erase Picture: #7
    . . <> Move Picture: #10, (31, 108), Mgn 100%, Tsp 0%, 0,0 sec.
    . . <> Change Switch: [1065] = OFF
    . . <> Change Switch: [1062] = ON
    . . <>
    . : End of fork
    . <>
    : End of fork
    <> Key Input Processing: Var. [1001], Wait until key pressed, Keys: Decision, Cancel
    <> Fork Condition: If Variable [1001] == 5 then ...
    . <> Move Picture: #7, (160, 120), Mgn 300%, Tsp 100%, 0,4 sec., Wait
    . <> Erase Picture: #7
    . <> Move Picture: #10, (31, 108), Mgn 100%, Tsp 0%, 0,0 sec.
    . <> Change Switch: [1065] = OFF
    . <> Change Switch: [1062] = ON
    . <>
    : Else ...
    . <> Fork Condition: If Variable [1001] == 6 then ...
    . . <> Move Picture: #7, (160, 120), Mgn 300%, Tsp 100%, 0,4 sec., Wait
    . . <> Erase Picture: #7
    . . <> Move Picture: #10, (31, 108), Mgn 100%, Tsp 0%, 0,0 sec.
    . . <> Change Switch: [1065] = OFF
    . . <> Change Switch: [1062] = ON
    . . <>
    . : End of fork
    . <>
    : End of fork

  5. #5
    Ich verstehe trotzdem nicht, warum Du das so kompliziert machst.

    Den Teil kannst Du ja lassen:
    Code:
    <> Move Picture: #10, (31, 108), Mgn 100%, Tsp 100%, 0,0 sec., Wait
    <> Show Picture: #7, verw-einnahmenübersicht1, (160, 120), Mgn 300%, Tsp 100%, No trans. color
    <> Play Sound Effect: buch, Volume 100%, Speed 100%, Pan Center
    <> Move Picture: #7, (160, 120), Mgn 100%, Tsp 0%, 0,4 sec., Wait
    Das brauchst Du, ist klar warum. Direkt danach hätte ich das so gemacht:

    Code:
    Label 1
    key input process 'key' (Enter; Cansel; Wait) // key ist die Variable für die Taste
    if (key == 5)
    menu_point++ // einmal plus eins rechnen
    <> Play Sound Effect: buch, Volume 100%, Speed 100%, Pan Center
    else if (key == 6)
    // Abbruch
    // ----------
    if (menu_point == 1)
    // hier Deine move sowie show Befehle
    jump to label 1 // hier springt das Skript wieder nach oben zur Tastenabfrage, nachdem es fertig durchgelaufen ist
    if (menu_point == 2)
    // nochmal fürs nächste Bild
    ... // was hier kommt, dürfte ja klar sein
    jump to label 1 // hier springt das Skript wieder nach oben zur Tastenabfrage, nachdem es fertig durchgelaufen ist
    ...
    ...
    Wäre wesentlich einfacher. Den Fehler bei Dir sehe ich trotzdem nicht.

    Geändert von cilence (18.10.2009 um 21:22 Uhr)

  6. #6
    Stimmt, du hast Recht. Die Forks zum Abbrechen tauchen insgesamt drei mal auf. Dies lässt sich vermeiden, indem man ein Label erstellt und die Abfrage darüber wiederholen lässt.

    Ich werde es mal so wie du vorgeschlagen hast ausprobieren, melde mich dann zurück.

    Edit: Mit der Label-Variante scheint zumindest das Problem mit dem Abbrechen behoben zu sein. Jetzt muss noch eine Lösung her, mit der man das Label wieder beendet, nachdem alle x Bilder durchgeschaut wurden. Sonst zeigt sich das ganze Event in einer Endlosschleife, wenn man nicht direkt nach dem ersten Bild ESC drückt

    Edit 2: So, habe nun nach der Abfrage vom letzten Bild wieder den Codeschnipsel zum Abbrechen eingefügt:

    Code:
    if (menu_point == 1)
    // hier Deine move sowie show Befehle
    jump to label 1 // 
    if (menu_point == 2)
    // nochmal fürs nächste Bild
    if (menu_point == 3)
    // Abbruch
    Es scheint zu funktionieren, zumindest bei dem eben getesteten Eintrag mit 2 Bildern. Werde es gleich nochmal mit mehreren Bildern probieren, aber ich denke dass es auch dort klappen wird. Der Fehler lag anscheinend doch in meiner "komplexen" Version und lässt sich durch die einfache mit den Labels beheben

    Achso ... ganz am Anfang vom Event, direkt als erstes, muss die key Variable auf 0 gesetzt werden (Set - Set - 0), damit alles beim erneuten Aufruf des Menüs auch schön wieder von vorne beginnt.

    Geändert von Jadoo (18.10.2009 um 22:00 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •