Autor Thema: Titelschriftzug (Objekt) in englischer Version austauschen  (Gelesen 1810 mal)

fireorange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3985
  • Geschlecht: Weiblich
    • Profil anzeigen
Ich hätte da mal eine Frage: Den folgenden Code hatte ich noch gespeichert... er ermöglichte es in einer früheren AGS-Version (könnte noch 2.7x gewesen sein?), ein Objekt per Skript durch ein anderes auszutauschen, wenn eine übersetzte Version vorliegt. Kurz und gut: Ich möchte den Titelschriftzug in der englischen Version austauschen.

  if (IsTranslationAvailable()) {
    string buffer;
    GetTranslationName(buffer);
    if (StrCaseComp(buffer, "English") == 0) {
      SetObjectGraphic(0, 482);
    }     
  }

Natürlich lehnt die von mir genutzte AGS-Version diesen Code ab. Meines Wissens nutze ich 3.5.0, wenn ich aus dem Kopf heraus jetzt nicht allzu falsch liege. Wie müsste dieser Code also in abgeänderter Form lauten? Eine Suche innerhalb der AGS-Hilfedatei hat mich leider bloß verwirrt, daraus konnte ich mir keine passende Lösung erschließen. Ich wäre euch also sehr dankbar, wenn ihr mir damit weiterhelfen könntet! :)
« Letzte Änderung: 30. Mai 2023, 11:05:08 von fireorange »

Cmdr

  • volljähriger Tentakel
  • *****
  • Beiträge: 726
    • Profil anzeigen
Re: Titelschriftzug (Objekt) in englischer Version austauschen
« Antwort #1 am: 30. Mai 2023, 19:58:09 »
Probier mal folgendes:

if(IsTranslationAvailable() && Game.TranslationFilename=="English")
  {
    //TUE DINGE
  }
« Letzte Änderung: 30. Mai 2023, 19:58:51 von Cmdr »

fireorange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3985
  • Geschlecht: Weiblich
    • Profil anzeigen
Re: Titelschriftzug (Objekt) in englischer Version austauschen
« Antwort #2 am: 05. Juni 2023, 13:14:13 »
Ich habe das mal ausprobiert und es hat tatsächlich funktioniert... jedenfalls nachdem ich herausgefunden hatte, dass ich diese Aktion nicht ins Before-Fadein-Skript schreiben sollte. ;D Vielen lieben Dank! :)

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 989
    • Profil anzeigen
Re: Titelschriftzug (Objekt) in englischer Version austauschen
« Antwort #3 am: 05. Juni 2023, 16:27:20 »
jedenfalls nachdem ich herausgefunden hatte, dass ich diese Aktion nicht ins Before-Fadein-Skript schreiben sollte.

Kannst Du das näher ausführen? Warum sollte das ein Problem sein, wenn man nur ein Objekt-Sprite ändert?

fireorange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3985
  • Geschlecht: Weiblich
    • Profil anzeigen
Re: Titelschriftzug (Objekt) in englischer Version austauschen
« Antwort #4 am: 06. Juni 2023, 20:37:55 »
Hm... es dürfte wahrscheinlich daran gelegen haben, dass ich im "after-Fadein" noch ein Skript stehen hatte, durch das der Titel erst nach einer kurzen dramatischen Wartezeit sichtbar wird. Es war also doch etwas mehr Chaos vorhanden, das bedacht werden musste. ;)

KhrisMUC

  • Moderator
  • volljähriger Tentakel
  • *****
  • Beiträge: 989
    • Profil anzeigen
Re: Titelschriftzug (Objekt) in englischer Version austauschen
« Antwort #5 am: 06. Juni 2023, 22:11:29 »
Sollte trotzdem keinen Unterschied machen :cl

Hier ist jedenfalls noch die andere Methode, der Vollständigkeit halber:

Code: (c) [Auswählen]
  String titleSprite = GetTranslation("60 (game title sprite slot)");
  oTitle.Graphic = titleSprite.AsInt;

So kann man die Grafik einfach per Übersetzungsdatei austauschen und muss nicht Code für jede Sprache schreiben.

fireorange

  • Ehrwürdiger Tentakel
  • ********
  • Beiträge: 3985
  • Geschlecht: Weiblich
    • Profil anzeigen
Re: Titelschriftzug (Objekt) in englischer Version austauschen
« Antwort #6 am: 09. Juni 2023, 13:41:56 »
Vielen lieben Dank! Wird evtl. nochmal zur Anwendung kommen.  :)