Lieber Besucher, herzlich willkommen bei: RPG Studio - Make your World real. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

1

Montag, 28. September 2015, 16:29

[Erledigt](Game_Event umprogrammieren?) -> Variable im Comment als Condition abfragen

Hallo! :D

Ich hab mir "Game_Event" einmal angesehen. Die Stelle, wo geregelt wird, welche Switche und Variablen aktiv sind, was man in der Event-Maske einstellen kann (also das Ding, dass sich öffnet, wenn man auf ein leeres Feld doppelklickt).
Ich frage mich, ob ich den Teil hier

Ruby Quellcode

85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
        # Switch 1 condition confirmation
        if c.switch1_valid
          if $game_switches[c.switch1_id] == false
            next
          end
        end
        # Switch 2 condition confirmation
        if c.switch2_valid
          if $game_switches[c.switch2_id] == false
            next
          end
        end
        # Variable condition confirmation
        if c.variable_valid
          if $game_variables[c.variable_id] < c.variable_value
            next
          end

...einfach umformulieren kann, so dass die Eventmaske einen Switch und zwei Variablen abfragt, statt zwei Switche und eine Variable. Ist es irgendwie möglich? Ausgelegt ist die Maske ja nicht dafür, es fehlt ein zweites Zahlenfeld, für eine eventuelle zweite Variable. Ich habe auch noch nicht gefunden, wo die Maske gebaut wird- sicherlich nicht in den einfachen Scripten, sondern irgendwo tief versteckt, oder?

Eine zweite Variable würde da aber für mich viel nützerlicher sein, als ein zweiter Switch XD
Wenn das nicht möglich ist, überlege ich mir einen Weg drumherum :3

Danke!

Josey~
  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Josey« (2. Oktober 2015, 09:10)


2

Montag, 28. September 2015, 16:48

Hallo, die Maske kannst Du leider nicht anpassen. Die Scripte können nur das Spiel beeinflussen, aber nicht den Maker.
Du kannst diesen Teil des Scripts zwar beliebig anpassen, sodass zum Beispiel nurnoch der Switch relevant ist, oder auch noch zusätzliche Werte abfragen - nur kannst Du diese neuen Werte nicht mit einem eigenen Feld in den Maker einbauen, darauf ist keiner der RPG Maker ausgelegt.

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

3

Montag, 28. September 2015, 16:50

Schade. :<
Dann wirds wieder komplizierter. Naja, wird schon.
Danke für die Antwort :)
  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

4

Montag, 28. September 2015, 16:55

Du könntest die ID des zweiten Switch natürlich auch als VariablenID interpretieren - nur woher kommt dann der Vergleichswert für die Condition?
Bin gespannt, ob Du eine Lösung findest. :)

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

5

Montag, 28. September 2015, 18:01

Ich denke ich hab schon eine. Nur muss ich dazu alles nochmal umplanen. D:
Eventuell frage ich demnächst noch ein Script an, dass mir Switche ONt, wenn zwei Variablen auf einem bestimmten Wert sind. Das 300 mal für 35 *3 verschiedene Möglichkeiten per CB zu machen, erscheint mir komplizierter, als es eventuell in einem Script möglich wäre.
Aber erst probiere ich rum, bis ich zufrieden bin. Eigentlich war ich schon fertig, aber dann viel mir auf, dass ich nur 5000 Switche haben kann und das sind tatsächlich zu wenig. XD Und Limit-Breaker crashen den Rest meines Systems. Also zurück auf 0.
Danke ;)
  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

6

Montag, 28. September 2015, 20:11

Hm, ist das nicht ein bisschen viel Aufwand?
Man könnte doch die PageConditions die Du hast auch anders erweitern. Nehmen wir an, wir prüfen in dem Scriptausschnitt nicht nur die Bedingungen auf der Seite (c.switch1_id, c.switch2_id, c.variable_id) sondern wir schauen uns auch den erste Eventbefehl auf der Seite an. Wenn der Eventbefehl ein Kommentar ist und drinsteht: "Hallo, bitte erst wenn die Variable 24 auf über 70 steht aktivieren", so prüfen wir auch noch die Variable 24 und aktivieren nur wenn auch hier der Wert stimmt die Eventseite. Wäre das nicht auch etwas?

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

7

Montag, 28. September 2015, 20:38

Das klingt erstmal gut und nach dem was ich suche.
Dann würde die ganze Eventseite also erst aktiviert, wenn der Comment stimmt, und das funktioniert dann genauso, wie die Conditions in der Eventmaske? Mit Grafik der Eventseite und allem, was darin steht?

Beißt sich das mit dem "Execute Event" und/oder dem "Sparkle"? Beide Scripts laufen auch über Comments, die ich ebenfalls in den Eventseiten unterbringe.
  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

8

Montag, 28. September 2015, 20:46

Zitat

Dann würde die ganze Eventseite also erst aktiviert, wenn der Comment stimmt, und das funktioniert dann genauso, wie die Conditions in der Eventmaske? Mit Grafik der Eventseite und allem, was darin steht?
Genau, wir ergänzen nur die bestehenden Conditions und erhalten alle Funktionen des Standards, wie zum Beispiel die beiden Switche, die Variable, die Grafik und die MoveRoute etc.


Zitat

Beißt sich das mit dem "Execute Event" und/oder dem "Sparkle"? Beide Scripts laufen auch über Comments, die ich ebenfalls in den Eventseiten unterbringe.
Müsste man den Eventcode nochmal prüfen und jenachdem entweder diese Scripte anpassen, oder unser neues Script anders gestallten.

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

9

Montag, 28. September 2015, 21:05

