Seite 9 von 17 ErsteErste ... 5678910111213 ... LetzteLetzte
Ergebnis 161 bis 180 von 323

Thema: Kleine RmXP FAQ

  1. #161
    Beim 2K benutze ich dieses System schon seit Zwielicht und dort läuft alles wie geschmiert.

  2. #162
    Mich würde mal interessieren, wie das Wait-Kommando intern in Ruby ausgeführt wird, vor allem im Hinblick darauf, wie man das da simuliert. Reicht da ein sleep?

    Im Interpreter steht bei Wait ja folgendes:

    Code:
    def command_106
        # Set wait count
        @wait_count = @parameters[0] * 2
        # Continue
        return true
      end
    Vielleicht bin ich zu doof das zu finden, aber ich sehe nirgendwo dieses wait_count als Variable.

  3. #163
    In der Interpreter#update Methode wird pro frame eine Schleife ausgeführt die zuerst einmal prüft ob das Event auf irgendetwas wartet, falls nicht wird das nächste Kommando ausgeführt und anschließend geschaut ob das Event dabei abgebrochen wurde.
    Die Schleife wird dann so lange wiederholt bis irgendeine dieser Warte/Abbruch Bedinung erfüllt wurde.

    Der Code der sich mit dem Wait befasst sieht so aus:
    Code:
          # If waiting
          if @wait_count > 0
            # Decrease wait count
            @wait_count -= 1
            return
          end
    Und findet sich ab Zeile 167. Auch gut zu wissen ist, dass die Wartezeiten die du im Editor eingibst eigentlich *2 genommen werden, wenn du Wartezeiten dierekt in ruby implementierst musst du berücksichtigen, dass ein Frame in Wirklichkeit 1/40 Sekunde entspricht und nicht 1/20 wie im Editor.

    Wartezeiten an für sich lassen sich einfach einbauen, die Methode Graphics.update welche man jeden Frame aufrufen sollte wartet nämlich gleichzeitig auf den nächsten Frame.
    Sleep ist dabei keine gute Lösung, immerhin hälst du damit das gesamte geschehen an, was in einem Spiel sicherlich nicht gut kommt.

  4. #164
    Jetzt hast du aber nur nicht ganz genau gesagt, wie man ein Wait einbauen kann. Soll man dann einfach Graphics.Update aufrufen?

  5. #165
    Du sollst eine Methode einbauen die einmal pro frame aufgerufen wird und die einen Zähler hat, welcher wie im Interpreter aufgebaut ist. Sofern der Zähler noch läuft gibt's ein return und vom Zähler wird 1 abgezogen, falls nicht geht es weiter mit dem geschehen.

  6. #166
    Ne kleine Frage am Rande, gibt es eine Möglichkeit, einen Wait-Befehl zu erstellen, notfalls mit RGSS, der weniger als ein Frame dauert? Weil Animationen mit einem Wait von einem Frame sehen übelst aus. Ich wollte wissen, ob das vielleicht flüssiger geht. Vielen Dank.

  7. #167
    Wenn du im Interpreter einen Frame wartest, wartet er intern gleich zwei davon - warum auch immer. Die einfachste Möglichkeit eine richtige Frame Wartezeit einzufügen ist wohl über call script:
    Code:
    @wait_count = 3
    würde 3 frames warten

  8. #168

  9. #169
    Eine Frage: Gibts irgendwelche RpgXP - Templates für Chipsets oder so? oder kann ich da einfach alles durcheinander einfügen?

    Edit: achja und was bedeutet RGSS?

    Geändert von Housemaster (06.06.2006 um 13:19 Uhr)

  10. #170
    Tileset für XP: 256 * beliebig Pixel, durcheinander einfügen erlaubt.
    RGSS: Ruby Game Scripting Sytsem (wenn mich nicht alles täuscht).

  11. #171
    meinste mit der 256 Horizontal oder Vertikal? Also X oder Y?
    (oder so... xD)

  12. #172
    X wie X-Men
    ...man nennt immer die Breite zuerst.

  13. #173
    Theoretisch könnte man dann einfach ALLES oder jedenfalls ziemlich viele Sachen in ein einziges Tile reinpacken oder?
    Bis auf die Tatsache dass dann vllcht dieses einzige Tile etwas zu viel KB hätte oder irr ich mich hier?

  14. #174
    Ja, das geht, aber dadurch erhöht sich auch die Ladezeit der Grafik, wenn ich mich nicht irre.

  15. #175
    Könntest du theoretisch machen, ist aber nicht unbedingt sinnvoll.
    Denn in der Regel braucht man nicht immer alles. (wozu zB. ein Klavier in einem Wald )
    Ich hab sogar mal ein Spiel gespielt, wo alles in einem Chipset war, das brauchte dann aber im Maker auch immer etwas bis es geladen war.

  16. #176
    THX für die Hilfe aber noch was....
    Kann ich denn auch das Autotile-Limit für ein Tile in der Database erhöhen?

    EDIT: sry für die Frage mit dem Chipset!" Habs grade auf Seite 1 gelesen X.X

    Geändert von Housemaster (06.06.2006 um 16:22 Uhr)

  17. #177
    Nein, pro Tileset sind wohl nur 7 Autotiles möglich. Aber du kannst ja das Tileset mehrfach kopieren in der Database und einfach die zugewiesenen Autotiles ändern.

  18. #178

    Musik

    Ich möchte, dass das Spiel ein Ereignis aufruft,
    wenn die BGM Musik einmal durchgespielt ist (um ein neues Stück auszusuchen).

    Kann diese Bedingung nicht finden!

    Geändert von Bluescreen (24.06.2006 um 21:01 Uhr)

  19. #179
    Ich hab jetzt auch mal eine kleine Frage zum RMXP.
    Da ich mir den Maker vor wenigen Tagen ebenfalls zu gelegt habe, und mich auch schon mit Ruby usw. beschäftigt habe, stellt sich bei mir nun die Frage, wie ich es schaffe, ein Intro, basierend auf Maps, vor dem eigentlichen Titelscreen zu zeigen.
    Ich habe auch schon diverse Foren und Themen durchsucht, aber nichts gefunden, dass mir weiterhelfen kann.
    Hat irgendjemand ein Script oder wenigstens eine Idee wie ich so etwas umsetzen könnte.

    Vielen Dank im Vorraus.

    LG Henry

  20. #180
    Zitat Zitat von Kelven
    Was mir gerade beim XP auffällt, ist dass der bei simplen Berechnungen schon ganz schön ins Stocken kommt. o.O

    Ich scripte wie auf dem 2K ein CBS mit Common Events und hab dort ein Autostart-Event, in dem der Initiativewert von Charakteren und Gegnern solange um 1 reduziert wird, bis er 0 ist ( und folglich die Figur dran ist ). Dafür braucht der XP ca. 2-3 Sekunden ( sind keine Waits enthalten ), was schon ziemlich langsam ist für so eine banale Berechnung. Außerdem friert solange die Grafik ein ( also die Charakter-Animationen ). Nicht dass das jetzt so weltbewegend schlimm ist, aber ist mir nur aufgefallen.
    ich würd bei sowas empfehlen ruby-code einzubinden und berechnungen in threads ausführen lassen, das entlastet ungemein^^

    etwa so:
    Code:
    thread=Thread.new {
    loop do
    # lässt den thread für 1 sekunde pausieren, geht aber auch 0.1, 0.01, etc.
      sleep(1)
      
    und hier halt irgendwelche berechnungen ausführen ... übrigens, die klasse Math kann viele wunderbare dinge zaubern^^
    end
    }
    innerhalb des loops kann man natürlich auch mit einer while-schleife das ganze an bestimmte bedingungen knüpfen ... und irgendwann sollte man den thread auch mittels

    thread.kill

    auch wieder von seiner arbeit erlösen, sonst rennt der ewig weiter^^

    @henry, für sowas müsstest du in Scene_Title das titelmenü überspringen bzw. davor ins spiel einsteigen ... dafür gibts auf dubalex schon einige scripts, musst bissl suchen oder selber machen wennst in ruby schon halbwegs fit bist^^

    grundsätzlich zur verwendung von ruby:
    kinder - trial and error, so lernt man am besten eine programmiersprache, machts einfach wie ihr euch denkts und probiert solange, bis es klappt xD

Berechtigungen

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