[Modding] Tweak: Original-NPCs als 7. Partymitglied?

Acifer

Senior Member
Registriert
27.04.2019
Beiträge
1.080
Gibt es eigentlich einen Tweak, der die Original-NPCs als 7. Partymitglieder verfügbar macht? Irgendwie finde ich es gemein, dass sich immer nur die gleichen (z.B. Brandock) hintenanstellen müssen. Ob das technisch überhaupt durchführbar ist, auch z.B. wegen des Limits bezüglich des „Fog of war“, weiß ich nicht.
Ausprobieren, falls eine solche Modifikation vorhanden wäre, würde ich es allemal.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
9.336
Das ist leider nicht ganz so trivial. Nur schnell umrissen:

-sämtliche Dialoge und Interjections überprüfen, ob ein NPC in der Gruppe ist (InParty()) - was das 7. Gruppenmitglied technisch gesehen nicht mehr ist. Es würden also keine Dialoge triggern und seine Anwesenheit nicht erkannt werden, außer die Trigger werden angepasst. - das dürfte recht komplex sein, hier alle Instanzen in allen Skripts und Dialogen des Spiels festzustellen, wenn auch technisch nicht unmöglich.
-Wenn Du den NPC aus der Gruppe wirfst - was man de facto tut, wenn er 7. Gruppenmitglied ist, auch wenn er dann FAMILIAR-Status bekommt - ist sein aktiver Dialog nicht mehr der Joined sondern der Kickout (P)-Dialog. Das muss entsprechend per Skript zurück auf den J.dlg gesetzt werden, sonst kann der HC die Dialoge gar nicht von sich geben.
-Man braucht eine Option, ihn in den 7. Gruppenmitgliedsmodus wechseln zu lassen, nachdem man ihn rausgeschmissen hat (im Kickout-Dialog), und eine Option in seinen PID, um ihn wieder voll in die Gruppe aufnehmen zu lassen.
-Jegliche Items, die der NPC während seines Status als 7. Gruppenmitglied über GiveItemCreate() "erhält", erscheinen doppelt: einmal beim HC, einmal beim NPC (merkt man dann, wenn er wieder zur Gruppe stößt)
-Der Befehl TakePartyItem("") wird im 7. Gruppenmitgliedsmodus vom NPC nicht ausgeführt - hier besteht gerade bei der Kombi "TakePartyItem - DestroyItem" im Rahmen von Quests die Gefahr von Bugs, wenn Questitems nicht wie vorgesehen entfernt werden, oder ein NPC ein Item anlegen soll aber es nicht "nehmen" kann (z.B. Breagar seinen Arm etc.)
-damit der NPC nicht unwiederruflich stirbt hantiere ich mit einem Min-HP-Effekt der entsprechend an- und wieder abgelegt wird. Damit der NPC nicht zur Kampfmaschine wird habe ich mir das mit dem "ohnmächtig" werden inklusive des Statuswechsels zu Neutral ausgedacht. Hierzu muss ein Grundgerüst and Skriptblöcken und Spells kompiliert und angewendet werden.
-7. Gruppenmitglieder tauchen mit in Cutscenes auf, leider auch in denen, die Träume des HC sein sollen...

Fazit: dieser 7. Gruppenmitgliedsmodus geht irgendwie mit ein paar Einschränkungen, aber der NPC und seine Quests müssen doch darauf abgestimmt sein. Mit ein paar Additionen zu PID und Kickout-Dialog, Skript und dem Patchen der Erkennung, ob der NPC in der Gruppe oder als 7. Gruppenmiglied läuft wäre sicher das meiste abgedeckt und technisch nicht komplett unmöglich, aber der Teufel steckt dann im Detail, gerade diese nicht funktionierende CreateItem und TakePartyItem-Sache macht das ganze recht fragil und entsprechende Handarbeit nötig.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
9.336
Achso, vergessen: Skriptaddition, damit der NPC dann entsprechend hochlevelt. Hier habe ich platt einfach ein Hochleveln bis zum Level des HC gescriptet, ohne Stopp jeglicher Art. Kann man sicher "eleganter" lösen so dass es weniger zum Cheaten einlädt.

Da ich mittlerweile 4 NPCs habe, die als 7. Gruppenmitglied laufen können (Solaufein, Grey, Brandock, Husam), kriege ich langsam Übung, wie man das effizient bündelt. Theoretisch könnte ich mir vorstellen, für NPCs einen solchen Tweak zu implementieren - technisch müsste das wie gesagt möglich sein - aber gerade die Details mit dem Itemhändling ist das, was es dann zu Handarbeit werden lässt und eventuell gerade Crossmod Kompatibilität (mit Mods, die Inhalte für die NPCs einfügen) kritisch macht und immr wieder überprüft werden muss.
(Das war leider keine Freiwilligenmeldung!)...

Im Grunde ist das mit dem Itemhändling wirklich seltsam, da man dann dem NPC auch nicht über Skript Items geben könnte. :hae: Es ist abr meine Erfahrung aus dem Debugging der §Buchszenen" von Brandock, wo es jeweils nicht ausgeführt wurde, wenn er im 7. GMM war.
 

Quentin

Senior Member
Registriert
10.09.2008
Beiträge
340
Interessante und spannende Idee.

Ein Gedanke dazu, solltest du Lust haben, das für die Original NPCs umzusetzen, fände ich es super wenn, zumindest in BG2, Imoen der erste NPC wäre, bei dem das möglich ist.