Execute wäre das hier:
(Sind ein paar Edits dazugekommen)
Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
#-------------------------------------------------------------------------------
# Execute Event | By Revito
#-------------------------------------------------------------------------------
# Dieses Skript führt das Event vor dem Spieler aus.
# Als Extra kann eine Bedingung angegeben werden,
# wodurch ein Event nur dann ausgeführt wird, wenn es einen bestimmten Kommentar
# enthält.
# 
# Beispiel für einen Kommentar:
#   <conditions: mind_reading, watering>
#
# Beispiel für ein Callskript:
#   execute_event("mind_reading") # Ruft das Event vor einem auf, 
#                               # wenn die Bedingung stimmt.
# oder
#   execute_event(nil, 5, 7)    # Ruft das Event an den angegebenen 
#                               # Koordinaten auf.
#
# Durch den Rückgabewert der Methode kann sie gut in einem Conditional Branch 
# genutzt werden. Würde man also einen Skill per Common Event auf ein normales
# Event anwenden wollen, so könnte man den Rückgabewert nutzen um zu überprüfen,
# ob der Skill angewendet werden konnte.
#
#
#  execute_event("mind_reading", $game_variables[25], $game_variables[26])
#-------------------------------------------------------------------------------
 
 
class Interpreter
  def execute_event(cond = nil, x = nil, y = nil)
      	unless x and y
        	case $game_player.direction
          	when 2 then x = $game_player.x; y = $game_player.y + 1
          	when 4 then x = $game_player.x - 1; y = $game_player.y
          	when 6 then x = $game_player.x + 1; y = $game_player.y
          	when 8 then x = $game_player.x; y = $game_player.y - 1
        	end
      	end
      	for event in $game_map.events.values
       	# if $game_switches[2] == true # wenn dir der Switch lieber ist, dass diese Zeile nehmen und die nächste löschen/auskommentieren :)
        	if $game_variables[200] > 0  
            	if event.x == x and event.y == y and Input.trigger?(Input::C)
              	next unless event.list # Event überspringen, wenn es leer ist
              	if cond == nil  
                	event.start
                	return true
              	end
              	event.list.each do |l|
                	return false unless l.code == 108 || l.code == 408
                	match = /^<\s*cond:(\s*[[:alnum:]]*(,\s*[[:alnum:]]+)*\s*)>/.match(l.parameters[0])
                	if match != nil
                  	match[1].split(",").each do |m|
                    	if m.strip == cond
                      	event.start
                      	return true
                    	end
                  	end
                	end
              	end
 
            	end # if event.x == x and event.y == y and Input.trigger?(Input::C)
 
            	elsif event.x == x and event.y == y #   $game_variables[200] = 0  oder $game_switches[2] == false
              	next unless event.list # Event überspringen, wenn es leer ist
              	if cond == nil  
                	event.start
                	return true
              	end
              	event.list.each do |l|
                	return false unless l.code == 108 || l.code == 408
                	match = /^<\s*cond:(\s*[[:alnum:]]*(,\s*[[:alnum:]]+)*\s*)>/.match(l.parameters[0])
                	if match != nil
                  	match[1].split(",").each do |m|
                    	if m.strip == cond
                      	event.start
                      	return true
                    	end
                  	end
                	end
              	end
          	end # if Variable oder Switch
      	end 
	return false
  end
end
 
=begin
class Interpreter
  def execute_event(cond = nil, x = nil, y = nil)
	unless x and y
  	case $game_player.direction
    	when 2 then x = $game_player.x; y = $game_player.y + 1
    	when 4 then x = $game_player.x - 1; y = $game_player.y
    	when 6 then x = $game_player.x + 1; y = $game_player.y
    	when 8 then x = $game_player.x; y = $game_player.y - 1
  	end
	end
	for event in $game_map.events.values
  	if event.x == x and event.y == y and $game_variables[1] > 0 and Input.trigger?(Input::C)
if $game_switches[305] == true # nur wenn Switch ON ist
  elsif 
  event.x == x and event.y == y
end
    	next unless event.list # Event überspringen, wenn es leer ist
    	if cond == nil
      	event.start
      	return true
    	end
    	event.list.each do |l|
      	return false unless l.code == 108 || l.code == 408
      	match = /^<\s*cond:(\s*[[:alnum:]]*(,\s*[[:alnum:]]+)*\s*)>/.match(l.parameters[0])
      	if match != nil
        	match[1].split(",").each do |m|
          	if m.strip == cond
            	event.start
            	return true
          	end
        	end
      	end
    	end
  	end
	end
	return false
  end
end
 
 
class Interpreter
  def execute_event(cond = nil, x = nil, y = nil)
    unless x and y
      case $game_player.direction
        when 2 then x = $game_player.x; y = $game_player.y + 1
        when 4 then x = $game_player.x - 1; y = $game_player.y
        when 6 then x = $game_player.x + 1; y = $game_player.y
        when 8 then x = $game_player.x; y = $game_player.y - 1
      end
    end
    for event in $game_map.events.values
      if event.x == x and event.y == y
        next unless event.list # Event überspringen, wenn es leer ist
        if cond == nil  
          event.start
          return true
        end
        event.list.each do |l|
          return false unless l.code == 108 || l.code == 408
          match = /^<\s*cond:(\s*[[:alnum:]]*(,\s*[[:alnum:]]+)*\s*)>/.match(l.parameters[0])
          if match != nil
            match[1].split(",").each do |m|
              if m.strip == cond
                event.start
                return true
              end
            end
          end
        end
      end
    end
    return false
  end
end
=end
zum Lesen den Text mit der Maus markieren


