Ich habe ein Problem mit meinem Zelda-Spiel auf dem rmxp: Ich will die Font wechseln.
Ein Script dafür habe ich auch bereits gefunden aber das funktioniert irgendwie nicht (die schrift ist einfach weg wenn ich es einsetze).
Auch bekomme ich eine Fehlermeldung ("undefined method main for scene_title") wenn ich das Script vor scene_title stelle weswegen ich es momentan direkt darunter in einem neuen script eingefügt habe.
Nun meine Fragen:
-Könnte es sein dass das daran liegt dass ich Windows98 nutze?
-Findet ihr einen Fehler im Script?
-Könnte es daran liegen dass das Script mit anderen Scripts von mir (z.B: dubealex´AMS) interferriert?
Und ganz wichtig:
-Kennt ihr ein anderes Script zum Wechseln der Font?
Was genau willst du machen, während dem Spiel die Schriftart ändern, oder eine mitgelieferte Font-Datei benutzen?
Das Skript macht weiter nichts als eine Font-Datei zu installieren, damit der Benutzer das nicht machen muss, wenn du diese Schriftart benutzen willst.
Nur musst du natürlich dem Spiel auch sagen, daß es die Schriftart benutzen soll.
Damit änderst du die Standardschriftart, die alle Fenster benutzen sobald sie erstellt werden. Du kannst jede Schriftart benutzen, die auf dem System installiert ist. In Verbindung mit obigen Script kannst du dann auch eine eigene Schriftart mitliefern, das obige Skript installiert diese dann und du kannst sie verwenden.
Solange du aber den default_name nicht änderst, ändert sich auch keine Schriftart.
bloedsinn??
Wieso einfach, wenns auch kompilzert geht.
die schriftdatei die das spiel benutz bei veröffendlichung dem spiel beipacken, in die readme schreiben, das die installiert werden soll.
damit im spiel anders ist, siehe magor.
wofür son script schreiben, wenn man das probkemlos auch selbst installieren kann? o.O
--
cats are not characteristically disposed toward voluntary aerobic exercise
Jep, ich will lediglich dass die Schriftart von Anfang an die Zelda-Schriftart ist.
Zitat
wofür son script schreiben, wenn man das probkemlos auch selbst installieren kann? o.O
...
Weil Selbstinstallieren wahnsinnig unkomfortabel für den Spieler ist:
Wenn es mit dem xp besser geht würd ich gerne eine sauberere Lösung anbieten als die Font zusätzlich zu installieren...
Und was Magors Vorschlag angeht:
Im main-script habe ich folgende Zeilen stehen
(aber trotzdem wird keine schrift angezeigt!):
Nur drei Sachen:
Erstens, Ruby unterscheidet Groß- und Kleinschreibung "Font.default_name" ist etwas anderes als "font.default_name"
Zweitens ist "font.default_name" mit Sicherheit keine Schriftart.
Drittens, das wichtigste, du benutzt sehr wahrscheinlich eine illegale XP-Version, bzw viele deiner Scripte entstammen aus diesen.
Also entweder besorgst du dir, falls du sie noch nicht hast, die legale Version (www.rpg-makerxp.com), oder falls du sie bereits hast, repariere alle Window-Skripte, indem du sie mit dem Code aus einem frischen Projekt überschreibst. Die neuste Version des AMS sollte für die legale Version gemacht sein.
edit: sorry, hab magors letzten Post übersehen: Ja ich habe das Spiel auf einer illegalen Version des Makers angefangen aber die Scripte nun einfach so zu überschreiben ist leichter gesagt als getan weil ich ziemlich viel in den Scripts rumgeschrieben habe...
deinen zweiten Tipp verstehe ich nicht: wieso ist Font.default name keine Schriftart? bzw was sollte ich anders schreiben damit es Sinn gibt?
Hab gerade nochmal nachgeschaut um definitiv sagen zu können:
Im "Windowskins"-Ordner befindet sich die Schriftart namens "ReturnofGanon.ttf"
Fällt euch noch etwas ein an dem es liegen könnte dass ich trotzdem keine Schrift sehe? (Ich könnte euch auch meine Scripts.rxdata schicken denn ich bin was Scripten angeht wirklich alles andere als ein Fortgeschrittener und schließe dumme Anfängerfehler nicht aus )
Eine Lösung in dieser Sache wäre mir wirklich sehr wichtig weil ohne Zelda-Font ist es kein Zelda-Spiel
Im Grunde reicht das was MagicMagor in seinem ersten Posting geschrieben hat schon aus:
Ich hab's testweise direkt nach Main ins Script eingefügt und es hat ohne Probleme funktioniert. Font.default_name ist eine Klasseneigenschaft von Font, der man wie oben im Code gezeigt wird den Namen einer Schriftart zuweisen kann. Du müßtest also wenn dann bei fontface den Namen der Schriftart hinschreiben.
Generell würde ich (das ist aber nur meine Meinung) so ein Autoinstallationsscript nicht benutzen. Ich als Spieler würde es nicht toll finden wenn etwas ohne mein Wissen auf dem Rechner installiert wird und sei es nur eine Schriftart. Man kann den Spieler auch per Nachricht im Spiel sagen, dass eine spezielle Schriftart nötig ist (und evtl. Systemschriftarten als Alternative einbauen).
Okay, das mit dem Font.default_name hab ich mittlerweile glaube ich verstanden (Danke erstmal hierfür ^^).
Und Arial funktioniert damit auch wunderbar.
Aber wenn ich "Return of Ganon" statt "Arial" nehme, sehe ich keine Schrift mehr.
BEIDE Schriftarten sind aber in meinem Font-Ordner installiert:
Zitat
Cwindows\fonts
...
Und jetzt kommt -wie ich soeben rausgefunden und ausgiebig herumprobiert habe- der Hammer:
Wenn ich die Schriftart im Hintergrund geöffnet habe bevor ich das testgame starte funktioniert es!!!
(Wenn ich die schriftart öffne nachdem ich das Spiel gestartet habe und dann via f12 neustarte bleibt die schrift übrigens weg, genau wie wenn ich das spiel starte und die schriftart nicht geöffnet habe)
Kann sich das jemand erklären?
P.S. Ich sehe übigens ein -auch hier Danke für den Einwand- dass man nicht so einfach in der registry von unwissenden Spielern rumpfuschen sollte weswegen ich auch -sofern das Script mal so klappt wie ich das will- dem Spieler bei Spielbeginn (sofern die Font noch nicht vorhanden ist) die Wahl geben will, ob er die Schriftart automatische installieren oder lieber in Arial spielen will...
Ok, kurz noch zur Ergänzung:
Wegen der "Reperatur" der Windows-Skripte:
In deiner illegalen Version werden Schriftart und Schriftgröße aus zwei globalen Variablen gelesen ($fontface und $fontsize), in der legalen Version werden diese Variablen nicht gefüllt und die Daten werden aus den Klassenvariablen "Font.default_name" und "Font.default_size" gelesen.
Zum Reparieren durchsuchst du alle Window-Skripte nach folgenden Zeilen
Wenn du diese Zeilen findest, lösche sie.
Was dein Problem mit der neu installierten Schriftart angeht kann ich dir leider auch nicht helfen. Hast du mal versucht nach dem Installieren des Fonts den Rechner neu zu starten? Eventuell liegt es daran, daß du Win98 hast, aber genau kann ich dir da leider auch nichts sagen.
Was du machen kannst ist die Schriftart folgendermaßen festzulegen:
Das Spiel wird versuchen die erste Schriftart im Array zu laden, sollte sie diese nicht vorfinden, wird sie die nächste versuchen zu laden. So kannst du sicherstellen, daß die Leute die "Return of Ganon" installiert haben, diese Schriftart auch zu sehen bekommen, die Leute ohne diese Schriftart aber dennoch Text zu sehen bekommen.
Danke. Ich hatte die Zeilen zwar schon gelöscht aber den Befehl in main stehen lassen
Zitat
Font.default_name = ["Return of Ganon", "Arial"]
...
Super Sache, vielen Dank.
Der Befehl ist klasse weil ich endlich beruhigt weiterarbeiten kann da auf jeden Fall jeder Spieler Text sieht und ich nicht auf die Font verzichten muss...
Warum die Schrift nicht angezeigt wird ist zwar immer noch ein Rätsel -instaliert ist sie ja... (auch Neustarten hilft leider nicht) aber wenn das nur bei Windows98 passiert ist diese Lösung eigentlich nahezu optimal.