Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : [VX Frage zum RGSS] Call Save während des Dialogs und allgemeine Frage



Rosa Canina
01.05.2012, 21:33
Hi, Leute... jetzt probier ich schon seit Ewigkeiten herum und es scheint, als müsste ich doch mal um Hilfe fragen. Ich hab mich sogar selbst hingesetzt und mir RGSS angeschaut und ein paar
Grundzüge habe ich an bestehenden Scripten verstanden, aber nichts passendes für meine "Probleme" gefunden.

Es gibt genau zwei Dinge, von denen ich beide... oder keines brauche. Sprich: Wenn man eines gar nicht machen kann, dann erledigt sich das komplett. Es sind beides Sachen, die ich nicht über
Events bauen kann (im Sinne von: "Nicht machbar" und nicht nur "mega aufwendig" oder so. Wobei ersteres mit Millionen Forks etc wohl sogar lösbar wäre... teilweise.).

Kurzum... ich würde meine Visual Novel gerne "VN-mäßiger" machen, in dem ich ein Speichern und Laden zu jedem Zeitpunkt einbaue. Um dies zu verwirklichen müsste ich zwei Dinge erreichen.
Eines davon ist nur eine Frage, die man mit "Ja" oder "Nein" beantworten kann - beim anderen brauche ich Hilfe ^^

Speichereigenheit
Das hier ist erstmal die Frage... ich probier mich grad an einem "Mitten während des Events speichern" und merke, dass es meist funktioniert... und manchmal zurück gesetzt wird. Gehe ich richtig
in der Annahme, dass es sich nur zurücksetzt, wenn ich etwas am Event verändere? Hat damit jemand Erfahrung? Wenn ja: Super :D Wenn nein... wie unterbind ich die Rücksetzung effektiv?

Message-Box-Unlock
Das hier baut auf dem ersten auf. Die Frage ist, ob man die Messagefunktion so umändern kann, dass gewisse Befehle eines anderen Events (außerhalb der Picture-Befehle, die gehen ja) quasi
"dazwischen funken". Sprich: Ich lese gerade eine Szene und die Messagebox steht auf dem Screen, wie halt immer in einem Visual Novel. Per Common-Event habe ich nun eine Abfrage eingebaut, ob
man die Save-Game-Taste drückt. Im Ja-Fall müsste dann der Savebildschirm aufgerufen werden, so wie es Call Save Menü halt tut. Das Problem ist aber eben, dass während der Message-Anzeige
solche Dinge nicht geschehen. Sie werden erst ausgelöst, wenn z.B. die Messagebox zu geht, weil sich ein Bild bewegt.