Sparkle verwende ich in dem Spiel das hier:
Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#==============================================================================
# ** SPARKLE - die Tippmarkierung von Playm
#------------------------------------------------------------------------------
#  Man kann Events nun markieren, indem man in ein EventBefehl Comment in die
#  erste Zeile [SPARKLE] schreibt. (Die Vokabel kann man unten anpassen)
#  Der Sprite_Character, zeigt auf diesen Events eine Markierung an, wenn
#  eine bestimmte Taste gedrückt gehalten wird (Siehe Zeile 87).
#==============================================================================
# ** Game_Event
#==============================================================================
class Game_Event
  #--------------------------------------------------------------------------
  # * Konstanten
  #--------------------------------------------------------------------------
  TIPP_Mark = '[SPARKLE]'         # Passe diesen Wert an, wenn nötig
  #--------------------------------------------------------------------------
  # * Öffentliche Variablen
  #--------------------------------------------------------------------------
  attr_reader   :mark_for_tipp
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  alias_method(:old_refresh_wo_tppdn, :refresh )
  def refresh
    # Sichere, was die Seite vorher war
    old_page = @page
    # Führe den refresh durch
    old_refresh_wo_tppdn
    # Falls die Seite sich dadurch geändert hat
    if old_page != @page
      # Prüfe alle EventCommands, auf eine Markierung
      @mark_for_tipp = false
      unless @page.nil?
        @list.each_index do |i|
          if @list[i].code == 108 and @list[i].parameters[0] == TIPP_Mark
            @mark_for_tipp = true
            break
          end
        end
      end
    end
  end
  #--------------------------------------------------------------------------
end
#==============================================================================
# ** Game_Player
#==============================================================================
class Game_Player
  #--------------------------------------------------------------------------
  # * Der Player wird niemals markiert, die Methode liefert stehts false
  #--------------------------------------------------------------------------
  def mark_for_tipp
    false
  end
end
#==============================================================================
# ** Sprite_Character
#==============================================================================
class Control_Sprite_Character
  #--------------------------------------------------------------------------
  # * Alias
  #--------------------------------------------------------------------------
  alias_method( :org_ini_wo_tppdn, :initialize )
  alias_method( :org_update_wo_tppdn, :update )
  alias_method( :org_dispose_wo_tppdn, :dispose )
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(viewport, character = nil)
    @__sprite_tippmark = Sprite_TippMark.new(viewport)
    org_ini_wo_tppdn(viewport, character)
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Prüfe, ob der Character für Tipps markiert ist
    if @mark_for_tipp != @character.mark_for_tipp
      @mark_for_tipp = @character.mark_for_tipp
    end
    # Originales Update durchführen
    org_update_wo_tppdn
    # Wenn der Char markiert wurde, update den Marker Sprite
    if @mark_for_tipp and not (@sprite.nil? or @sprite.disposed?)
      key = [$game_map.map_id, @character.id, 'D']
      @__sprite_tippmark.update
      @__sprite_tippmark.update_pos(@sprite.x,@sprite.y,@sprite.z)
      @__sprite_tippmark.visible = $game_self_switches[key]
    else
      @__sprite_tippmark.visible = false
    end
  end
  #--------------------------------------------------------------------------
  # * Dispose
  #--------------------------------------------------------------------------
  def dispose
    org_dispose_wo_tppdn
    @__sprite_tippmark.dispose
  end
end
zum Lesen den Text mit der Maus markieren

und
Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#==============================================================================
# ** Sprite_TippMark
#------------------------------------------------------------------------------
#  Stellt eine Markierung dar.
#==============================================================================
class Sprite_TippMark < Sprite
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize(viewport)
    super(viewport)
    self.bitmap = RPG::Cache.icon('049-Skill06')
    self.ox = bitmap.width / 2
    self.oy = bitmap.height
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Die erste Zahl ist der Opacity-Mittelwert, um den der Sprite pendelt,
    # die letzte der "Ausschlag" nach oben und unten. Der Divisor in der Mitte
    # passt die Geschwindigkeit des Blinkens an - je kleiner, desto schnell.
    self.opacity = 152 + Math.sin(Graphics.frame_count / 7.0) * 103
    super
  end
  #--------------------------------------------------------------------------
  # * Update der Position
  #--------------------------------------------------------------------------
  def update_pos( x, y, z )
    self.x = x
    self.y = y
    self.z = z+1
  end
  #--------------------------------------------------------------------------
  # * Dispose
  #--------------------------------------------------------------------------
  def dispose
    super
  end
end
zum Lesen den Text mit der Maus markieren



Sollte ich lieber einen neuen Threadt eröffnen?

Kann ich für das "Zusätzliche Conditions"-Script schon irgendwas selbst herleiten oder bin ich noch nicht so weit? :3
  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

10

Montag, 28. September 2015, 21:19

Die Scripte prüfen beide, ob die gesuchten Wörter irgendwo in der EventCommand Liste drinstehen - die kommen sich also nicht in die Quere.

Theoretisch kannst Du dich da auch selbst dran versuchen. Schauen wir mal in den Scriptcode
Spoiler: Quellcodeaussschnitt

Ruby Quellcode

82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
      for page in @event.pages.reverse
        # Make possible referrence for event condition with c
        c = page.condition
        # Switch 1 condition confirmation
        if c.switch1_valid
          if $game_switches[c.switch1_id] == false
            next
          end
        end
        # Switch 2 condition confirmation
        if c.switch2_valid
          if $game_switches[c.switch2_id] == false
            next
          end
        end
        # Variable condition confirmation
        if c.variable_valid
          if $game_variables[c.variable_id] < c.variable_value
            next
          end
        end
        # Self switch condition confirmation
        if c.self_switch_valid
          key = [@map_id, @event.id, c.self_switch_ch]
          if $game_self_switches[key] != true
            next
          end
        end
        # Set local variable: new_page
        new_page = page
        # Remove loop
        break
      end
zum Lesen den Text mit der Maus markieren

