Ergebnis 1 bis 19 von 19

Thema: Wie entferne ich folgende nervige Dinge im Kampfsystem?

  1. #1

    Wie entferne ich folgende nervige Dinge im Kampfsystem?

    Ich möchte alle Effekte, die eine Szene im Kampfsystem überblenden einfach nur raus haben und im Maker ist das wohl nicht so ohne weiteres einstellbar ohne tausend Zusatzscripte...

    Ich meine die folgenden Dinge:

    - Battle Transition: Wie entferne ich die Battle Transition? Ich möchte einen nahtlosen Übergang in den Kampf. Der Maker soll keine Sekunde ruckeln, nur weil er die Szene wechseln muss. Das Kampffenster soll sofort einblenden. VE Turn Map Battle (https://www.youtube.com/watch?v=sdZw1ID6zZM) macht das, was ich will. Allerdings müsste ich dafür dem sein komplettes KS nutzen (was ich nicht will).
    - Bei Fliehen: Der Screen blendet aus und wieder ein. Das möchte ich entfernt haben. Es soll ohne Verzögerung wieder zur Map gewechselt werden.
    - Nach Kampf gewonnen: Auch hier. Der Screen blendet aus und wieder ein. Das möchte ich entfernt haben. Es soll ohne Verzögerung wieder zur Map gewechselt werden.

    Ich bitte um Hilfe, da ich an diesem Kleinkram schon den ganzen Tag sitze und zu keiner Lösung komme.

    Geändert von Ken der Kot (14.08.2018 um 20:16 Uhr)

  2. #2
    Und um welchen Maker handelt es sich?

    Also wenn ich es richtig gelesen habe, sind es im Maker inplentierte Funktionen die man wohl nur über Skripts umgehen könnte. Der Aufwand der dahinter steckt, kann ich nicht so gut beurteilen allerdings glaube ich nicht, dass es ein Script gibt welches diese Funktion ausschaltet bzw umändert

  3. #3
    Hallo Gridley es handelt sich hierbei um den Vx Ace.

    Geändert von Ken der Kot (15.08.2018 um 12:02 Uhr)

  4. #4
    Gucke ich mir heute Abend an, wenn es bis dahin noch nicht gelöst ist. Transition rausnehmen sollte jetzt nicht so aufwendig sein.

  5. #5
    Danke Linkey. Da bin ich gleich zuversichtlich gestimmt.

  6. #6
    Habe es in der Mittagspause erledigt. Falls ich nicht alle Stellen erwischt habe, einfach bescheid geben, wo du noch ein Problem hast. Wie immer über Main einfügen:
    Code:
    class Scene_Base
      def transition_speed()
        return 0
      end
      
      def fadeout_all(time = 1000)
        RPG::BGM.fade(time)
        RPG::BGS.fade(time)
        RPG::ME.fade(time)
        Graphics.fadeout(0)#time * Graphics.frame_rate / 1000)
        RPG::BGM.stop
        RPG::BGS.stop
        RPG::ME.stop
      end
    end
    
    
    class Scene_Map < Scene_Base
      def transition_speed()
        return 0
      end
      
      #--------------------------------------------------------------------------
      # * Execute Pre-Battle Transition
      #--------------------------------------------------------------------------
      def perform_battle_transition
        Graphics.transition(0, "Graphics/System/BattleStart", 100)
        Graphics.freeze
      end
      #--------------------------------------------------------------------------
      # * Get Fade Out Speed
      #--------------------------------------------------------------------------
      def fadeout_speed
        return 0
      end
      #--------------------------------------------------------------------------
      # * Get Fade In Speed
      #--------------------------------------------------------------------------
      def fadein_speed
        return 0
      end
      #--------------------------------------------------------------------------
      # * Get Fade Out Speed for Title Screen Transition
      #--------------------------------------------------------------------------
      def fadeout_speed_to_title
        return 0
      end
    end
    
    
    class Scene_Battle < Scene_Base
      def transition_speed()
        return 0
      end
      
      def pre_terminate
        super
        Graphics.fadeout(0) if SceneManager.scene_is?(Scene_Map)
        Graphics.fadeout(0) if SceneManager.scene_is?(Scene_Title)
      end
    end
    
    
    class Scene_Title < Scene_Base
      def transition_speed()
        return 0
      end
    end

  7. #7
    Hey vielen Dank schon mal.

    Hab es getestet aber es entfernt leider sogar die Übergänge beim Titel Screen. Also ich wollte eigentlich nur den Übergang in den Kampf entfernt haben, sowie die Fade-out und Fade-In Effekte, die nach dem Fliehen aus einem Kampf eintreten und nachdem man einen Kampf gewonnen hat. Also diese Überblendungen zu Scene_Battle.

    Dort hingegen gibt es ein kleines Problem. Nämlich verwende ich Wettereffekte (die ganz normalen) im Kampf. Das funktioniert zwar weiterhin auch gut, nur ruckelt das Wetter leicht, während dem Übergang. Bekommt man es vielleicht so hin, daß man es gar nicht merkt, dass der Maker die Szene wechselt? Will es so, daß einfach nur die Battle Windows erscheinen ohne Ruckeln und man dann sofort losfighten kann.

  8. #8
    Okay, dachte du wolltest die komplett raus haben. Erstmal hier, dass es nur noch Kämpfe betrifft:
    Code:
    class Scene_Map < Scene_Base
      def transition_speed()
        return 0
      end
      
      #--------------------------------------------------------------------------
      # * Execute Pre-Battle Transition
      #--------------------------------------------------------------------------
      def perform_battle_transition
        Graphics.transition(0, "Graphics/System/BattleStart", 100)
        Graphics.freeze
      end
      #--------------------------------------------------------------------------
      # * Get Fade Out Speed
      #--------------------------------------------------------------------------
      def fadeout_speed
        return 0
      end
      #--------------------------------------------------------------------------
      # * Get Fade In Speed
      #--------------------------------------------------------------------------
      def fadein_speed
        return 0
      end
      #--------------------------------------------------------------------------
      # * Get Fade Out Speed for Title Screen Transition
      #--------------------------------------------------------------------------
      def fadeout_speed_to_title
        return 0
      end
    end
    
    
    class Scene_Battle < Scene_Base
      def transition_speed()
        return 0
      end
      
      def pre_terminate
        super
        Graphics.fadeout(0) if SceneManager.scene_is?(Scene_Map)
        Graphics.fadeout(0) if SceneManager.scene_is?(Scene_Title)
      end
    end
    Bezüglich Wetter muss ich mal schauen. Sehe bei mir da auch keinen Ruckler.

    Geändert von Linkey (15.08.2018 um 13:44 Uhr)

  9. #9
    Danke, so ist es besser Leider überblendet es immer noch, wenn der Kampf vorbei ist (d.h. wenn man gewonnen hat). Der Bildschirm wird dann für eine halbe Sekunde schwarz und erscheint dann erst.

    Bezüglich Wetter: Ich verwende ein Skript, das es möglich macht, daß Wettereffekte im Kampf einfach weiterlaufen können.

    Poste ich dir mal hier


    Also Beispiel: Es schneit. Und wenn es dann zum Kampf überblendet "ruckelt" das Wetter kurz, bevor es normal weiterschneit. Der Ruckler soll weg. Hab da schon einiges versucht, aber habs nicht geschafft.

    Code:
    class Spriteset_Battle
     
      #just throw the weather creation somewhere after viewports created...
      alias tsuki_weatherfx_create_viewports create_viewports
      def create_viewports
        tsuki_weatherfx_create_viewports
        create_weather
      end
     
      def create_weather
        @weather = Spriteset_Weather.new(@viewport2)
        @weather.type = $game_map.screen.weather_type
        @weather.power = $game_map.screen.weather_power
      end
     
      alias tsuki_screenfx_spritebattle_update update
      def update
        tsuki_screenfx_spritebattle_update
        update_weather
      end
     
      #only update weather if it's not the same as the current weather?
      def update_weather
        #@weather.type = $game_troop.screen.weather_type if $game_troop.screen.weather_type != @weather.type
        #@weather.power = $game_troop.screen.weather_power if $game_troop.screen.weather_power != @weather.power
        @weather.ox = 0
        @weather.oy = 0
        @weather.update
      end
     
      #throw weather disposal somewhere before viewports are disposed...
      alias tsuki_weatherfx_dispose_viewports dispose_viewports
      def dispose_viewports
        dispose_weather
        tsuki_weatherfx_dispose_viewports
      end
     
      def dispose_weather
        @weather.dispose
      end
    end
     
    class Game_Interpreter
     
      #allow weather in battle
      alias tsuki_weatherfx_command_236 command_236
      def command_236
        if $game_party.in_battle
          screen.change_weather(@params[0], @params[1], @params[2])
          wait(@params[2]) if @params[3]
        else
          tsuki_weatherfx_command_236
        end
      end
    end

    Geändert von Ken der Kot (15.08.2018 um 14:43 Uhr)

  10. #10
    @ Linkey hast du das mit dem kurzen Ruckler noch entdecken können? Wär ja seltsam, wenn das Problem nur ich hätte

  11. #11
    Vielleicht läuft mein VX Ace auch einfach flüssiger. Ich schaue aber mal, dass ich die Transition ganz rausnehme. Komme aber erst die Tage dazu. Momentan arbeite ich mich wieder zu Tode

  12. #12
    Okay vielen Dank

  13. #13
    Konntest du dich am Wochenende von der Arbeit gut erholen und evtl was machen?

  14. #14
    Hey Ken,

    ich bekomme wie gesagt diesesn schwarzen Bildschirm nicht, daher kann ich nicht testen, ob es funktioniert, aber reicht es eventuell, wenn du einefach die Pre-Termination überspringst (die letzte Methode aus dem script was ich dir oben gepostet habe mit folgender überschreiben):
    Code:
      def pre_terminate
        #super
        #Graphics.fadeout(0) if SceneManager.scene_is?(Scene_Map)
        #Graphics.fadeout(0) if SceneManager.scene_is?(Scene_Title)
      end

  15. #15
    Hey, cool Danke schon mal. Das hat geholfen. Hab den schwarzen Bildschirm am Ende jetzt nicht mehr. Jedoch setzt das Wetter beim Übergang kurz aus und dann wieder ein (es existiert Wetter auf der Map). Das sollte flüssig ineinander übergehen, weil der Battlebackground ein Screenshot von der eigentlichen Map ist. Man soll nicht sehen, daß da eine Szene "gewechselt" wird.

    Auch der Wetterruckler am Anfang der Map ist leider noch da, kurz bevor das Kampfmenü einblendet. Also das Wetter setzt nicht aus, aber es stoppt für ein paar Frames bevor es weitergeht und das merkt man.

  16. #16
    Wahrscheinlich läuft der Ace bei mir mit mehr FPS. Ich habe da einfach keine Ruckler drin - bzw. ist dieser eine Frame wahrscheinlich mit dem Auge nicht bemerkbar.

    Versuch mal das Freezen und die Transition, auch wenn diese 0 Frames laufen sollte, rauszunehmen (die beiden zeilen der "perform_battle_transition methode" mit "#" auskommentieren):
    Code:
    def perform_battle_transition
        #Graphics.transition(0, "Graphics/System/BattleStart", 100)
        #Graphics.freeze
      end
    Ist dann der Ruckler zum Kampfstart weg?

  17. #17
    Wieviel FPS hast du denn? Hab grad mal mit F2 die Anzeige aktiviert. Zum Kampfstart und danach sinds bei mir durchgehend 59-60. Die Zahl bricht also nicht ein, trotzdem kleiner Ruckler.

    Hab die Änderung von dir mal übernommen, aber machts trotzdem nicht besser

  18. #18
    Mh komisch. Hast du noch andere Scripts im Einsatz? Läuft bei mir flüssig, die 60 Frames ändern sich auch nie.
    Schick mir mal das Projekt (am besten auf die betroffene Map reduziert), oder ein leeres projekt mit allen Scripts drin, wo der fehler auch auftritt.

  19. #19
    Schick dir gleich pn

Berechtigungen

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