Archiv verlassen und diese Seite im Standarddesign anzeigen : RPG Maker VX Ace: Allgemeines Problem - RGSS3 Player funktioniert nicht mehr
CensedRose
15.04.2015, 15:11
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-maker-vx-ace-lite/board11-hilfe-forum/4182-absturz-beim-kampfbeginn/#post39018
Oder direkt zum Script von Mithran: http://pastebin.com/DvuinNFU
Dem Internet nach könnte es dafür mehrere Gründe geben. Vielleicht hilft dir dieses Posting ja weiter. (http://forums.rpgmakerweb.com/index.php?/topic/11720-what-causes-rgss3-player-has-stopped-working-errors/#entry138825) Benutzt du im Spiel selbstgemachte Scripte?
CensedRose
15.04.2015, 17:34
Dem Internet nach könnte es dafür mehrere Gründe geben. Vielleicht hilft dir dieses Posting ja weiter. (http://forums.rpgmakerweb.com/index.php?/topic/11720-what-causes-rgss3-player-has-stopped-working-errors/#entry138825) 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!
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?
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.
CensedRose
16.04.2015, 13:23
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!
CensedRose
16.04.2015, 13:26
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! :D
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?
CensedRose
17.04.2015, 12:09
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.
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.
Wirft der Ace beim Crashen nicht detailliertere Informationen auf der Konsole aus?
CensedRose
18.04.2015, 08:45
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 =/
Hast du die Konsole denn auch auf?
CensedRose
18.04.2015, 19:11
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.
Ja, die ist es. Zeigt sie etwas beim Absturz an?
CensedRose
19.04.2015, 20:37
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.
Unter dem Menüpunkt "Game" findest du "Show Console". Den musst du anwählen.
CensedRose
20.04.2015, 07:20
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! :)
CensedRose
20.04.2015, 07:47
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! :)
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?
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 :hehe:)
Probier mal folgendes in deinen Materials Bereich zu droppen:
#==============================================================================# ** Console Support for XP/VX
#------------------------------------------------------------------------------
# By Grim from http://www.biloucorp.com
#==============================================================================
# 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.
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?
CensedRose
20.04.2015, 11:28
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 :hehe:)
Probier mal folgendes in deinen Materials Bereich zu droppen:
#==============================================================================# ** Console Support for XP/VX
#------------------------------------------------------------------------------
# By Grim from http://www.biloucorp.com
#==============================================================================
# Function :
#==============================================================================
# Console.log(text) => display text in console
# console.log(text) => display text in console
#==============================================================================
# ** Configuration
#------------------------------------------------------------------------------
# Configuration data
#==============================================================================
....
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?
Ich glaube ich habe nun eine Lösung gefunden! :)
Dein Script habe ich noch nicht ausprobiert, bin vorher noch einmal auf die Suche gegangen.
Ich habe folgendes gefunden:
1. Auf dieser Seite bin ich auf ein Script gestossen, dass Probleme mit den Script-Konflikten beseitigen sollte.
http://rpgmaker-vx-ace.de/board9-rpg-maker-vx-ace-lite/board11-hilfe-forum/4182-absturz-beim-kampfbeginn/#post39018
2. Hier ist der Script an sich
http://pastebin.com/DvuinNFU
Habe den gleich mal in mein Spiel eingebaut und bis jetzt hatte ich keinen Absturz mehr.
Ich habe eine Map in der viele kleinere Gegner vorhanden sind. Wenn ich diese Map ohne Absturz durchspielen kann, dann hat dieses Script wirklich geholfen!
Sollte dies der Fall sein, melde ich mich wieder!
Das ist übrigens das Problem, welches ich in meinem ersten Beitrag in diesem Thread angesprochen habe. Im Nachhineinüberlegt hätte ich dir vielleicht einfach sofort den Link geben und dich bitten können es einmal aus zu probieren.
CensedRose
20.04.2015, 13:31
Ich glaube ich habe nun eine Lösung gefunden! :)
Dein Script habe ich noch nicht ausprobiert, bin vorher noch einmal auf die Suche gegangen.
Ich habe folgendes gefunden:
1. Auf dieser Seite bin ich auf ein Script gestossen, dass Probleme mit den Script-Konflikten beseitigen sollte.
http://rpgmaker-vx-ace.de/board9-rpg-maker-vx-ace-lite/board11-hilfe-forum/4182-absturz-beim-kampfbeginn/#post39018
2. Hier ist der Script an sich
http://pastebin.com/DvuinNFU
Habe den gleich mal in mein Spiel eingebaut und bis jetzt hatte ich keinen Absturz mehr.
Ich habe eine Map in der viele kleinere Gegner vorhanden sind. Wenn ich diese Map ohne Absturz durchspielen kann, dann hat dieses Script wirklich geholfen!
Sollte dies der Fall sein, melde ich mich wieder!
Das Script funktioniert einwandfrei :D Ich könnte Purzelbäume schlagen!
Ich habe jetzt bereits seit Anfang des Spiels 1h 12min gespielt und ich hatte keinen einzigen Absturz! :D
Damit kann ich bestätigen, dass das Script super funktioniert und auch anderen Makern helfen kann!
Werde mein Anliegen entsprechend ändern, damit andere mit demselben Problem gleich zu dem Script kommen :)
Nochmals vielen Lieben Dank für eure Hilfe! ^_^
CensedRose
20.04.2015, 14:37
Das ist übrigens das Problem, welches ich in meinem ersten Beitrag in diesem Thread angesprochen habe. Im Nachhineinüberlegt hätte ich dir vielleicht einfach sofort den Link geben und dich bitten können es einmal aus zu probieren.
Kein Problem!
Trotzdem, nochmals vielen Dank für deine Hilfe :)
Das ist natürlich ein bösartiger Fehler, da es in früheren Versionen des Makers völlig legal und üblich war, Viewports zu disposen ohne die darin liegenden Sprites zu disposen (hat sich vermutlich erst zu einem Problem entwickelt, nachdem Sprites ihre Viewports dynamisch ändern können).
Ich finde es echt schlimm das für solche ernsten Fehler keine Patches rauskommen. Ständig werde ich zugespammt, dass es neue DLCs für den maker (in Form von Grafiken, Musik etc.) gibt, aber solche offensichtlichen Softwarefehler werden nicht gefixed. Das war schon in früheren Makerversionen so. Jede Makerversion hatte mindestens einen kritischen Fehler der nie gepatcht wurde.
Mir war sowieso schon seit dem XP klar, dass die Entwickler hinter dem Maker auf technischem Niveu nicht ganz das goldene vom Ei sind. Selbst wenn man von den kritischen Fehlern absieht gab es allerlei Obskuritäten und kleinere Fehler hier und dort. Und der Fehler selbst ist nichteinmal das Schlimme. Einen Fehler kann man umgehen. Aber die Tatsache, dass es überhaupt keine Fehlermeldung oder sonstige Hinweise gibt ist wirklich grauenvoll. Als ich damals auf diesen Fehler gestoßen bin (der natürlich nicht dokumentiert ist) habe ich Tage mit nutzlosem Debugging verschwendet, weil ich dachte es wäre ein Fehler von mir gewesen.
Oh ja, das erinnert mich gleich wieder an das mit dem false auf dem XP. Schon ein Script-Kommando mit "a = false" führt dazu, dass der Maker sich aufhängt und wer kommt schon darauf, im Interpreter nachzuschauen, woran das liegen könnte.
CensedRose
22.04.2015, 07:24
Jupp da ist wirklich nicht so toll gemacht. Ich meine, wenn es schon DLCs gibt, warum können die dann keinen Patch oder ein Update raus bringen, dass die Fehler korrigiert? o.O
Ich meine, schon dass sie die ganzen Programme - RPG Maker 2000 / 2003 / XP / VX / VXAce usw. - überhaupt programmiert haben und all das... und ich meine, die Maker sind extrem beliebt.
Daher ist es schon seltsam, dass die nie ein Update raus gebracht haben :wat:
Vielleicht kommt das ja irgendwann mal... in ferner Zeit... jo... :\
Sehr unwahrscheinlich, dass dort jemals etwas kommen wird. Wenn du dir anschaust wie wenig Zeit zwischen XP, VX und Ace vergangen ist wird es offensichtlich, dass die Marketingstrategie darauf aufbaut ein neues Produkt auf den Markt zu bringen anstatt ein altes zu verbessern. Immerhin muss dann auch wieder jeder etwas zahlen um diese Verbesserungen nutzen zu können.
CensedRose
26.04.2015, 09:23
Sehr unwahrscheinlich, dass dort jemals etwas kommen wird. Wenn du dir anschaust wie wenig Zeit zwischen XP, VX und Ace vergangen ist wird es offensichtlich, dass die Marketingstrategie darauf aufbaut ein neues Produkt auf den Markt zu bringen anstatt ein altes zu verbessern. Immerhin muss dann auch wieder jeder etwas zahlen um diese Verbesserungen nutzen zu können.
Ist einfach sehr schade =/ Die sollten wirklich mehr Wert darauf legen, Fehler zu korrigieren und vielleicht das eine oder andere neue Feature einzubauen, um das Makern zu erleichtern.
Fände ich wirklich viel besser. Aber mal schauen. Man weiss ja nie ;) Schliesslich haben die scheinbar den RPG Maker 2003 ja jetzt etwas modifiziert und auf die Englische Sprache umgestellt =) Also manche Änderungen passieren doch.
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.