Man kann erahnen, das hier alle Eventseiten durchgegangen werden. Für jede Eventseite im Event (in umgekehrter Reihenfolge - Stichwort reverse) führen wir den inneren Block aus. Dabei nennen wir die Eventseite "page". Du siehst er speichert sich erstmal die Conditions der aktuell betrachteten Eventseite in eine weitere Variable 'c' und benutzt dann nur die Conditions. Wir können uns aber auch noch die EventCommand-Liste holen: Dafür gucken wir im Helpfile, wie die Klasse RPG::Event::Page aussieht, und wo wir da die RPG::EventCommands finden. Wir machen es uns ja einfach. In der Liste der EventCommands der aktuellen Seite betrachten wir nur das erste EventCommand - ist dieses ein Kommentar (Codenummer 108) schauen wir uns den Kommentartext an. Dafür kannst Du dir nochmal das ExecuteEvent und Sparklescript angucken, wie die das lösen.

Das erstmal als erster Hinweis, schau mal wieweit Du kommst. :3

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

11

Montag, 28. September 2015, 23:12

Zuerstmal habe ich in RPG::Event::Page Event Command hier gefunden:

@list = [RPG::EventCommand.new]

In RPG::EventCommand fand ich den Teil:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
module RPG
  class EventCommand
    def initialize(code = 0, indent = 0, parameters = [])
      @code = code
      @indent = indent
      @parameters = parameters
    end
    attr_accessor :code
    attr_accessor :indent
    attr_accessor :parameters
  end
end


Bisher krieg ich das jedoch noch nicht zusammngepuzzelt und die Stellen, wie genau Execute und Sparkle das Command auslesen, kann ich nicht richtig ausmachen.

Sowas in der Art?
Die Fragezeichen zeigen mein Unwissen XD

Ruby Quellcode

1
2
3
4
5
6
       # EventCommand condition confirmation
        if c.EventCommand_valid
          if ??????????????????
            next
          end
        end


Muss ich einen neuen attr_reader anlegen? Oder kann ich code, indent oder parameters verwenden?
Sorry, sehr weit komme ich nicht :<
  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

12

Montag, 28. September 2015, 23:52

Ah, sehr gut auf die Stelle mit @list wollte ich hinaus. Merk dir einfach: In @list speichern die Eventseiten die jeweilige EventCommand Liste.
Du siehst in der Klassendefinition von RPG::Event::Page:

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
module RPG
  class Event
    class Page
      def initialize
        # [...]
      end
      # [...]
      attr_accessor :list
    end
  end
end
Das bereits ein attr_accessor definiert ist. Wenn die Eventseite also in der Variable page gespeichert ist, kommst Du mit page.list an die Liste. Die Liste ist ein Array, Du kannst also mit eckigen Klammern und einem Index auf die einzelnen Elemente im Array zugreifen. Arrayindizes fangen immer bei Null an zu zählen, der erste Index und damit das erste Element im Array ist der Index Null:

Ruby Quellcode

1
page.list[0]

Wir fassen das erstmal zusammen: Eventseiten sind alle von der Form "RPG::Event::Page". Die EventCommands, die wir im Editor sehen, liegen intern in einem Array namens "@list" in dem jeweiligen RPG::Event::Page-Objekt. Wenn wir in einer Variable, in unserem Fall heißt die Variable "page" ein Objekt der Klasse RPG::Event::Page haben, so können wir über "page.list" auf den Array mit den EventCommands zugreifen.

Was sind EventCommands auf Ruby-Ebene? Du hast richtig herausgefunden, das diese in der Form RPG::EventCommand im Speicher liegen. Auch hier sehen wir wieder drei Attr, wir können also auf die drei Attribute zugreifen.
Aber woher wissen wir, das unser EventCommand das ist, was wir suchen? Die Formulierung "switch2_valid" können wir ignorieren. Das ist nichts allgemein gültiges, sondern ein Attribut was es nur in der Klasse RPG::Event::Page::Condition gibt, also die Klasse, die unsere Conditions auf der Seite repräsentiert (Fachwissen: Das Attribut switch2_valid gibt an, ob der Haken vor dem zweiten Switch-Feld gesetzt ist).
Wenn wir unser EventCommand haben, so können wir über "page.list[0].code == 108" prüfen, ob das EventCommand ein Kommentar ist. Wenn das so ist, dann liegt der Text des Kommentars in "page.list[0].parameters[0]" - nimm das erstmal so hin.
Wir können also folgendes machen:
Spoiler: Editierter Quellcodeausschnitt

Ruby Quellcode

82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
      for page in @event.pages.reverse
        # Make possible referrence for event condition with c
        c = page.condition
        # Switch 1 condition confirmation
        if c.switch1_valid
          if $game_switches[c.switch1_id] == false
            next
          end
        end
        # Switch 2 condition confirmation
        if c.switch2_valid
          if $game_switches[c.switch2_id] == false
            next
          end
        end
        # Variable condition confirmation
        if c.variable_valid
          if $game_variables[c.variable_id] < c.variable_value
            next
          end
        end
        # Self switch condition confirmation
        if c.self_switch_valid
          key = [@map_id, @event.id, c.self_switch_ch]
          if $game_self_switches[key] != true
            next
          end
        end
        # Erstes Eventkommentar prüfen
        if page.list[0].code == 108
          # Wenn der Text des Kommentars Nein lautet
          if page.list[0].parameters[0] == "Nein"
            # Überspringe diese Seite, ihre Conditions sind dann nicht erfüllt
            next
          end
        end
        # Set local variable: new_page
        new_page = page
        # Remove loop
        break
      end
zum Lesen den Text mit der Maus markieren

