Ergebnis 1 bis 13 von 13

Thema: [RmVX] Scripter für RosaArts gesucht (Save-Menü-Änderung)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Man kann bereits ziemlich einfach an der Struktur des Scriptes erkennen was möglicherweise zu einem Fehler führen sollte.
    Außerdem bringt die Art und Weise wie das Script gemacht ist ein paar Probleme mit sich.

    Zum einen ist es natürlich zu bedenken, dass es wirklich sehr sehr lange dauern könnte über 99 Speicherstände (falls diese existieren) zu iterieren und alle komplett zu laden und die Switches zu überprüfen.

    Was für eine Art von Fehlermeldung bekommst du wenn du es mit dem derzeitigen Script versuchst? Oder gibt es überhaupt keine Fehlermeldung?

  2. #2
    Ich hab die Save-Anzahl mal auf 20 beschränkt... mehr braucht man auch im Maximalfall eh nicht.
    Das sollte Problem A, welches bis jetzt noch nicht auftauchte (lange Ladezeit der Spielstände, wie du geschrieben hast) beheben.


    Im Moment passiert einfach gar nichts. Ich mach meinen check_extras-Befehl, wie immer... und es passiert absolut gar nichts.

  3. #3
    Zuallererst muss ich dir leider sagen, das Script welches du verlinkt hast, sollte eigentlich keinerlei Einfluss haben auf die Funktionalität deines zweiten Scriptes.

    Denn die Funktion in welcher das eigentliche Erstellen eines Save-Files geschieht, wo also die Struktur mit welcher die Dateien in dem File angelegt werden festgelegt wird, ist in dem Script garnicht definiert.
    Die Funktion lautet:
    Code:
    write_save_data(file)
    Und in dem angegebenen Script ist sie nicht zu finden.
    Das heist, sie wurde nicht überschrieben und sollte daher auch noch genauso arbeiten wie zuvor. (wenn wir davon ausgehen, dass du keine anderen Scripte hast welche diese Funktion vielleicht überschreiben könnten)

    Da du keine Fehlermeldung bekommst kann man auch davon ausgehen, dass dein Script die Save-files auch immernoch korrekt lädt. Zumindest besitzt die Klasseninstanz an siebter Stelle im File (eben die welche in deinem Script geladen wird) die benötigte Funktion
    Code:
    []
    .

    Könnte es vielleicht sein, dass du vielleicht an einer anderen Stelle kürzlich etwas an dem System geändert hast und es dadurch nichtmehr korrekt arbeiten könnte?

  4. #4
    Also ich habe es noch einmal durchgetestet und es kommt definitiv vom Neo Save System VI.

    Folgende Situation:
    Ich erstell auf einer leeren Map einen Spielstand, bei dem mein Switch 101 [Savegame vorhanden] AN ist. Dieser Switch wird auch angeschaltet, sobald man Speichern kann.
    Anschließend lade ich meinen Titelscreen, welcher bei check_extras "Conditional Branch IF Switch 101 AN" die Möglichkeit bietet das Introzeug zu überspringen und im eigenen
    Titelbild zu landen (alles auf der gleichen Map).

    WENN der Spielstand im Neo Save System erstellt wurde (kein Save-Ordner definiert, Spielstände noch immer im Standardverzeichnis mit der Standardbezeichnung), dann wird der
    Switch durch check_extras NIE angeschaltet.
    ABER wenn der Switch im Standard-Savemenü erstellt wurde, dann wird der Switch korrekt angeschaltet, sobald man check_extras aufruft.
    Dabei ist es vollkommen egal, ob das Neo Save Script importiert ist, oder nicht... es scheint nur darauf anzukommen, womit der Spielstand gespeichert wurde - was wiederum bedeutet,
    dass es am Savesystem liegen muss.

    Irgendwas... vielleicht ist es nur eine Kleinigkeit, macht das SaveSystem beim Speichern anders...


    Edit:
    Neo Save System:
    Code:
    def do_save
    	if SCREENSHOT_IMAGE
    	  File.rename(SAVE_PATH + 'temp' + IMAGE_FILETYPE,
    	  make_filename(@last_slot_index).gsub(/\..*$/){ '_ss' } + IMAGE_FILETYPE)  
    	end  
    	
    	file = File.open(make_filename(@last_slot_index), "wb")
    	write_save_data(file)
    	file.close
    VX-Save-Art:
    Code:
      def do_save
        file = File.open(@savefile_windows[@index].filename, "wb")
        write_save_data(file)
        file.close
        return_scene
      end

    Es funktioniert, wenn ich das Screenshotfeature deaktiviere!
    Damit hätten wir den Fehlerbereich schon einmal eingegrenzt

    Geändert von Rosa Canina (28.05.2012 um 22:33 Uhr)

  5. #5
    Der von dier zitierte Bereich zeigt bereits, die Art und Weise wie das Save-File angelegt wird ist in dem Script nicht geändert.
    Der einzige Unterschied liegt daran, wie sich der Name des Files zusammen setzt. Hast du einmal geschaut ob die Namen der Save-Files anders lauten falls sie mit dem Script gespeichert werden?
    Das wäre nämlich dann ein ziemlich einfacher Schluss worauf es hinausläuft.

  6. #6
    Du hast Recht... bei einem ist ein Leerzeichen zwischen Save und ID-Nummer und beim anderen nicht >_<

    Das heißt also, ich muss nur irgendwo ein Leerzeichen weg/dazufügen und es sollte gehen... *anfängt rumzuprobieren*


    Edit:

    Manchmal hasse ich RUBY echt... das Leerzeichen war im Explorer nicht wirklich zu sehen und wenn ich jetzt den Code vom Snippet von dem hier:
    Code:
            if File.exist?("Save"+i.to_s+".rvdata")      
            file = File.open("Save"+i.to_s+".rvdata", "rb")
    auf das hier ändere:
    Code:
            if File.exist?("Save "+i.to_s+".rvdata")      
            file = File.open("Save "+i.to_s+".rvdata", "rb")
    scheint es zu funktionieren >_>

    Und ich hab jetzt den kompletten Nachmittag und Abend damit vergeudet da rumzuprobieren >_<

    Geändert von Rosa Canina (28.05.2012 um 22:49 Uhr)

  7. #7
    Das hat mit Ruby nichts zu tun.
    Wenn die Datei den falschen Namen hat dann funktioniert es nunmal nicht sie zu öffnen.
    Daher ist es immer sehr hilfreich Debug-Nachrichten in seine Scripte einzubauen um auf ungewöhnliches Verhalten des Programms hinzuweisen. Diese kann man dann für die Veröffentlichung des Projekts relativ leicht wieder entfernen.

    In solch einer Situation würde es sich zum Beispiel lohnen eine Debug-Message einzufügen welche dir sagt ob überhaupt mindestens ein File gefunden wurde. Bei deinen Tests sollte es wohl fast immer der Fall sein, also eine Fehlernachricht auszugeben falls keines gefunden sein sollte würde hier schon enorm helfen und nur selten stören.

  8. #8
    Ja, da hast du schon Recht. Ich scripte im Normalfall ja gar nicht und kenn mich daher fast 0 mit dem Zeug aus (ich könnte nicht einmal "Hello World" anzeigen lassen XD)...
    Meine größte Errungenschaft in Ruby, war es... nach 100 Fehlschlägen... einen Switch bei Messagestart an und beim Erreichen des Endes (bevor man sie schließt - also, wenn
    sie nur dasteht) wieder auf aus zu setzen. XD

    Und ganz ehrlich... ich habe sogar die Dateinamen der Saves umbenannt, in der Hoffnung, dass es dann funktionieren würde. Aber mir ist nie das eine dumme Leerzeichen aufgefallen. :/
    Das ist noch ein Grund, warum ich lieber mit dem Maker einen Novel mache, als mit Renpy... jeder Mensch verschreibt sich halt mal oder übersieht so winzige Minifehlerchen XD

    Aber danke für deine Hilfe, cornix.
    Dank dir läuft meine Visual Novel-Engine nun so perfekt, wie noch nie. Von einem kommerziellen Novel unterscheidet sie jetzt nur noch die fehlende Textlog-Funktion. :3

Berechtigungen

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