Ergebnis 1 bis 2 von 2

Thema: [Skript gesucht!] Laufgeräusche und Terrain-Abfrage? Und "Input Buttom"?

  1. #1

    [Skript gesucht!] Laufgeräusche und Terrain-Abfrage? Und "Input Buttom"?

    Halloooooo

    Also, ich würd gern in mein Spiel Laufgeräusche einbauen lassen, im 2k3 musste man dies über Terrains regeln, die man in Variablen speichert.
    Dann fragt man die Varible ab und jenachdem welchen Wert sie hat, kommt ein andere Ton.
    Leider kenn ich mich im XP noch nicht sonderlich gut aus und bräuchte mal hilfe.

    Mein Frage ist jetzt, wie macht man das mit den Terrain?
    In Variablen speichern geht nicht, zuimindestens hab ich nichts gesehen was dies bewirken könnte.
    Dann weiß ich nicht wie man die Abfragt, wahrscheinlich mit eine Ruby-Skript.
    Da ich mich aber noch nicht gut in Ruby auskenne, bräuchte ich da hilfe...


    Dann eine andere Frage, wie bedient man den "Input Buttom"-Befehl?
    Ich möchte gern ein eigens Menü machen, leider klappt das mit den Tasten nicht sonderlich gut x3


    Außerdem suche ich noch ein Skript, und zwar eins womit man diesen "Startbildschirm" überspringen kann.


    Dank im Voraus

  2. #2
    Den Titelbildschirm zu überspringen ist mit dem Standard XP-Script sehr einfach getan.
    Du änderst lediglich im Script: "Scene_Title" die Main-Methode wie folgt:
    Code:
    def main
        # If battle test
        if $BTEST
          battle_test
          return
        end
        # Load database
        $data_actors        = load_data("Data/Actors.rxdata")
        $data_classes       = load_data("Data/Classes.rxdata")
        $data_skills        = load_data("Data/Skills.rxdata")
        $data_items         = load_data("Data/Items.rxdata")
        $data_weapons       = load_data("Data/Weapons.rxdata")
        $data_armors        = load_data("Data/Armors.rxdata")
        $data_enemies       = load_data("Data/Enemies.rxdata")
        $data_troops        = load_data("Data/Troops.rxdata")
        $data_states        = load_data("Data/States.rxdata")
        $data_animations    = load_data("Data/Animations.rxdata")
        $data_tilesets      = load_data("Data/Tilesets.rxdata")
        $data_common_events = load_data("Data/CommonEvents.rxdata")
        $data_system        = load_data("Data/System.rxdata")
        # Make system object
        $game_system = Game_System.new
        self.command_new_game
    end
    Die Änderung ist, dass du eine Menge aus der Methode löschst, nämlich die Erzeugung von dem Fenster, dem Hintergrund, der Updateroutine, etc. Du lässt lediglich alle Daten laden und gibst dann den Befehl das Spiel zu starten.
    Es könnte sein, dass immernoch ein Bestätigungssound abgespielt wird, in dem Fall musst du lediglich die Methode: "command_new_game" so umschreiben, dass der Sound nichtmehr abgespielt wird.

    Um die ID eines Tiles an einer Position zu erhalten musst du, mit den standard Klassen, lediglich $game_map.data[x, y, z] aufrufen.
    Damit erhälst du die ID des Tiles an der Position (x,y) im Layer z.
    Die Layer starten bei 0 und gehen bis einschließlich 2.
    Um in Abhängigkeit der Terrain-ID auf welcher sich der Spieler befindet einen Sound abspielen zu lassen müsstest du lediglich die Game_Player-Klasse umschreiben um in der Updateroutine eine Terrain-Abfrage einzubauen und dann einen Sound abspielen zu lassen.

    Für den Standard-Input gibt es die RGSS Input-Klasse.
    Diese bietet die Funktionen .trigger? (einmaliger Tastendruck), .press? (Tastendruck allgemein), .release? (Taste wurde gerade losgelassen) und .repeat? (einmaliger Tastendruck und wiederholter Tastendruck mit gewisser Verzögerung).
    Die Tasten sind als Konstanten in der Input-Klasse definiert. Da solltest du am besten die Hilfsdatei öffnen.

Berechtigungen

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