Wir haben es jetzt geschafft, überhaupt erstmal eine zusätzliche Bedingung einzufügen. Unsere Eventseite darf nicht als ersten Eventbefehl ein Kommentar haben, indem einfach nur "Nein" steht. Probier erstmal unseren Ansatz bis hierhin zu verstehen. Anschließend bauen wir auf diesem Wissen auf. Wir lesen den Eventkommentar aus und gucken was da drin steht. Unser Ziel am Ende der Reise ist es ja, das wir in das Kommentar eine Bedingung formulieren, die unser Script versteht und bearbeiten kann.

Dafür solltest Du dir auch mal eine Syntax ausdenken. Also was steht im Kommentar? Ein Beispiel wäre: "Variable XXX soll größer dem Wert YYY sein"
Wir können dem Computer dann diesen Satz beibringen und er weiß, wo in dem Satz die VariablenID steht und der Vergleichswert und dann kann er das verarbeiten. Wir können aber auch Formulieren "<variable_condition id='XXX'>YYY</variable_condition>" und das unserem Computer beibringen und dann weiß er, wo er sich die Werte raussuchen muss. Oder "\v[XXX] >= YYY". Das ist Geschmackssache. Wir machen es so, wie es dir gefällt.

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

13

Dienstag, 29. September 2015, 00:18

Um das zusammenzufassen, was ich verstanden habe:

Ruby Quellcode

1
page.list[0]

bedeutet, dass die erste Zeile der Event-Seite ausgelesen wird, richtig?
page.list[1] wäre dann die zweite Zeile, usw.

Zitat

wir können also auf die drei Attribute zugreifen

Ja und zwar code, indent und parameters. Was die letzten beiden machen, hab ich aber nicht verstanden, weil englisch. Code hab ich kapiert. Aber wozu soll ich denn auf code zugreifen müssen? Was macht man denn damit?

Den Rest hab ich jetzt soweit. Bis auf den Teil, den ich erstmal hinnehmen soll, den hab ich natürlich nicht verstanden.
Aber gut, soweit kapiert. So würde jede Eventseite, die einen Kommentar "Nein" in der ersten Zeile hat, übersprungen werden. Aber dahin wollen wir ja nicht :)

Der Syntax der mir am Besten gefallen würde wäre "ComCon \v[XXX] >= YYY". Das ist kurz und sauber. ComCon steht natürlich für Comment-Condition. Sonst weiß ich später aber nicht mehr, wozu die Zahlen nochmal gehörten XD°
  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

14

Dienstag, 29. September 2015, 01:35

Zitat

bedeutet, dass die erste Zeile der Event-Seite ausgelesen wird, richtig?
page.list[1] wäre dann die zweite Zeile, usw.
Genau. Wobei manche Eventbefehle (zum Beispiel ein ShowText mit vier Zeilen Text) sich auch über mehrere Eventbefehl Zeilen ziehen kann.

Zitat

Code hab ich kapiert. Aber wozu soll ich denn auf code zugreifen müssen? Was macht man denn damit?

Nun, die EventCommands werden dir im Editor als Text angezeigt, aber es ist unnötig und kompliziert zu handhaben, wenn man diesen Text (zum Beispiel das Wort "Transfer Player") speichern würde. Also speichern die EventCommands nur die Art des EventCommands, ob zum Beispiel es ein ShowText ist, ein Comment oder ein TransferPlayer. Im Editor hat jeder Eventbefehl eine allgemeine Code-Nummer. ShowText hat immer den Code 101. Kommentare haben den Code 108. (Fachwissen: Hat ein Eventbefehl mehrere Zeilen, haben die zusätzliche Zeilen besondere Codenummern, die darauf Hinweisen, dass es sich um eine Fortsetzung eines vorherigen Eventbefehl handelt, der eine Zeile darüber begann. Ist dein Kommentar dreizeilig, hat die erste Zeile die Codenummer 108 und die zwei folgenden Zeilen, die noch zum Kommentar gehören haben die Codenummer 408 jeweils.)
Über das Attribut findest Du also heraus, was für ein Eventbefehl Du da überhaupt in den Händen hälst. Nur daher wissen wir - bzw. der Computer - was er mit den zugehörigen Parametern des Eventbefehls tun soll, bzw. was sie bedeuten. Ich möchte jetzt nicht zu tief ins Thema eintauchen an dieser Stelle, weil man sich sehr schnell darin verliert. Wenn Du dich über diese Anfrage hier hinaus weiter mit Eventbefehlen beschäftigen möchtest, empfehle ich dir den Artikel RPG Maker Map-Events im RGSS - Scientia in unserem Wiki.

Schauen wir uns an, wo wir gerade stehen: Wir wissen, wo in den Standardscripten die Bedingungen einer Eventseite geprüft werden und haben auch schon eine zusätzliche Bedingung eingebaut, nämlich das auf der Eventseite der erste Befehl nicht nur aus "Nein" bestehen darf. Als nächstes schreiben wir in das Eventkommentar folgendes:
ComCon \v[1] >= 5
anstatt des Neins. Wir verstehen darunter die Bedingung, das die Variable Eins einen Wert von Fünf oder höher haben soll. Jetzt bringen wir dem Computer noch bei, das er das auch versteht.

Etwas Vorwissen:
Ruby hat für Strings die Methode scan. Mit dieser sucht der Computer nach einem bestimmten Muster im Text und gibt uns einzelne Textstellen zurück. Probieren wir das gleich mal aus. Wir erinnern uns, der Text des Eventcommand finden wir in page.list[0].parameters[0]

