Maus
Senior Member
- Registriert
- 07.08.2002
- Beiträge
- 9.379
Also ich plane gerade eine NPC-Mod, bei der es auch Cross-Mod geben soll. Und ich bin am Überlegen, wie ich das technisch am Besten angehe. Da gibt es für mich zwei Fallunterscheidungen (oder drei) und halt zwei Möglichkeiten: als eigene CrossMod-Komponente und über Skripte, die Existenz von Triggern abfragen
a) Quest-Mods: die werden eigentlich immer vor den NPC installiert, da kann man davon ausgehen. Und wenn man die Existenz von Triggern abfrägt wie Variablen auf einem bestimmten Wert oder Exists() in Areas, dann spielt das nach meinem Verständnis keine Rolle, ob die Quest-Mod vorher installiert wurde oder nicht. Wenn nach der Existenz von Kreaturen gefragt wird, dann gibt es halt im Skript selbst eine Fehlermeldung, wenn die Ressource gar nicht existiert, aber keinen Fehler im Spiel. Und solche Dinge in einen CrossMod-Komponente auszugliedern ist halt ziemlich viel Arbeit (zumindest mal beim Nachdenken drüber) und vor allem auch fehleranfällig, wenn irgendwelche Reihenfolgen durcheinanderkommen, weil andere Mods was dazwischen schreiben etc. Da würde ich eher dazu tendieren, dafür keine Cross-Mod-Komponenten zu schreiben, sondern direkt in der Hauptkomponente der Mod das zu richten.
b) NPC-Mods: bei Interjections würde ich einfach im Code prüfen, ob der NPC ValidForPartyDialogue ist, weil das ist entscheidend und nicht, ob er installiert ist oder nicht. Banter könnte man in eine eigene CrossMod-Komponente bringen, das macht Sinn, weil NPC ja durchaus alle an derselben Stelle installiert werden und die Reihenfolge beliebig kompliziert werden kann, wenn das passiert. Ist zwar auch doof, weil man für jeden kurzen Zweizeiler mit einem anderen NPC eine Abfrage in die tp2 schreiben muss (und immer checken, ob nicht ein Update beim anderen NPC die Komponente verschiebt oder der Name einer Ressource geändert wurde) und eine eigene d-Datei dazu kompilieren muss (also nicht das kompilieren an sich, aber das Schreiben davon ). Aber das könnte es im Ergebnis wert sein.
c) Kit-Mods: hier ist es eigentlich einfach: in der tp2 abfragen, ob das Kit da ist. Wenn nicht, die Variante ohne das Kit installieren, wenn doch, dann mit Kit. Alles andere ist keine Option, denke ich.
Vor allem an diejenigen, die hier mehr Ahnung und Erfahrung haben wie ich: übersehe ich bei meinen Überlegungen was? Läuft da irgendwas anders wie von mir angenommen? Habe ich was übersehen?
a) Quest-Mods: die werden eigentlich immer vor den NPC installiert, da kann man davon ausgehen. Und wenn man die Existenz von Triggern abfrägt wie Variablen auf einem bestimmten Wert oder Exists() in Areas, dann spielt das nach meinem Verständnis keine Rolle, ob die Quest-Mod vorher installiert wurde oder nicht. Wenn nach der Existenz von Kreaturen gefragt wird, dann gibt es halt im Skript selbst eine Fehlermeldung, wenn die Ressource gar nicht existiert, aber keinen Fehler im Spiel. Und solche Dinge in einen CrossMod-Komponente auszugliedern ist halt ziemlich viel Arbeit (zumindest mal beim Nachdenken drüber) und vor allem auch fehleranfällig, wenn irgendwelche Reihenfolgen durcheinanderkommen, weil andere Mods was dazwischen schreiben etc. Da würde ich eher dazu tendieren, dafür keine Cross-Mod-Komponenten zu schreiben, sondern direkt in der Hauptkomponente der Mod das zu richten.
b) NPC-Mods: bei Interjections würde ich einfach im Code prüfen, ob der NPC ValidForPartyDialogue ist, weil das ist entscheidend und nicht, ob er installiert ist oder nicht. Banter könnte man in eine eigene CrossMod-Komponente bringen, das macht Sinn, weil NPC ja durchaus alle an derselben Stelle installiert werden und die Reihenfolge beliebig kompliziert werden kann, wenn das passiert. Ist zwar auch doof, weil man für jeden kurzen Zweizeiler mit einem anderen NPC eine Abfrage in die tp2 schreiben muss (und immer checken, ob nicht ein Update beim anderen NPC die Komponente verschiebt oder der Name einer Ressource geändert wurde) und eine eigene d-Datei dazu kompilieren muss (also nicht das kompilieren an sich, aber das Schreiben davon ). Aber das könnte es im Ergebnis wert sein.
c) Kit-Mods: hier ist es eigentlich einfach: in der tp2 abfragen, ob das Kit da ist. Wenn nicht, die Variante ohne das Kit installieren, wenn doch, dann mit Kit. Alles andere ist keine Option, denke ich.
Vor allem an diejenigen, die hier mehr Ahnung und Erfahrung haben wie ich: übersehe ich bei meinen Überlegungen was? Läuft da irgendwas anders wie von mir angenommen? Habe ich was übersehen?