Hallo,
ich arbeite derzeit an einem Projekt. Ich will das man beim Start des Spieles die Sprache wählen kann. Also Englisch oder Deutsch.
Weiß vieleicht einer ob das geht und wenn ja, wie ?
Dabke schonmal im vorraus.![]()
Hallo,
ich arbeite derzeit an einem Projekt. Ich will das man beim Start des Spieles die Sprache wählen kann. Also Englisch oder Deutsch.
Weiß vieleicht einer ob das geht und wenn ja, wie ?
Dabke schonmal im vorraus.![]()
Ja es geht.
Das jetzt zu erklären ist ein bissle zu kompliziert.
Ich werde dir so etwas als Skript basteln.
Kann es aber erst in den nächsten vier tagen hochladen da ich dann vieleicht erst wieder am 8 Januar online kommen kann.
Oh, das wäre super. Danke.
Bekommst dann natürlich ein gescheiden credits eintrag.![]()
--Aktuelles Projekt
"Uns're Ordnung ist das Chaos!
Verändern heißt zerstör'n!
Super, danke leute. Das wird mir mit sicherheit weiterhelfen.![]()
Ich hatte es glaube ich so gemacht:
Variable mit der Text ID zB. auf 5.
Dann Call Event (Common Event Texte).
Das Common Event sah dann so aus:
If Sprache = Deutsch
if Variable Text ID = 5
Show Text "Hallo Welt"
end
end
If Sprache = Englisch
if Variable Text ID = 5
Show Text "Hello World"
end
end
War meiner Meinung nach am bequemsten für die 2k/3. Fürn XP wäre Ruby sicher die bessere Lösung.
Ich würde ein fieses Riesenarray anlegen das alle Texte beinhaltet. Einziger Haken wäre das jeder Text dann nur dynamisch über Skripte erhalten werden kann.
Ich meine also eine globale $lang-Variable die dann zentral mit Werten gefüllt wird bei der Sprachwahl, zb so:
if Sprache = Deutsch
$lang["Hallo ich bin Hugo."] = "Hallo ich bin Hugo."
$lang[..] = ".."
# ... und alle anderen Texte entsprechend
elsif Sprache = Englisch
$lang["Hallo ich bin Hugo."] = "Hi my name is Hugo."
$lang[..] = ".."
# ... und alle anderen Texte entsprechend
end
Jeder Text wird dann aus $lang["Text"] ausgelesen und man muss nur einmal (bei Sprachauswahl) unterscheiden welche Sprache der Spieler ausgewählt hat. Danach kann man sicher sein das $lang["Text"] den Text in der Sprache enthält die der Spieler gewählt hatte.
Der Nachteil an der Lösung ist das du vermutlich nicht immer im Kopf hast welche ID zu welchem Text gehört. Bei $lang["Hallo ich bin Hugo"] weiß man immer worum es im enthaltenen Text geht und nicht groß rätseln muss, obwohl der Text nicht direkt einzusehen ist.Zitat
Ich habe bereits schon erwähnt das meine Lösung für 2k/3 ist und das für den XP Ruby die bessere Lösung wäre. Und nee, man muss nicht rätseln, man muss nur gucken bei welcher ID man stehen geblieben ist und dann einfach bei jedem Show Text ein Variable + 1, das reicht schon.
Auf den ersten Blick vielleicht, aber bei meiner Lösung gibt es den Vorteil das man a) mehr als 2 Sprachen benutzen kann, b) nicht sofort die englische Variante hinschreiben muss, sondern sie auch später einbauen kann c) zwecks Übersicht alle Dialoge in einem Event hat (man kann bei vielen Dialogen mehrere CEs anlegen, z.B. Texte Intro, Texte Kapitel 1, Texte Kapitel 2 usw.)
d) nicht bei jeder Show Message immer wieder ein Fork Language setzen muss. Ich spreche aus Erfahrung da ich eine zweisprachige Demo rausgebracht habe und genau mein System benutzt habe und das auch jedem weiterempfehlen würde.
Ist recht einfach:
- Am Anfang deines Spiels musst du eine Auswahl erstellen welche Sprache man haben will. Das kannst du über Events, Pictures, oder per "Show Choice" abfrage machen (da du ein Anfänger zu sein scheinst nimmst du erst einmal "Show Choice").
- Bei der Auswahl benötigt du einen Switch (Schalter) den du je nachdem was ausgewählt wurde auf ON oder OFF stellst. Das ganze sähe dann so aus:
Nun musst du überall wo es Text in deinem Spiel gibt eine Fork Condition einbauen um abzufragen welche Sprache ausgewählt wurde. Z.B.
Bei einem größerem Projekt ist das allerdings ein Haufen arbeit jedem Dialog doppelt zu schreiben![]()
--Aktuelles Projekt
"Uns're Ordnung ist das Chaos!
Verändern heißt zerstör'n!