Halt. Leider müssen wir hier erstmal wieder Magie hinnehmen. Wenn dein Kommentar diese Form hat:
"ComCon \v[XXX] >= YYY"
Dann lautet das Muster dafür, dass der Computer versteht:
/ComCon \\v\[(\d+)\]\s*>=\s*(\d+)/i
Warum das so ist kann ich erklären, aber das dauert etwas, denn sogenannte reguläre Ausdrücke - so nennt man diese Muster in Fachkreisen - sind eine Welt für sich. Wenn wir allerdings mit dem obenstehenden Muster den Text prüfen, findet der Computer genau unsere Kommentare und ignoriert die anderen. Zusätzlich findet er sogar noch im Text die zwei Zahlen XXX und YYY. Toll, kompliziert, Magie.

Die Methode String#scan liefert uns einen Array aus Treffern zurück. (Theoretisch ist es ja im Allgemeinen möglich, das unser Muster gleich mehrfach im Text gefunden wird, wir also mehrere Treffer haben.) Wir werden uns hier dann nur für den ersten Treffer interessieren, da wir nur einen Treffer erwarten. Der Treffer der da rauskommt ist auch ein Array der an erster Stelle die VariablenID und an zweiter Stelle den Vergleichswert speichert. Das unser Treffer ein Array aus genau diesen zwei Werten ist, liegt daran, wie wir unser Muster - unseren regulären Ausdruck - formuliert haben.

Schauen wir uns mal den Quellcode dazu an:

Ruby Quellcode

103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
        # Self switch condition confirmation
        if c.self_switch_valid
          key = [@map_id, @event.id, c.self_switch_ch]
          if $game_self_switches[key] != true
            next
          end
        end
        # Erstes Eventkommentar prüfen
        if page.list[0].code == 108
          # Unser Prüfmuster als sogenannter Regulärer Ausdruck
          muster = /ComCon \\v\[(\d+)\]\s*>=\s*(\d+)/i
          # Prüfe den Kommentartext
          ergebnis = page.list[0].parameters[0].scan( muster )
          # Wenn wir Treffer haben
          if ergebnis.empty? == false
            # Hol dir den ersten Treffer
            treffer = ergebnis[0]
            variablen_id   = treffer[0].to_i
            vergleichswert = treffer[1].to_i
            # Prüfe die ComCon
            if $game_variables[variablen_id] < vergleichswert
              # Überspringe diese Seite, ihre Conditions sind dann nicht erfüllt
              next
            end
          end

Uns fallen noch zwei Stellen ein, die wir nicht besprochen haben: Was ist to_i? Wir haben beim Scanen Text gefunden. Wir müssen diesen erst in eine Zahl umwandeln, um damit weiterarbeiten zu können, dafür gibt es die to_i Methode, die genau das tut: Strings in Zahlen umwandeln, aus "55" wird 55.
Und das zweite: ergebnis.empty? - hier nutzen wir die Methode empty? der Klasse String. Ich habe ja gesagt, die Methode scan liefert uns einen Array der Treffer zurück. Mit empty? können wir prüfen, ob der Treffer-Array leer ist, wir also garkeine Treffer gefunden haben. Nur wenn wir Treffer finden, arbeiten wir mit den Treffern weiter.

Sieht an und für sich gut aus. Kannst Du so testen. Unsere Reise wäre damit so ziemlich zu ende. Ich hoffe ich habe dich auf den letzten Metern nicht verloren. Ich beantworte gern die offengebliebenen Fragen. :hi:

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

15

Dienstag, 29. September 2015, 10:39

Zitat

Genau. Wobei manche Eventbefehle (zum Beispiel ein ShowText mit vier Zeilen Text) sich auch über mehrere Eventbefehl Zeilen ziehen kann.

Das kann ein Comment auch, oder?
Dann könnte ich theoretisch noch so einen Absatz unten dran hängen, die zweite Commentzeile abfragen lassen und noch eine Variable einfügen, richtig? :3 (Nicht, dass ich noch eine bräuchte XD)


Danke für das Fachwissen und die Verlinkung.
Ich glaube, ein bisschen hab ichs jetzt verstanden.


Zitat

Halt. Leider müssen wir hier erstmal wieder Magie hinnehmen. Wenn dein Kommentar diese Form hat:
"ComCon \v[XXX] >= YYY"
Dann lautet das Muster dafür, dass der Computer versteht:
/ComCon \\v\[(\d+)\]\s*>=\s*(\d+)/i

Genau solche Zeichen hab ich im Execute Event Script auch gesehen und nicht verstanden, was sie bedeuten!

Zitat

Warum das so ist kann ich erklären, aber das dauert etwas, denn sogenannte reguläre Ausdrücke - so nennt man diese Muster in Fachkreisen - sind eine Welt für sich.

Irgendwann wäre es sicher gut zu wissen, wie ich solche Formeln in reguläre Ausdrücke umwandeln kann. Ich erkenne meine Bichstabencombi, das \v und die []. Die restlichen Zeichen sind für mich wildes Durcheinander XD



Zitat

Uns fallen noch zwei Stellen ein, die wir nicht besprochen haben: Was ist to_i? Wir haben beim Scanen Text gefunden. Wir müssen diesen erst in eine Zahl umwandeln, um damit weiterarbeiten zu können, dafür gibt es die to_i Methode, die genau das tut: Strings in Zahlen umwandeln, aus "55" wird 55.

Und to_i würde das mit jeder Zahl machen können? Das ist also eines der "Umwandlungswerkzeuge"?

Zitat

Und das zweite: ergebnis.empty? - hier nutzen wir die Methode empty? der Klasse String. Ich habe ja gesagt, die Methode scan liefert uns einen Array der Treffer zurück. Mit empty? können wir prüfen, ob der Treffer-Array leer ist, wir also garkeine Treffer gefunden haben. Nur wenn wir Treffer finden, arbeiten wir mit den Treffern weiter.

Verstehe, deswegen wird gefragt, ob empty false ist.

Zitat

