Ergebnis 1 bis 20 von 93

Thema: [Sammelthread] RPG Maker VX- Anfängerprobleme (alles wovon TwoFace keine Ahnung hat)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Flips PN:
    .dll Datei
    Die .dll Datei findest im Systemordner vom Maker, die wird auch bei der Makerinstallation beim Maker selbst und nicht beim RTP Beigelegt.
    Das include RTP greift lediglich auf die Game.ini zu und liest aus welche .dll er braucht. Diese ladet er dann selbst aus dem Ordner und fügt sie dem Ordner hinzu.
    Meist besitzt man eh nur eine .dll (rgss202E.dll) und diese befindet sich im Programmordner vom Maker. guck einfach bei Programme -> Enterbrain -> RPG Maker VX
    dort ist die .dll eh schon enthalten.
    Eine .dll enthält wichtige Funktionen welche für ein Programm notwendig sind, so enthält die rgss202E.dll die komplette Library von der RGSS Console, damit die Scripts auch
    wirklich arbeiten. Fehlt die .dll kommt es zu folgendem Fehler:
    RGSS Player abgestürzt
    Und das Spiel lässt sich nicht starten.
    lg flipy

    Ok kannst du mir noch beantworten ob es dann reicht die DLL einfach mit in den Projektordner zu kopieren?
    Denn wenn ich den Bezug aufs RTP lösche und derjenige den Maker nicht hat, so Stürzt das Spiel ab wenn ich euch richtig verstehe und ich auf meine Weise den bezug zum RTP. Würde mich auf beantwortung der Frage und über eine Erklärung freuen.
    rausnehme.

    Geändert von Bex (30.06.2013 um 20:30 Uhr)

  2. #2
    Wie ändere ich denn die Fade-Out-Animation, wenn es zu einem Kampf kommt?


  3. #3
    @TwoFace: Benenne deine neue Fade-Grafik einfach in BattleStart und füg sie über den Ressourcen-Import in den System Ordner.

    @Bex: Wie schon gesagt: Ja es reicht.
    Das RTP sind nur Grafiken, die .dll enthält nur die auskompilierten Scriptfunktionen vom RGSS-Player, welcher zum nutzen der Scripts benötigt wird.
    Jedoch wird, wie schon erwähnt, bei Include RTP auch die .dll hinzugefügt, da man davon ausgeht, dass die Person, die diese Version erhält, diese .dll auch nicht besitzt, aber die Datei wichtig ist und das Spiel sonst nicht funktioniert.

  4. #4
    Danke, Flippo.

    Bei den Map Properties kann ich doch die Encounter einstellen. Ich will den Troop von einer Variable abhängig machen. Warum? Ich will ein Tagsystem benutzen und je höher die Variable "Tag" ist, desto stärker sollen die Gegner sein, die auftreten. Jemand ne Idee wie ich das realisiert krieg?

  5. #5
    Die Methode die dafür zuständig ist findest du in Zeile 214 von der Klasse "Game_Player", die Methode sieht wie folgt aus:
    Code:
      #--------------------------------------------------------------------------
      # * Create Group ID for Troop Encountered
      #--------------------------------------------------------------------------
      def make_encounter_troop_id
        encounter_list = $game_map.encounter_list.clone
        for area in $data_areas.values
          encounter_list += area.encounter_list if in_area?(area)
        end
        if encounter_list.empty?
          make_encounter_count
          return 0
        end
        return encounter_list[rand(encounter_list.size)]
      end
    Die Variable "encounter_list" ist eine Liste mit ganzen Zahlen. Die Zahlen repräsentieren die ID der Gegnertruppe, so wie du sie in der Datenbank gesetzt hast.
    Du kannst diese Methode umschreiben, um deine Variable zu berücksichtigen.
    Eine einfache Variante wäre es, die ID einfach grundsätzlich um 0, 1, 2, oder 3 zu erhöhen, je nach Tageszeit, um somit stärkere Gegnertruppen zu erlauben.
    Also als Beispiel würdest du die Gegnertruppen in der Datenbank wie folgt anordnen:
    Gegnertruppe ID 1: Leichte Monster A
    Gegnertruppe ID 2: Mittlere Monster A
    Gegnertruppe ID 3: Schwere Monster A
    Gegnertruppe ID 4: Sehr schwere Monster A

    Gegnertruppe ID 5: Leichte Monster B
    Gegnertruppe ID 6: Mittlere Monster B
    Gegnertruppe ID 7: Schwere Monster B
    Gegnertruppe ID 8: Sehr schwere Monster B

    Dann kannst du die oben gezeigte Methode wie folgt verändern:
    Code:
      #--------------------------------------------------------------------------
      # * Create Group ID for Troop Encountered
      #   <Edited by Cornix>
      #--------------------------------------------------------------------------
      def make_encounter_troop_id
        encounter_list = $game_map.encounter_list.clone
        for area in $data_areas.values
          encounter_list += area.encounter_list if in_area?(area)
        end
        if encounter_list.empty?
          make_encounter_count
          return 0
        end
        id = encounter_list[rand(encounter_list.size)]
        return id + $daytime_encounter_modification
      end
    Wobei $daytime_encounter_modification eine globale Variable ist, welche eine ganze Zahl darstellt. Der Wertebereich wäre [0, 3].

  6. #6
    ah und "$daytime_encounter_modification" ist dann die gleichnamige Variable, die ich anlege und einen bestimmten Wert annehmen lasse, oder? ergo: Wenn ich die Variable auf 3 setze, dann erhalte ich als Gegner die Gruppe mit der ID 3, hab ich das soweit alles richtig verstanden?

  7. #7
    $daytime_encounter_modification ist eine globale Variable, welche du einfach irgendwo setzen kannst. Zum Beispiel in einem Event mit dem Custom-Script
    Code:
    $daytime_encounter_modification = 2
    Dadurch würden die Troop-ID's von allen Gegnern die du antreffen kannst um 2 erhöht werden.
    Wenn du also auf deiner Karte die Gegner-ID's 1, 5, 9 und 13 einstellst dann würdest du nun auf die Monstertruppen 3, 7, 11 und 15 stoßen können.


    Für das was du machen willst gibt es sehr sehr viele Möglichkeiten. Ich finde aber, dass dies hier die "einfachste" ist. Quick & Dirty.

Berechtigungen

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