Ich erkläre das am besten an Hand des Codes meines Text-Novelprojekts:
Ich habe alle Events auf paralell laufen, um eventuelle Fehler durch AutoStart zu vermeiden (da hatte ich am VX schon sehr, sehr viel >_<). Im Prinzip läuft das Storyevent ganz normal, mit Bildbewegungen
und Text, wie es bei einem VN halt üblich ist. Am Anfang aktiviert sich der Switch [001]: Saveabfrage, welcher das Common Event [001] auslöst. Dieses läuft paralell mit, wartet immer 1 Frame und fragt
dann die Taste Q ab. Im Ja-Fall wird ein Test-Ton abgespielt und das Savemenü aufgerufen.
Das sollte passieren:
Der Druck auf Q sollte möglichst ohne Verzögerung den Speicherscreen aufrufen.
Das PASSIERT:
Der Druck auf Q lässt den Ton erklingen, doch das Savemenü erscheint erst mit dem Schließen der Textbox (aka: man muss noch einmal Enter drücken :().


Ich fasse kurz zusammen...
Kann ich die Message-Funktion so ändern, dass das Savemenü auch während der Message aufgeht?


Ich verwende normalerweise so gut wie keine Scripte, aber ich denke nicht, dass ich das irgendwie anders mit Events lösen kann.
Ich erwarte natürlich hier kein "Copy-Paste und fertig"-Script. Sagt mir "einfach" (wenn es überhaupt machbar ist), was ich wo wie verändern muss. Ein klein wenig lesen kann ich RGSS ja auch ^^°
Ein dickes, fettes Danke und ein Credits-Eintrag in allen Visual Noveln, die das verwenden werden, ist natürlich dabei drin (vorerst also vor allem Senken-Sha Mikoto Second Folder). ^^

Cornix
02.05.2012, 06:29
Das ist alles machbar.
Allerdings bezweifle ich, dass du das einfach so machen kannst falls du dich nicht etwas mehr als nur "etwas" mit der Programmierung von Ruby auskennst.
Du wirst die Klassen schon ein wenig dafür verändern müssen nehme ich an. Also wahrscheinlich keine trivialen Zeilenänderungen.

Falls du es allerdings wirklich lernen willst es selbst zu lösen dann wünsche ich dir viel Erfolg.

Rosa Canina
02.05.2012, 18:20
Naja, ich wollte deswegen jetzt nicht extra Ruby lernen, da ich den Aufwand auch in Renpy oder gleich nscripter stecken könnte.
Wenn mir jemand erklären könnte, wie es geht, wäre das tollig.

Alternativ könnte man es eventuell auch anders lösen... grad die Idee gehabt:
Statt die Standardmessage zu verwenden, zeigt man den Text per Script an. Ich weiß, dass man Text auf dem Screen abbilden kann.
Wenn man dies nun an die Textboxstelle setzt, Zeichen-für-Zeichen einbauen kann und sogar noch Farbe für Markierungen von Namen
einbauen könnte, dann würde man das Problem ja umgehen können.

Die Frage ist nur, was ist am Ende aufwendiger... Wäre echt erfreut, wenn mir bei der Sache jemand helfen könnte. Ich hab da gestern
noch herumgebaut und nun ein echt tolles Ergebnis so weit erzielt, mir fehlt halt nur die Sache mit dem Speichermenü während der
Messagebox :/

Yukari
02.05.2012, 21:15
Für den VXA gibt es ein komplettes Visual Novel System mit Skippen, Texthistorie anzeigen, Speichern während die Textbox eingeblendet ist, verstecken der Textbox usw
Vielleicht hilfts ja
http://forums.rpgmakerweb.com/index.php?/topic/1022-saba-kans-galge-conversation-system-07/

Cornix
02.05.2012, 21:20
Was für Funktionen genau brauchst du eigentlich für deine Visual-Novels, das klingt alles ziemlich einfach. Ich denke wenn man sich einmal daran setzt hat man die gesamte Engine innerhalb von ein paar Stunden geschrieben. Das wird wohl größtenteils Copy-and-Paste.

Rosa Canina
02.05.2012, 22:35
@Yukari:
Das schau ich mir mal an.
Hmm... RTP Ace mal installieren. Ich frag mich, ob ich da auch meinen Screen resizen kann und so... hmmm.

Edit:
Angeschaut, aber nur das Testprojekt davon. Sieht schon ganz... gut aus. Ist scheinbar alles drin, was so ein Novel braucht. Ich muss wohl den Ace
mal... kaufen, damit ich mir das genauer anschauen kann, wie es funktioniert und so.

@Cornix:
Eigentlich hatte ich gar nicht so viel vor. Das Textlog hatte ich bereits abgeschrieben, weil es eine der Novelfunktionen ist, die ich... naja... für sinnlos hielt. Ein Visual Novel besteht eigentlich nur aus Bildbefehlen,
hat neben den typischen Textfunktionen noch eine Skip-Text, wobei er beim Tastendruck schnell durchscrollt (das habe ich bislang nicht), die Log-Funktion und eben "Speichern überall und immerzu".
Mal kurz überlegen... globale Variablen habe ich bereits. Neben der Save-Funktion und dem eventuellem Textlog wären eigentlich nur einige grafische Dinge bislang in meinen Noveln nicht drin - vornehmlich
das Überblenden von Screens mit Hilfe von diesen Fade-Effekten, wie sie in anderen Makern funktionieren (auf Basis eines S/W-Verlaufsbildes, wie beim XP). Das hat mal jemand für mich versucht und nicht hinbekommen.
Im Endeffekt habe ich es eigentlich nur bei Schlaganimationen wirklich vermisst.
Hmm... Maussteuerung habe ich mal eingebaut und bemerkt, dass es zwar typisch für PC-Novel ist... es aber keinen Unterschied zur Tastatur macht. Das kann man also ruhig ignorieren. Und sonst... ja, das ist
eigentlich alles, was einen VN optisch/technisch ausmacht. Habe ja bereits einiges inzwischen zustande bekommen ^^

Wenn ich alles so zusammenfasse, was dem VX für eine perfekte Novelengine fehlt, würde das so hier aussehen:
- Jederzeit speicherbar
- Möglichkeit von Überblenden von Bildern, wie bei einem Teleport-Effekt im XP (wäre cool, aber geht auch ohne)
- Textlog, welches die letzten Textsequenzen zum Nachlesen anzeigt (brauch ich eigentlich nicht, aber scheint zu gehen)
- Text-Skip, welcher Text und Animationen verschnellert durchspielt, ohne dass ein schnellen Rumge-Enterhämmer notwendig ist (DAS brauch ich definitiv nicht wirklich... die Leute sollen es lesen, nicht durchhauen... ._.)
- Tastendruck blendet Textbox aus, für freien Blick auf CGs (hab ich)
- Maussteuerung (hab ich testweise in Traumtänzer und Contestnoveln benutzt... ist eigentlich nicht notwendig)
- Globale, speicherübergreifene Switches (hab ich ^^)
- Ein gescheites Textsystem (das Standard reicht hier vollkommen aus, ich hab in all der Zeit maximal 1x eine Funktion kurzzeitig vermisst... in ganzen drei Visual Noveln!)

Der Rest sind maximal Vereinfachungen, die ich aber mit Events auch bauen kann und daher vollkommen egal.

Rot sind eigentlich die Dinge, die mich stören, dass ich sie nicht habe. Orange sind Dinge, die schon cool wären, aber nicht zwingend nötig wären.
Grün sind Sachen, die ich bereits habe. Zu guter Letzt:Lachsrosa sind Dinge, die zwar einen Novel ausmachen... ich aber definitiv NICHT brauche,
weil ich sie für absolut blöd empfinde... xD

Cornix
03.05.2012, 10:56
Ich würde dir raten RGSS zu lernen.
Es ist nicht sonderlich schwer, tatsächlich könnte man dir ganz einfach alle Grundlagen einmal zeigen und du wärst in der Lage dir den Rest selbst zu erstellen.

Was mein Vorschlag wäre. Lösche alle Scripte des Makers welche zur Standardausstattung gehören und setze die Engine selbst auf.
Das klingt zwar nach einer Menge Arbeit, allerdings sage ich dir, das ist im Grunde nicht sehr viel bei den geringen Anforderungen.

Wenn ich so betrachte was du brauchst sollte das wirklich ein Kinderspiel sein falls du vorhast es nur für dich zu verwenden und nicht so viel Wert darauf legst nach Außen hin hübsche und übersichtliche Schnittstellen für andere Entwickler bereit zu stellen.

Falls du Interesse hast kann ich dir zu jedem von dir genannten Punkten liebend gerne Beispiel Scripte schicken und versuchen sie zu erklären. Und sobald du dich erst einmal nichtmehr mit Events quälen musst wirst du merken wie unglaublich einfach das alles sein kann.

-KD-
03.05.2012, 15:47
Hmm... RTP Ace mal installieren. Ich frag mich, ob ich da auch meinen Screen resizen kann und so... hmmm.Der RPGMaker VX Ace hat sogar eine Funktion dafür, kommt also ohne irgendwelchen DLL-Schnickschnack aus. Einfach

Graphics.resize_screen width, height

Ich hab den VX Ace mal kurz angetestet und muss sagen, dass ich ziemlich begeistert bin. Insbesondere vom Aufbau der Standardscripte und überhaupt den neuen Scriptmöglichkeiten (und Ruby 1.93!!!). Nur das Mappingsystem ist noch so bescheuert wie beim VX.

Ob es sich lohnt für eine Novel RGSS zu lernen... Die meisten Sachen kann man auch problemlos mit Event-Code umsetzen. Es sollte daher von deiner Seite schon ein gewisses Interesse an Ruby vorhanden sein. Auf jeden Fall wäre eine Novel aber ein schönes Projekt um Ruby zu lernen, da die Dinge alle relativ leicht umzusetzen sind und man mit wenig Ballast anfangen kann.

Rosa Canina
03.05.2012, 19:26
Ich hab mir das heute den ganzen Tag durch den Kopf gehen lassen und sehe es inzwischen auch so, wie -KD-...

Ich mach ne Menge für meine Novel, male inzwischen sowohl Charaktere, als auch CGs selber und habe einen Musiker für den OST am Start. Wenn ich jetzt anfange RGSS zu lernen, könnte ich auch Renpy lernen.
Und das Ergebnis wäre es zwar durchaus noch wert, aber sind die Funktionen nun nicht so mega drastisch. In der Liste oben sieht man ja, dass mich eigentlich nur die Speichersache stört - wobei ich da eventuell
am Wochenende mal eine Idee austesten muss, über die ich eventuell den Maker austricksen kann ^^
Mal schauen...

Jedenfalls... den ACE werde ich mir am Wochenende noch einmal zu Gemüte führen (Sonntag, da ich Samstag fast komplett durch arbeite ._.) - Ebenso wie Yukaris Script.


Warum ich zögere RGSS zu lernen ist eigentlich recht simpel. Abgesehen von den Visual Novels makere ich mit den neueren Makern nicht und habe es eigentlich auch nicht
vor. AVoR wird ein 2k3-Projekt bleiben (alles andere wäre JETZT Wahnsinn XD) und ob ich danach noch ein RPG mache, schau ich dann und WENN, dann wohl mit Hilfe des
Rm2k3 und Rm2k9. Für Visual Novel dagegen kann ich einen neueren Maker nutzen und da ist wirklich die Frage, ob es sich lohnt RGSS zu lernen, damit man ein paar
Funktionen bauen kann. Ich bin grad in einer neuen Ausbildung und habe in nicht allzu langer Zeit Zwischenprüfung - in einem Beruf, in dem sogar ich lernen muss (ich behalt und
kapier Dinge recht schnell in der Schule).
Lerntechnisch liegen die Prioritäten also eigentlich anders... hmmm. :/



Edit:
HA!
Ruby my ass, wie ein Ami jetzt so schön sagen würde. Ich habe es hinbekommen das Speichermenü während des Textes aufzurufen, OHNE dass ich dafür auch nur eine Zeile RGSS schreiben musste.
Im Gegenteil - es war sogar eine simple Eventsache, die eine kleine Tatsache des Makers geschickt ausnützt, um das zu erreichen, was ich erreichen wollte :O
Ich verrat meine Technik jetzt hier aber nicht, da ich es noch für meine Novel verwenden will und es einen kleinen Wow-Effekt auslösen soll XD

Todu
10.05.2012, 15:09
Hm, gut dass das gelöst ist, aber wenn ich das richtig sehe muss man da eigentlich nur an der Textbox und dem Interpreter ein wenig rumspielen (und vermutlich auch den Savefiles), aber ich kann mich täuschen (wie ich es so häufig tue). Egal, erledigt anyways^^.