Sieht an und für sich gut aus. Kannst Du so testen. Unsere Reise wäre damit so ziemlich zu ende. Ich hoffe ich habe dich auf den letzten Metern nicht verloren. Ich beantworte gern die offengebliebenen Fragen. :hi:

Magie, eindeutig! :D
Es funktioniert. Vielen Dank, Playm, die ganze Arbeit hast du ja dann doch alleine machen müssen :<
Nächstes Mal klappts vielleicht schon besser :D
Danke! :3

Ich habe auch den Vorgang verstanden. ("muster = /ComCon \\v\[(\d+)\]\s*>=\s*(\d+)/i" bedeutet halt, dass "muster" ab jetzt immer gleichbedeutend mit "/ComCon \\v\[(\d+)\]\s*>=\s*(\d+)/i" ist, und dieses Zeug, dass wir schon durchgenommen haben :D)

Aber ein paar Wörter fehlen mir noch XD
Die "Scan" funktion habe ich noch nicht verstanden. Das ist eine von den ruby-Werkzeugen, die nichts mit dem Maker zu tun haben, richtig? to_i, empty? und scan sind ruby Werkzeuge, wie in Mathe + und -, ich muss nur wissen, wozu sie da sind und wie ich sie verwende. Warum sie funktionieren, müsste ich erstmal nicht wissen, richtig?

Wozu ist der vergleichswert? Er wird definiert, indem geschaut wird, ob ergebnis [1] ist- was heist [1] in diesem Fall?
  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

16

Donnerstag, 1. Oktober 2015, 20:42

Zitat

Das kann ein Comment auch, oder?
Dann könnte ich theoretisch noch so einen Absatz unten dran hängen, die zweite Commentzeile abfragen lassen und noch eine Variable einfügen, richtig? :3
Richtig.

Zitat

Und to_i würde das mit jeder Zahl machen können?
Nur mit Ganzzahlen. Ein Komma versteht er nicht bei to_i (vom englischen "to Integer" - "zur Ganzzahl").

Zitat

Die "Scan" funktion habe ich noch nicht verstanden. Das ist eine von den ruby-Werkzeugen, die nichts mit dem Maker zu tun haben, richtig? to_i, empty? und scan sind ruby Werkzeuge, wie in Mathe + und -, ich muss nur wissen, wozu sie da sind und wie ich sie verwende. Warum sie funktionieren, müsste ich erstmal nicht wissen, richtig?
Ja, das sind Rubys ganz eigene Funktionen, die nicht für den Maker neuerfunden wurden.

Zitat

Wozu ist der vergleichswert? Er wird definiert, indem geschaut wird, ob ergebnis [1] ist- was heist [1] in diesem Fall?
Treffer ist ein Array.

Zitat

Der Treffer der da rauskommt ist auch ein Array der an erster Stelle die VariablenID und an zweiter Stelle den Vergleichswert speichert. Das unser Treffer ein Array aus genau diesen zwei Werten ist, liegt daran, wie wir unser Muster - unseren regulären Ausdruck - formuliert haben.
Deswegen greifen wir hier mit den eckigen Klammern auf die Werte im Array zu.
Wenn im Comment steht: ComCon \v[25] >= 7010 sieht der Trefferarray so aus: [ "25", "7010" ]
(Die Strings wandeln wir später in Zahlen um, wenn wir darauf zugreifen.)
Das wir hier die lokalen Variablen "variablen_id" und "vergleichswert" definieren ist nur der Übersicht wegen. Man könnte die Ausdrücke die dort stehen, auch direkt ein paar Zeilen tiefer einsetzen, aber ich dachte mir, so ist es klarer.

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

17

Freitag, 2. Oktober 2015, 09:09

Danke für die Erklärungen! :D
Oberflächlich habe ich verstanden, was gemacht wurde. Die einzelnen Begriffe sind geklärrt.
Ich mache jetzt deinen Ruby-Kurs weiter, und schaue mir das nach Beendigung nochmal an und bin gespannt,o ob es mir dann leichter fällt! :3
Danke! :D
  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

18

Samstag, 23. Januar 2016, 20:46

Hallo! :D

Ich habe von Azura das hier bekommen:

Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#==============================================================================
# ** Game_Variables
#------------------------------------------------------------------------------
#  This class handles variables. It's a wrapper for the built-in class "Array."
#  Refer to "$game_variables" for the instance of this class.
#==============================================================================
 
class Joseys_Variables
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    @data = []
  end
  #--------------------------------------------------------------------------
  # * Get Variable
  #     variable_id : variable ID
  #--------------------------------------------------------------------------
  def [](variable_id)
    if variable_id <= 5000 and @data[variable_id] != nil
      return @data[variable_id]
    else
      return 0
    end
  end
  #--------------------------------------------------------------------------
  # * Set Variable
  #     variable_id : variable ID
  #     value       : the variable's value
  #--------------------------------------------------------------------------
  def []=(variable_id, value)
    if variable_id <= 5000
      @data[variable_id] = value
    end
  end
end
zum Lesen den Text mit der Maus markieren

(Dazu kleine Edits in Scene_Title, Scene_Load und Scene_Save, damit sie aufgerufen werden ;D )
Das sind neue Variablen- ich habe es sogar ganz allein geschafft, sie ins UMS zu integrieren, so dass die Zahlen im Text angezeigt werden können :D
Jetzt möchte ich diese Variablen aber auch gerne in den ComCons verwenden.
Ich habe das hier in Game_Event unter die erste ComCon eingefügt:

Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        # Erstes Eventkommentar prüfen
        if page.list[0].code == 108
          # Unser Prüfmuster als sogenannter Regulärer Ausdruck
          muster = /ComCon2 \\jv\[(\d+)\]\s*>=\s*(\d+)/i
          # Prüfe den Kommentartext
          ergebnis = page.list[0].parameters[0].scan( muster )
          # Wenn wir Treffer haben
          if ergebnis.empty? == false
            # Hol dir den ersten Treffer
            treffer = ergebnis[0]
            variablen_id   = treffer[0].to_i
            vergleichswert = treffer[1].to_i
            # Prüfe die ComCon
            if $joseys_variables[variablen_id] < vergleichswert
              # Überspringe diese Seite, ihre Conditions sind dann nicht erfüllt
              next
            end
          end
          end