Ich denke der Grund dafür ist relativ klar, es nervt ein wenig einen NPC für sie aus der Gruppe werfen zu müssen. Insbesondere als guter HC würde es absolut Sinn machen wenn der HC, trotz einer vollen Gruppe, für Imoen eine Ausnahme macht und sie quasi hinterherlaufen lässt.

Das ist aber nur mein Gedanke zu der Idee :)
 

Acifer

Senior Member
Registriert
27.04.2019
Beiträge
1.080
Das ist leider nicht ganz so trivial.
Vielen Dank für Deine Erklärungen! Ich hatte mir das wirklich etwas einfacher vorgestellt. Aber das ist beim Modding wohl immer der Fall. :(
Ich denke der Grund dafür ist relativ klar, es nervt ein wenig einen NPC für sie aus der Gruppe werfen zu müssen. Insbesondere als guter HC würde es absolut Sinn machen wenn der HC, trotz einer vollen Gruppe, für Imoen eine Ausnahme macht und sie quasi hinterherlaufen lässt.
Für Imoen in BG2 eine solche Option einzubauen finde ich eine gute Idee!
In BG1 geht es mir mit Xan und Yeslick immer so. Da würde ich mir- zumindest zeitweise - eine 7. Partymember-Option schon wünschen.

Theoretisch könnte ich mir vorstellen, für NPCs einen solchen Tweak zu implementieren
:shine:
 

Lumorus

Wachender
Registriert
03.03.2011
Beiträge
3.119
In BG1 geht es mir mit Xan und Yeslick immer so. Da würde ich mir- zumindest zeitweise - eine 7. Partymember-Option schon wünschen.
Ich fände eigentlich Brage als 7.Begleiter optimal. ;)
 

Gerri

Senior Member
Registriert
21.11.2006
Beiträge
916
Jetzt geb ich auch meinen Senf dazu: Bei Afaaq dem Dschinn Gefährten, gibt es die volle Interaktion, obwohl er das 7. Gruppenmitglied ist.
Banter, Story, Quests... da funzt alles. Vielleicht hat Argent da ein paar nützliche Tips...
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
9.336
@Gerri Bei meinen NPCs mit dieser Funktionalität funzt das auch alles. ;) Man muss den NPC halt entsprechend präparieren, das ist meine Aussage.
 

Lumorus

Wachender
Registriert
03.03.2011
Beiträge
3.119
Das kann ich auch bestätigen. :)
 

Quentin

Senior Member
Registriert
10.09.2008
Beiträge
340
Mal ein Gedanke dazu, ich fände es gut wenn es die Option, zumindest zeitlich bedingt, für andere Begleiter geben könnte, hier ein paar Beispiele wo das wirklich praktisch wäre.

Imoen in der Zauberfeste
Valygar in der Sphäre
Mazzy im Schattenverlies
Cernd während der Druidenquest
Nalia in der Burg ihrer Familie

Also im Prinzip immer dann wenn die NPCs einem questbedingt folgen, verlässt man den Ort ohne die Quest zu erledigen warten die NPCs dort oder bestehen daraus als reguläres Gruppenmitglied aufgenommen zu werden, ist die Quest erledigt können sie nur noch als reguläres Gruppenmitglied aufgenommen werden.
Ich fände es sehr genial wenn es dafür einen Mod geben würde und es macht wahrscheinlich nicht so viel Arbeit weil nicht alle Banter sondern nur die questspezifischen Dialoge angepasst werden müssten.
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
7.397
Valygar kann man doch problemlos in der Sphäre dabei haben... als Leiche :fies:

Auch wenn das von Jastey geschriebene nicht offensichtlich macht, was da dahinter steckt: es ist eine Menge. Bei einem eigenen NPC, bei dem man volle Kontrolle hat, ist das noch vergleichsweise (!) einfach. Bei Original-NPCs stelle ich mir das viel schwerer vor bis nahe in Richtung unmöglich. Vor allem, wenn man Kompatibilität zu anderen Mods und Reversiblität (kann auch wieder deinstalliert werden) sicherstellen möchte.
Und die Probleme ruhig mal genau lesen. Das ist nicht, dass man da so spielen kann wie gewöhnlich.

Den Bedarf, bzw. die Nachfrage kann ich sehr gut verstehen. Drängt sich fast schon auf.

Persönlich spiele ich außer zu Testzwecken eigentlich nur mit Grey als 7. Mitglied, weil der nicht so viel Interaktion hat (Hund halt). Bei Grey als 7. Mitglied und Brandock ist es schon einfacher, ein Gruppenmitglied zu entlassen, als Brandock und Grey die Plätze tauschen zu lassen, wenn man Grey bspw. auf ein neues Level bringen möchte.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
9.336
es macht wahrscheinlich nicht so viel Arbeit weil
Doch, wäre es. Es müsste die ganze "Infrastruktur" für den 7.Gruppenmitgliedsmodus bereitsgestellt werden, und zusätzlich noch die Skripte dafür, dass der NPC bei seiner Questarea bleibt wie von Dir geschrieben. Dass dann nicht für alle sondern nur bei ein paar Einmischdialogen die Trigger angepasst werden müssten ist dann auch keine wirkliche Erleichterung sondern macht das ganze eher noch komplizierter.
Wie @Maus schon schrieb: lies Dir mal die Probleme durch, die ich aufgelistet habe. Tut mir leid, aber das tu ich mir nicht noch für x weitere NPCs und ihre Quests an. Ich sitze bei Brandock und seinem bescheuerten Buch jetzt schon 2 Wochen dran, damit das klappt.

Ich habe das mal in ein eigenes Thema geschoben da es nichts mit dem von mir zu tun hat.
 
Oben