Code:
/* check for a ready SoD - doesn't work for Windows */
ACTION_IF ((FILE_EXISTS ~dlc/sod-dlc.zip~) OR (FILE_EXISTS ~sod-dlc.zip~)) THEN BEGIN
FAIL @5003 /* ~Modmerge is required before mods can be installed on this game. Check the readme for more information and a link to download Modmerge.~ */
END
Korrekt, dass das nicht für Windows funktioniert? Müsste es doch eigentlich, oder?
Die installierte Version abfragen würde dann so gehen:
ACTION_IF GAME_IS ~bgee eet~ THEN BEGIN
...
END
die anderen Kürzel wären dann noch: ~bg1 totsc tutu tutu_totsc bgt~ (wobei ich für meine Mods tutu weglassen würde, weil ich annehme, dass da zu wenige noch mit spielen und die auch noch Dinge separat benennen).
Dann kann man Dinge umbenennen, z.B.:
OUTER_SPRINT "NBaldursGate_BCS" "AR7300"
Da ist meine Frage: heisst das jetzt, dass alles, was in der tp2 NBaldursGate_BCS heisst bei der Installation dann als AR7300 interpretiert wird? Also NBaldursGate_BCS bekommt den Wert AR7300 zugewiesen? (weil die Variable halt für in dem Fall bgt eben den Wert (oder eigentlich ja String) AR7300 bekommt. Für ein anderes Spiel bekommt die Variable halt eine andere Referenz zugewiesen.
Und müsste es nach der WeiDU-Beschreibung nicht eigentlich OUTER_TEXT_SPRINT sein?
Vom Grundkonzept her: alle Dateien, die in den unterschiedlichen Versionen nicht gleich benannt werden, bekommen bei der eigentlichen Verarbeitung einen Variablennamen als Bezeichnung, z.B.
EXTEND_BOTTOM ~blabla~ ~morenco/areaskripte/bg4000.baf~
Und dann mache ich ein
ACTION_IF GAME_IS ~eet~ THEN BEGIN
OUTER_TEXT_SPRINT "blabla" "BG4000.BCS"
END
ACTION_FI GAME_IS ~bgee~ THEN BEGIN
OUTER_TEXT_SPRINT "blabla" "AR4000.BCS"
END
etc. halt für alle Version und in den ACTION_IF Block kommen halt noch viel mehr OUTER_TEXT_SPRINT rein. Und die ACTION_IF Blocks kommen natürlich vor der Erweiterung der Skripte. Richtig?
Und man kann es natürlich auch komplizierter machen, indem Sachen noch vorher ausliest und in Variablen packt etc. Aber würde für eine erste Basis das obige funktionieren? Und man muss natürlich für alle Versionen die Namenskonventionen kennen (na Klasse).
Gibt es irgendwo in einem Forum (oder ähnlicher Quelle) eine Liste der jeweiligen Unterschiede/Namenskonventionen für die verschiedenen Versionen? Und wenn nicht: könnten wir das hier sammeln und oben in einem Thread anpinnen?
Das mal nur so als ersten Aufschlag zu dem Thema. Ich glaube mal ich kann es kapieren, aber schwierig ist das schon... da bräuchte es eine Menge Tutorials (und das ist keine Aufforderung, dass jemand anders die gefälligst erstellen soll, sondern sehe ich durchaus auch mich in der Pflicht. Gerne mit Unterstützung anderer hier

). Weil die ganzen Infos nur in diesen Threads hier, wird nur bedingt helfen...