zum Lesen den Text mit der Maus markieren


Was immer ich gemacht habe- es scheint halb zu funktionieren. Halb deshalb, weil das Event tatsächlich nicht angezeigt wird.
Aber es wird auch nie angezeigt.

Das steht in der ersten Zeile im Comment:
ComCon2 \jv[5] >= 1

Wenn ich die joseys_variable erhöhe

Ruby Quellcode

1
$joseys_variables[5] += 1

wird die Variable ganz sicher erhöht, ich überprüfe das mit dem Textkürzel, dass ich eingefügt habe und mir die Höhe der Variable mit \jv[5] anzeigt.
Aber das Event taucht nicht auf :/

Wo habe ich einen Fehler gemacht? o.ò
  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

19

Sonntag, 24. Januar 2016, 02:03

Kannst Du mal die ganze refresh Methode aus Game_Event zeigen, so wie sie bei dir jetzt aussieht?

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

20

Sonntag, 24. Januar 2016, 02:06

Ich hoffe, ich habe nix vergessen:

Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    # Initialize local variable: new_page
    new_page = nil
    # If not temporarily erased
    unless @erased
      # Check in order of large event pages
      for page in @event.pages.reverse
        # Make possible referrence for event condition with c
        c = page.condition
        # Switch 1 condition confirmation
        if c.switch1_valid
          if $game_switches[c.switch1_id] == false
            next
          end
        end
        # Switch 2 condition confirmation
        if c.switch2_valid
          if $game_switches[c.switch2_id] == false
            next
          end
        end
        # Variable condition confirmation
        if c.variable_valid
          if $game_variables[c.variable_id] < c.variable_value
            next
          end
        end
         # Self switch condition confirmation
        if c.self_switch_valid
          key = [@map_id, @event.id, c.self_switch_ch]
          if $game_self_switches[key] != true
            next
          end
        end
 
        # Erstes Eventkommentar prüfen
        if page.list[0].code == 108
          # Unser Prüfmuster als sogenannter Regulärer Ausdruck
          muster = /ComCon \\v\[(\d+)\]\s*>=\s*(\d+)/i
          # Prüfe den Kommentartext
          ergebnis = page.list[0].parameters[0].scan( muster )
          # Wenn wir Treffer haben
          if ergebnis.empty? == false
            # Hol dir den ersten Treffer
            treffer = ergebnis[0]
            variablen_id   = treffer[0].to_i
            vergleichswert = treffer[1].to_i
            # Prüfe die ComCon
            if $game_variables[variablen_id] < vergleichswert
              # Überspringe diese Seite, ihre Conditions sind dann nicht erfüllt
              next
            end
          end
          end
 
        # Erstes Eventkommentar prüfen
        if page.list[0].code == 108
          # Unser Prüfmuster als sogenannter Regulärer Ausdruck
          muster = /ComCon2 \\jv\[(\d+)\]\s*>=\s*(\d+)/i
          # Prüfe den Kommentartext
          ergebnis = page.list[0].parameters[0].scan( muster )
          # Wenn wir Treffer haben
          if ergebnis.empty? == false
            # Hol dir den ersten Treffer
            treffer = ergebnis[0]
            variablen_id   = treffer[0].to_i
            vergleichswert = treffer[1].to_i
            # Prüfe die ComCon
            if $joseys_variables[variablen_id] < vergleichswert
              # Überspringe diese Seite, ihre Conditions sind dann nicht erfüllt
              next
            end
          end
          end
 
 
          # Set local variable: new_page
        new_page = page
        # Remove loop
        break
      end
    end
    # If event page is the same as last time
    if new_page == @page
      # End method
      return
    end
    # Set @page as current event page
    @page = new_page
    # Clear starting flag
    clear_starting
    # If no page fulfills conditions
    if @page == nil
      # Set each instance variable
      @tile_id = 0
      @character_name = ""
      @character_hue = 0
      @move_type = 0
      @through = true
      @trigger = nil
      @list = nil
      @interpreter = nil
      # End method
      return
    end
    # Set each instance variable
    @tile_id = @page.graphic.tile_id
    @character_name = @page.graphic.character_name
    @character_hue = @page.graphic.character_hue
    if @original_direction != @page.graphic.direction
      @direction = @page.graphic.direction
      @original_direction = @direction
      @prelock_direction = 0
    end
    if @original_pattern != @page.graphic.pattern
      @pattern = @page.graphic.pattern
      @original_pattern = @pattern
    end
    @opacity = @page.graphic.opacity
    @blend_type = @page.graphic.blend_type
    @move_type = @page.move_type
    @move_speed = @page.move_speed
    @move_frequency = @page.move_frequency
    @move_route = @page.move_route
    @move_route_index = 0
    @move_route_forcing = false
    @walk_anime = @page.walk_anime
    @step_anime = @page.step_anime
    @direction_fix = @page.direction_fix
    @through = @page.through
    @always_on_top = @page.always_on_top
    @trigger = @page.trigger
    @list = @page.list
    @interpreter = nil
    # If trigger is [parallel process]
    if @trigger == 4
      # Create parallel process interpreter
      @interpreter = Interpreter.new
    end
    # Auto event start determinant
    check_event_trigger_auto
  end
zum Lesen den Text mit der Maus markieren
  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Ähnliche Themen

Social Bookmarks