Hallo Makergemeinde. Gibt es vielleicht ein Skript, mit dem man einstellen kann, auf welcher Sprache das Kampfsystem im Rpg Maker Vx Ace ist? Ich hab einen Switch, der die Sprache regelt und hätte das auch gerne so für das Standard Kampfsystem, aber das kann man ja glaub nur bei Vocab (?) einstellen, was da steht (Kampf, Flucht, etc.) und das nur für eine Sprache?
Vorab: Sowas wie "Kampf/Fight" oder "Flucht/Flee" kommt für mich nicht in Frage. Ich will schon, daß das KS komplett die Sprache hat, für die sich der Spieler entschieden hat. Und nicht im Ks plötzlich Englisch obwohl er zb Deutsch gewählt hat.
Ist das irgendwie machbar, mit oder ohne Skript?
Danke für eure Hilfe.
Ken der multilinguale Kot
--
Ein sehr symphatischer und überaus aktiver RPG Maker Benutzer
Habe mal schnell das "Vocab" Module genommen und dementsprechend angepasst. Folgendes Script einfach über Main einfügen:
Bei LDT_SWITCH trägst du die Nummer deines Sprachen-Switchs ein. Wenn der Switch aktiv ist, übernimmt er die Übersetzung, die du in LDT_COMMAND und LDT_BASIC eingetragen hast.
Ist der Switch aus, übernimmt er die Texte, die in der Datenbank eingetragen sind.
Willst du beides lieber hier im Script einstellen oder gar noch mehr sprachen verwenden, kann ich das Script auch dementsprechend anpassen.
Danke, daß du dich dessen angenommen hast. Cool von dir. Beide Sprachen im Skript einstellbar wäre schon besser (allgemein, weil man dann nicht mehr in der Datenbank rumfuhrwerken muss). Wenn du es willst, kannst du die Einstellung für die andere Sprache gern auch noch mit reinnehmen. (hab nur zwei Sprachen)
Geht selbiges auch mit den Skills? Also daß ich Name und Beschreibung der Skills quasi zweisprachig haben kann? Weil das wärs ja glaub ich. Vocab und Skills. Mehr braucht man für ein KS ja glaub nicht.
Ken der erfreute Makerkot
--
Ein sehr symphatischer und überaus aktiver RPG Maker Benutzer
hier schon einmal das Script, dass du die Commands und Basics im Script übersetzten kannst [Sprache Switch aus, Sprache switch an]:
Bezüglich Skills usw. editiere ich gleich nach.
Ok, das ist natürlich blöd. Ich sehe gerade, dass das Vocab Module auch einige Konstanten verwendet. Die kann man natürlich nicht dynamisch stellen.
Was genau meinst du denn mit Konstanten? Edit: Damit meine ich: Was genau lässt sich nicht verändern?
Mal abgesehen von den Skills, bräuchte ich halt noch die Möglichkeit, die Gegner sprachlich einzustellen und dieses "Spieler benutzt Feuerball" bzw. "Player uses Fireball", was bei Angriffen immer angezeigt wird. Ich benötige also nicht das ganze Vocab, falls es irgendwo noch ein Problem wegen einer nicht änderbaren Konstante oder so gibt.
Grüßlies
Ken der Kot
--
Ein sehr symphatischer und überaus aktiver RPG Maker Benutzer
Geändert von Ken der Kot (28.07.2018 um 19:49 Uhr)
Konstanten sind konstant . D.h. der Wert wird einmal gesetzt und kann danach nicht mehr geändert werden. Ergo sind die nicht besonders hilfreich, wenn du willst, dass man die Sprache im Spiel ändern kann.
Habe gerade keinen neuen Maker parat, sonst würde ich auch mal nachschauen.
im Vocab Script sind die ersten ~30 Texte alle als Konstante hinterlegt. Um das jetzt zu umgehen, habe ich eine Methode in Vocab eingefügt, die die Konstanten ersetzt. Damit kannst du nun auch diese Texte übersetzen (das sind Texte, die in anderen Windows/Scenes verwendet werden. Z.b. das "Welchen Spielstand willst du laden" usw.).:
Edit: @Caledoriv: "Lustigerweise" kann man Constante ändern, wenn man diese mit der Replace-Methode ersetzt.
War jetzt einfacher, wenn auch nicht ganz so sauber, als alle Zielklassen zu nehmen, dort die Aufrufe so zu verändern, dass generell alles über Methoden statt Konstanten läuft. Wobei das generell schöner wäre, als dieser "dreckige" Mix, der im Ace drin ist.
@Ken:
Was beim Skill willst du denn genau übersetzen? Den Skillnamen? Oder sonst noch was?
@Ken:
Was beim Skill willst du denn genau übersetzen? Den Skillnamen? Oder sonst noch was?
...
Name des Skills und seine Beschreibung. Bei Items ebenfalls.
Edit: Jetzt brauch ich halt nur noch eine Möglichkeit, vor dem Titelscreen den Switch festzulegen. Eine Sprachabfrage á la "Welche Sprache darfs denn sein?"
Denn so habe ich nun ja gar keine Titeloptionen, weil ich vor Game Start ja noch keine Switches festlegen kann. ^^
--
Ein sehr symphatischer und überaus aktiver RPG Maker Benutzer
Geändert von Ken der Kot (28.07.2018 um 20:38 Uhr)
das sollte trotzdem funktionieren. Wenn du immer beide Sprachen gepflegt hast, sollte er die Sprache anzeigen, die für "Switch = aus" verwendet wird.
Hier das Script erweitert um Skill- und Item-Namen. Ich habe jetzt nicht die Zeit alle Windows durchzuschauen, wo es noch verwendet wird. Falls dir irgendwo mal eine falsche Ausgabe begegnet, sag bescheid, dann erweitere ich das Script einfach.
Stimmt, du hast recht Danke dir, ich werd mal damit arbeiten und meld mich, falls noch was sein sollte ^^
Edit: Hmm, aber ohne Vorab-Abfrage hab ich ja nicht die Option Start, Laden, Beenden sowohl entweder auf Deutsch oder auf Englisch anzuzeigen... das wäre schon ganz cool, wenn es eine Option gäbe, mit der ich vor dem Spiel schon einen Bildschirm aufrufen kann, der die Sprache abfragt.
Ken der Kot
--
Ein sehr symphatischer und überaus aktiver RPG Maker Benutzer
Geändert von Ken der Kot (28.07.2018 um 21:25 Uhr)
In dem Script, was ich dir gegeben habe, ersetze die class Scene_Title durch folgende (sollte so bei ca. zeile ~230+ liegen):
Edit: In rot noch einmal ein Fix des Fixs....
So, jetzt noch erweitert, dass man vom Titelmenü zurück zur Sprachauswahl kommt und vom Ladebildschirm zurück zum Titelmenü (wieder ab ca. ~230 Scene_Title alles komplett ersetzen):
Hi Linkey, habe noch ein Problem mit dem Skript gefunden. Also wenn die Gegner (oder ich) angreifen, dann steht oben immer noch "Actor uses..." bzw "Actor released..." etc. Also im Prinzip das, was in der Database bei Action Message steht. Einfach leer lassen geht auch nicht, dann wird im Kampf nichts angezeigt. Kann man das noch übersetzbar machen + eben auch die Gegnernamen?
Ken der Sprachkot
--
Ein sehr symphatischer und überaus aktiver RPG Maker Benutzer
Geändert von Ken der Kot (01.08.2018 um 16:46 Uhr)
Als erstes fügst du folgenden Code unter LDT_SKILL ein:
Hier kannst du die Angriffstexte, equivlanet zur Database, pflegen. Ist vom Aufbau her genauso wie LDT_SKILL.
LDT_SKILL_MES1 ist der Text, der hinter dem ausführenden Charakter steht.
LDT_SKILL_MES2 ist der zweite Text, der komplett angezeigt wird (ohne Anwender).
In dem Beispiel, was ich dort eingetragen habe, erscheint folgender Text, wenn der "Peter" den Skill 4 benutzt: Peter benutzt Doppelter Hieb!
Irgendein Text der als Info drunter erscheint.
In LDT_ENEMY kannst du die Gegnernamen pflegen.
Ab der Zeile "def self.basic(basic_id)" das komplette Coding durch folgendes ersetzen:
Da wird sicherlich noch einiges in Zukunft kommen. Hab wie gesagt keine Zeit das alles zu ermitteln, aber so Dinge wie Gegner hatte ich schon auf dem Schirm. Auch Status ("Wurde vergiftet") usw. wird sicherlich noch ein Thema werden