Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 30

Thema: RPG Maker VX Ace: Allgemeines Problem - RGSS3 Player funktioniert nicht mehr

  1. #1

    RPG Maker VX Ace: Allgemeines Problem - RGSS3 Player funktioniert nicht mehr

    Hallo ihr Lieben!

    Viele von euch kennen vielleicht dieses Problem.
    Da es bereits eine Menge Themen gibt, ich jedoch nichts über den VX Ace gefunden habe, wollte ich mal ein neues Thema erstellen, da dieses Problem sicher auch viele andere betrifft.


    Problem:

    Während dem Spielen setzt dieses plötzlich aus und es kommt die Fehlermeldung: "RGSS3 Player funktioniert nicht mehr"

    Dies passiert manchmal zwischen 15-20 min Spielzeit. Das Spiel ist ein selbsterstelltes von mir und im Hintergrund läuft sonst nichts.
    Wenn das Spiel abstürzt und ich es neu lade, kann ich ganz normal an dem Punkt weiter spielen, an dem ich zuletzt gespeichert habe.
    Dann kann ich vielleicht wieder 20 min weiter spielen und plötzlich stürzt das Spiel wieder mit dem oben genannten Fehler ab.

    Dies ist bis jetzt zwei mal passiert und ich habe keine Ahnung, woran das liegt.


    Wäre unglaublich froh, wenn mir und den anderen mit dem gleichen Problem, jemand helfen könnte!


    Vielen Dank
    CensedRose


    ACHTUNG! Problem behoben!

    Auf der Suche nach einer Lösung, bin ich auf ein Script gestossen, dass die Script-Konflikte beseitigen sollte.
    Das Script hat Mithran erstellt und funktioniert wirklich super! Wichtig bei diesem Script ist, dass ihr das Script als erstes Script unter Materials einsetzt!
    Ansonsten könnte das ganze nicht richtig funktionieren.

    Mir hat es prima geholfen und ich hoffe, euch hilft es auch

    Hier der Link zu der Seite: http://rpgmaker-vx-ace.de/board9-rpg...inn/#post39018
    Oder direkt zum Script von Mithran: http://pastebin.com/DvuinNFU

    Geändert von CensedRose (20.04.2015 um 14:36 Uhr) Grund: Lösung des Problems

  2. #2
    Dem Internet nach könnte es dafür mehrere Gründe geben. Vielleicht hilft dir dieses Posting ja weiter. Benutzt du im Spiel selbstgemachte Scripte?

  3. #3
    Zitat Zitat von Kelven Beitrag anzeigen
    Dem Internet nach könnte es dafür mehrere Gründe geben. Vielleicht hilft dir dieses Posting ja weiter. Benutzt du im Spiel selbstgemachte Scripte?
    Selbstgemachte Scripte nein. Ich benutze Scripte von Yanfly, Victor Scripts und Zeus Lights & Shadows.
    Kennst du die vielleicht? Vermutlich ist bei denen etwas nicht in Ordnung, oder ich habe vielleicht etwas abgeändert.

    Seltsam ist nur, dass das Spiel eigentlich ganz normal läuft und einfach nach einer gewissen Zeit abstürzt.
    Finde das einfach seltsam =/

    Ich schaue sonst mal. Das Posting hilft mir leider nicht weiter, da ich kein Englisch kann (nur das nötigste) ^^ Aber danke!

  4. #4
    Bei nem Kumpel von mir ist wegen eines Scriptes ein Ace Spiel immer nach einer gewissen abgestürzt, allerdings mit "Game.exe funktioniert nicht mehr". Da lags nach einigem rumprobieren wohl am Betriebssystem (XP), da andere genau das gleiche Problem hatten und auch XP benutzt haben. Bei allen anderen lief das Spiel problemlos. Vielleicht liegts auch am Betriebssystem?

  5. #5
    Das liegt höchst wahrscheinlich an den von dir benutzen Scripten. Nicht zwingend an einem einzelnen Script aber vielleicht an einer gewissen Kombination aus mehreren von diesen. Ruby ist keine sehr sichere Sprache, es ist sehr einfach, dass mehrere Scripte einander beinflussen und dadurch Fehler zustande kommen.
    Aus persönlicher Erfahrung, welche ich bei der Entwicklung eines Ace-Spieles einmal gemacht habe, weis ich auch, dass es im Ace ein Problem mit dem Garbage-Collect von Grafikobjekten gibt. Das führt dann zu Abstürzen an beliebigen Zeitpunkten, nämlich wann immer der GC gerade aktiv wird.

  6. #6
    Zitat Zitat von Sölf Beitrag anzeigen
    Bei nem Kumpel von mir ist wegen eines Scriptes ein Ace Spiel immer nach einer gewissen abgestürzt, allerdings mit "Game.exe funktioniert nicht mehr". Da lags nach einigem rumprobieren wohl am Betriebssystem (XP), da andere genau das gleiche Problem hatten und auch XP benutzt haben. Bei allen anderen lief das Spiel problemlos. Vielleicht liegts auch am Betriebssystem?
    Da ich das neue Windows 8.1 benutze, denke ich mal, dass es nicht daran liegt Aber vielen Dank!

  7. #7
    Zitat Zitat von Cornix Beitrag anzeigen
    Das liegt höchst wahrscheinlich an den von dir benutzen Scripten. Nicht zwingend an einem einzelnen Script aber vielleicht an einer gewissen Kombination aus mehreren von diesen. Ruby ist keine sehr sichere Sprache, es ist sehr einfach, dass mehrere Scripte einander beinflussen und dadurch Fehler zustande kommen.
    Aus persönlicher Erfahrung, welche ich bei der Entwicklung eines Ace-Spieles einmal gemacht habe, weis ich auch, dass es im Ace ein Problem mit dem Garbage-Collect von Grafikobjekten gibt. Das führt dann zu Abstürzen an beliebigen Zeitpunkten, nämlich wann immer der GC gerade aktiv wird.

    Das könnte eigentlich gut möglich sein Ich benutze ca. 4-5 Scripte zusammen. Dazu gehört eines für das Shop-Menü und ein anderes für Symbole bei den allgemeinen Menüs. Dazu noch ein Script für Nebel (Fogs) und weiteres.
    Ich schaue mir das mal an und werde mal weiter schauen!

    Vielen Dank!

  8. #8
    Versuche einmal eines nach dem anderen auszuschalten und nocheinmal zu testen ob das Problem weiterhin auftritt. Es wäre dafür natürlich nützlich die Ursache des Problems einschränken zu können auf gewisse Situationen. Was passiert für gewöhnlich wenn das Problem auftritt? Kann man irgendeine Art von Muster erkennen?

  9. #9
    Zitat Zitat von Cornix Beitrag anzeigen
    Versuche einmal eines nach dem anderen auszuschalten und nocheinmal zu testen ob das Problem weiterhin auftritt. Es wäre dafür natürlich nützlich die Ursache des Problems einschränken zu können auf gewisse Situationen. Was passiert für gewöhnlich wenn das Problem auftritt? Kann man irgendeine Art von Muster erkennen?
    Nun es passierte einmal, als ich im Wald gegen Wölfe gekämpft habe.
    Ich benutze ein Script für eine andere Gestaltung des Kampfsystems und einen für die Karte: Waldschatteneffekt (Fog). Vielleicht kommen diese beiden Scripte miteinander nicht so gut aus. Weiss es nicht.

  10. #10
    Der erste Schritt in der Beseitigung eines Fehlers ist es die Fehlerursache zu ermitteln (beziehungsweise einzuschränken). Solange du den Fehler nicht reproduzieren kannst (also einen sicheren Weg, um den Fehler hervorzurufen) ist es extrem schwierig den Fehler zu beheben.

  11. #11
    Wirft der Ace beim Crashen nicht detailliertere Informationen auf der Konsole aus?

  12. #12
    Zitat Zitat von Tako Beitrag anzeigen
    Wirft der Ace beim Crashen nicht detailliertere Informationen auf der Konsole aus?
    Nö, wenn die Fehlermeldung kommt, dann heisst es, dass das Programm geschlossen wird und falls eine Lösung vorhanden ist, mir die geschickt wird =/

  13. #13
    Hast du die Konsole denn auch auf?

  14. #14
    Zitat Zitat von Tako Beitrag anzeigen
    Hast du die Konsole denn auch auf?
    Also was für eine Konsole meinst du?
    Meinst du dieses schwarze Fenster in dem allerlei Text und Formeln stehen? o.O

    Ansonsten weiss ich leider nicht, welche Konsole du meinst. Ich öffne nur die Game.exe und teste dann das Spiel.
    Ansonsten ist bei mir kein anderes Fenster offen.

  15. #15
    Ja, die ist es. Zeigt sie etwas beim Absturz an?

  16. #16
    Zitat Zitat von Kelven Beitrag anzeigen
    Ja, die ist es. Zeigt sie etwas beim Absturz an?
    Das ist jetzt vielleicht blöd aber... leider weiss ich nicht, wie man diese Konsole öffnet ^^;
    Bei Tutorials auf YouTube habe ich die immer wieder mal gesehen, aber ich weiss nicht, wie ich diese selber öffnen kann.

    Kannst du mir bitte sagen, wie das geht? Im Internet finde ich leider nichts dazu.

    Geändert von CensedRose (19.04.2015 um 21:39 Uhr)

  17. #17
    Unter dem Menüpunkt "Game" findest du "Show Console". Den musst du anwählen.

  18. #18
    Zitat Zitat von Kelven Beitrag anzeigen
    Unter dem Menüpunkt "Game" findest du "Show Console". Den musst du anwählen.
    Vielen Dank! Ich schaue dann gleich nach!
    Hoffentlich finde ich so den Fehler. Kann natürlich wirklich sein, dass die Scripte die ich benutze in Konflikt kommen.

    Mal schauen!

  19. #19
    Zitat Zitat von Kelven Beitrag anzeigen
    Unter dem Menüpunkt "Game" findest du "Show Console". Den musst du anwählen.
    Zitat Zitat von CensedRose Beitrag anzeigen
    Vielen Dank! Ich schaue dann gleich nach!
    Hoffentlich finde ich so den Fehler. Kann natürlich wirklich sein, dass die Scripte die ich benutze in Konflikt kommen.

    Mal schauen!

    Leider spuckt die Konsole gar nichts aus Sie bleibt auch während dem Testen leer und wenn die Fehlermeldung kommt dann steht dort auch nichts.
    Die Konsole bleibt leider wirklich immer leer... ist das normal?

  20. #20
    Gerade einfach mal getestet diverse Exceptions zu raisen und anscheinend werden die tatsächlich nicht über die Konsole ausgegeben sondern in einem neuen Fenster angezeigt.
    Falls irgendetwas in deinem RGSS Code den Prozess zum Absturz bringt, könte es also sein, dass dir gar keine Exception angezeigt wird (...vielleicht? Ich habe absolut keinen Plan wovon ich rede )

    Probier mal folgendes in deinen Materials Bereich zu droppen:
    Code (Ruby):
    #==============================================================================#​ ** Console Support for XP/VX
    #------------------------------------------------------------------------------
    # By Grim from <a href="http://www.biloucorp.com" target="_blank">http://www.biloucorp.com</a>
    #==============================================================================
    # Function :
    #==============================================================================
    # Console.log(text)  => display text in console
    # console.log(text)  => display text in console
    #==============================================================================
    # ** Configuration
    #------------------------------------------------------------------------------
    # Configuration data
    #==============================================================================
     
    module Configuration
      #--------------------------------------------------------------------------
      # * Active Console (true=>activate console, false=>unactivate console)
      # * Only for XP and VX
      #--------------------------------------------------------------------------
      ENABLE_CONSOLE = true
    end
     
    #==============================================================================
    # ** Console
    #------------------------------------------------------------------------------
    #  VXAce Console Handling
    #==============================================================================
     
    module Console
      #--------------------------------------------------------------------------
      # * Librairy
      #--------------------------------------------------------------------------
      AllocConsole        = Win32API.new('kernel32', 'AllocConsole', 'v', 'l')
      FindWindowA         = Win32API.new('user32', 'FindWindowA', 'pp', 'i')
      SetForegroundWindow = Win32API.new('user32', 'SetForegroundWindow','l','l')
      SetConsoleTitleA    = Win32API.new('kernel32','SetConsoleTitleA','p','s')
      WriteConsoleOutput  = Win32API.new('kernel32', 'WriteConsoleOutput', 'lpllp', 'l' )
      #--------------------------------------------------------------------------
      # * Singleton
      #--------------------------------------------------------------------------
      extend self
      #--------------------------------------------------------------------------
      # * Initialize
      #--------------------------------------------------------------------------
      def init
        if (RUBY_VERSION != '1.9.2')
          return unless ($TEST || $DEBUG)
          hwnd = FindWindowA.call('RGSS Player', 0)
          AllocConsole.call
          SetForegroundWindow.call(hwnd)
          SetConsoleTitleA.call("RGSS Console")
          $stdout.reopen('CONOUT$')
        end
      end
      #--------------------------------------------------------------------------
      # * Log
      #--------------------------------------------------------------------------
      def log(*data)
        return unless ($TEST || $DEBUG)
        if (RUBY_VERSION == '1.9.2')
          p(*data)
          return
        end
        return unless Configuration::ENABLE_CONSOLE
        puts(*data.collect{|d|d.inspect})
      end
    end
     
    #==============================================================================
    # ** Kernel
    #------------------------------------------------------------------------------
    #  Object class methods are defined in this module.
    #  This ensures compatibility with top-level method redefinition.
    #==============================================================================
     
    module Kernel
      #--------------------------------------------------------------------------
      # * Alias for console
      #--------------------------------------------------------------------------
      def console; Console; end
      #--------------------------------------------------------------------------
      # * pretty print
      #--------------------------------------------------------------------------
      if (RUBY_VERSION != '1.9.2') && ($TEST || $DEBUG)
        def p(*args)
          console.log(*args)
        end
      end
    end
     
    #--------------------------------------------------------------------------
    # * Initialize Console
    #--------------------------------------------------------------------------
    Console.init if Configuration::ENABLE_CONSOLE


    Das fügt einen brauchbaren Logger für die Konsole hinzu.

    Code (Ruby):
    class Exception
      alias real_init initialize
      def initialize(*args)
        real_init *args
        console.log(self)
      end
    end


    Das modifiziert Ruby's Exception-Klasse so, dass jede Exception zuerst auf der Konsole ausgegeben wird, wenn sie auftritt.

    Bin mir allerdings noch unsicher, inwiefern dass in diesem Fall helfen würde, da sich RGSS ja anscheinend selber wegkegelt (?).

    Ansonsten eventuell alle Exceptions rescuen, loggen und dann erst raisen?

Stichworte

Berechtigungen

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