Jastey
Matron Modderholic
- Registriert
- 16.05.2004
- Beiträge
- 12.946
Mancher meiner NPC-Mods bieten einen sogenannten "7. Gruppenmitgliedsmodus" an: Solaufein, Grey und Brandock.
Die Originalidee war, weitere NPCs über die maximale Anzahl von 6 mitnehmen zu können und trotzdem den NPC bei Bedarf wie ein ganz normales Gruppenmitglied zur Verfügung zu haben, also: Level-Up mit Zaubern und Abilities, Ausstatten mit Items, Verwenden des Inventars zum Verstauen von Sachen und natürlich ganz wichtig: der NPC soll trotzdem an allen Bantern und Dialogen teilnehmen und seinen Senf zum Spielgeschehen geben.
Alles davon klappt irgendwie, und irgendwie gibt es aber Probleme das so umzusetzen, dass es völlig problemlos funktioniert. Manche sind nur auf dem Level des dahinter liegenden Skriptings und im Spiel nicht wirklich bemerkbar. Aber manche wirken sich im Spiel aus und müssen vom Spieler mit bedacht werden, damit es keine bösen Überraschungen gibt. Ich trage das mal hier zusammen. Noch bin ich nicht so weit, diesen 7. Gruppemitgliedsmodus zu deaktivieren, aber bei manchen der Nachteile bin ich mir noch nicht sicher, was die wirklich beste Lösung ist.
HINWEISE FÜR SPIELER:
(Die Hinweise sind eine Mischung aus den vorhandenen Restriktionen und den von mir verwendeten Workarounds.)
-Der NPC hat im 7.GM keinen "Clear Fog of War" um sich herum. Er kann also im "schwarzen" Bereich der Karte verschwinden. Wenn man die gesamte Gruppe anklickt und zu einer Stelle laufen lässt, wird er es ebenfalls versuchen, sofern er nicht irgendwo feststeckt o.ä.
-Items im Inventar werden nicht als Items im Besitz der Gruppe erkannt. Dies ist ein Engineproblem.
-Critical Items werden beim Wechsel in den 7. GMM in das Inventar des HC verschoben. Dadurch landen eventuell Gegenstände aus dem Invantar des HC auf dem Boden. Dies ist ein Engineproblem.
-Wenn bei einem Quest neue Items übergeben werden, erscheinen diese immer im Inventar der Gruppe bzw. HC, auch wenn sie eigentlich der NPC erhalten soll.
-Für Brandock habe ich versucht, bei seinen eigenen Questitems diese auch in seinem Inventar erkennen zu lassen. Das klappt zwar, aber:
-- Alle Items, um die es geht, werden über das Inventar das HC gehändelt bevor sie entweder einem Questgeber gegeben oder von diesem erhalten wurden.
-- Befand sich das weggebene Item, dass Brandock im Inventar hatte, in einem Nimmervollen Beutel (z.B. seine Buchtasche), dann stürt aus unerfindlichen Gründen das Spiel ab, wenn Brandock danach wieder über die PID-Option als vollwertiges Mitglied in die Gruppe aufgenommen werden soll. Dieser "Absturzbug" lässt sich umgehen, indem das Spiel gespeichert und wieder geladen wird.
-Es lohnt sich also, nach jedem Questereignis und nach dem Wechsel in den 7.GMM nochmal zu schauen, ob der HC Items aus dem Inventar verloren hat, die wieder vom Boden aufgelesen werden sollten!
-Es ist empfehlenswert, häufig zu speichern, vor allem bevor ein 7. GM wieder in die Gruppe aufgenommen werden soll, damit man keine Spielzeit verliert falls der "Absturzbug" auftreten sollte.
-Es ist nötig und auch für Brandock zu empfehlen, Questitems nicht im Inventar der 7. GM sondern in dem der normalen Gruppenmitglieder zu haben.
-Befinden sich Questitems von Brandock in seinem Inventar als 7. GM, dann werden sie wahrscheinlich erkannt weil ich das momentan reinskripte. Es ist trotzdem empfehlenswert, diese nicht in Beuteln/Nimmervollen Taschen von ihm zu verstauen, bevor man die entsprechenden Questgeber anspricht, um den "Absturzbug" zu verindern, oder auf alle Fälle zu speichern, bevor man ihn wieder richtig in die Gruppe aufnimmt.
HINWEISE FÜR MODDER / SKRIPTEN DES 7.GMM:
Die Originalidee war, weitere NPCs über die maximale Anzahl von 6 mitnehmen zu können und trotzdem den NPC bei Bedarf wie ein ganz normales Gruppenmitglied zur Verfügung zu haben, also: Level-Up mit Zaubern und Abilities, Ausstatten mit Items, Verwenden des Inventars zum Verstauen von Sachen und natürlich ganz wichtig: der NPC soll trotzdem an allen Bantern und Dialogen teilnehmen und seinen Senf zum Spielgeschehen geben.
Alles davon klappt irgendwie, und irgendwie gibt es aber Probleme das so umzusetzen, dass es völlig problemlos funktioniert. Manche sind nur auf dem Level des dahinter liegenden Skriptings und im Spiel nicht wirklich bemerkbar. Aber manche wirken sich im Spiel aus und müssen vom Spieler mit bedacht werden, damit es keine bösen Überraschungen gibt. Ich trage das mal hier zusammen. Noch bin ich nicht so weit, diesen 7. Gruppemitgliedsmodus zu deaktivieren, aber bei manchen der Nachteile bin ich mir noch nicht sicher, was die wirklich beste Lösung ist.
HINWEISE FÜR SPIELER:
(Die Hinweise sind eine Mischung aus den vorhandenen Restriktionen und den von mir verwendeten Workarounds.)
-Der NPC hat im 7.GM keinen "Clear Fog of War" um sich herum. Er kann also im "schwarzen" Bereich der Karte verschwinden. Wenn man die gesamte Gruppe anklickt und zu einer Stelle laufen lässt, wird er es ebenfalls versuchen, sofern er nicht irgendwo feststeckt o.ä.
-Items im Inventar werden nicht als Items im Besitz der Gruppe erkannt. Dies ist ein Engineproblem.
-Critical Items werden beim Wechsel in den 7. GMM in das Inventar des HC verschoben. Dadurch landen eventuell Gegenstände aus dem Invantar des HC auf dem Boden. Dies ist ein Engineproblem.
-Wenn bei einem Quest neue Items übergeben werden, erscheinen diese immer im Inventar der Gruppe bzw. HC, auch wenn sie eigentlich der NPC erhalten soll.
-Für Brandock habe ich versucht, bei seinen eigenen Questitems diese auch in seinem Inventar erkennen zu lassen. Das klappt zwar, aber:
-- Alle Items, um die es geht, werden über das Inventar das HC gehändelt bevor sie entweder einem Questgeber gegeben oder von diesem erhalten wurden.
-- Befand sich das weggebene Item, dass Brandock im Inventar hatte, in einem Nimmervollen Beutel (z.B. seine Buchtasche), dann stürt aus unerfindlichen Gründen das Spiel ab, wenn Brandock danach wieder über die PID-Option als vollwertiges Mitglied in die Gruppe aufgenommen werden soll. Dieser "Absturzbug" lässt sich umgehen, indem das Spiel gespeichert und wieder geladen wird.
-Es lohnt sich also, nach jedem Questereignis und nach dem Wechsel in den 7.GMM nochmal zu schauen, ob der HC Items aus dem Inventar verloren hat, die wieder vom Boden aufgelesen werden sollten!
-Es ist empfehlenswert, häufig zu speichern, vor allem bevor ein 7. GM wieder in die Gruppe aufgenommen werden soll, damit man keine Spielzeit verliert falls der "Absturzbug" auftreten sollte.
-Es ist nötig und auch für Brandock zu empfehlen, Questitems nicht im Inventar der 7. GM sondern in dem der normalen Gruppenmitglieder zu haben.
-Befinden sich Questitems von Brandock in seinem Inventar als 7. GM, dann werden sie wahrscheinlich erkannt weil ich das momentan reinskripte. Es ist trotzdem empfehlenswert, diese nicht in Beuteln/Nimmervollen Taschen von ihm zu verstauen, bevor man die entsprechenden Questgeber anspricht, um den "Absturzbug" zu verindern, oder auf alle Fälle zu speichern, bevor man ihn wieder richtig in die Gruppe aufnimmt.
HINWEISE FÜR MODDER / SKRIPTEN DES 7.GMM:
-Damit der NPC im 7. GM nicht stirbt aber auch nicht als unsterblicher Tank zur Verfügung steht verwende ich eine Kombination an Effekten und Skriptbefehlen falls die HP zu niedrig werden. Details dazu gebe ich gerne raus.
-Wenn der NPC niedrige Lebenspunkte hat kann er sterben, wenn er wieder in die Gruppe aufgenommen wird. Ich verhindere das, indem er nach jedem Kampf wieder voll geheilt wird.
-Das enginebedingte Aufrufen der Banter im B.dlg beinhaltet keine Familiars, d.h. die Banter (bzw. Inhalte des B.dlg) müssen über Skript des NPCs "per Hand" getriggert werden.
-Die Rastdialog d.bcs wird ebenfalls nicht aufgerufen. Rastdialoge müssen zusätzlich in die des Player1d.bcs eingefügt werden, damit sie getriggert werden können, wenn der NPC im 7. GMM ist.
-Das Händeln der Dialoge muss von Hand erfolgen, also beim Verlassen der Gruppe zum Wechsel in den 7. GMM muss der Dialog des NPC auf den Joined J.dlg gesetzt werden, damit er an Dialogen etc. teilnehmen kann.
-Eine einfache Abfrage ob der NPC in der Gruppe ist (InParty("npcname")) reicht nicht aus, weil diese Abfrage für Familiars nicht gültig ist. Das gilt auch for das in der EE verlässlich funktionierende IfValidForPartyDialog().
-GiveItemCreate erzeugt das Item im Inventar des Player1 und des 7.GM, wenn der 7.GM als Empfänger angegeben wurde. Neue Items müssen also immer direkt (und nur) ins Inventar des Player1 gegeben werden.
-GiveItem vom 7. GM zu einem Questcharakter wird nicht ausgeführt. Der 7.GM muss also Items erst per Skriptbefehl ins Inventar des Player1 geben, von dort aus können Questcharaktere sie nehmen.
-Das Handling von Items über das Inventar des Player1 ist insofern auch vorteilhaft, als dass man nur aus dem Inventar der Gruppenmitglieder eine bestimmte Anzahl entfernen kann (TakePartyItemNum). Der 7.GM kann nur den ganzen Stack weiterreichen.
-Wenn der NPC niedrige Lebenspunkte hat kann er sterben, wenn er wieder in die Gruppe aufgenommen wird. Ich verhindere das, indem er nach jedem Kampf wieder voll geheilt wird.
-Das enginebedingte Aufrufen der Banter im B.dlg beinhaltet keine Familiars, d.h. die Banter (bzw. Inhalte des B.dlg) müssen über Skript des NPCs "per Hand" getriggert werden.
-Die Rastdialog d.bcs wird ebenfalls nicht aufgerufen. Rastdialoge müssen zusätzlich in die des Player1d.bcs eingefügt werden, damit sie getriggert werden können, wenn der NPC im 7. GMM ist.
-Das Händeln der Dialoge muss von Hand erfolgen, also beim Verlassen der Gruppe zum Wechsel in den 7. GMM muss der Dialog des NPC auf den Joined J.dlg gesetzt werden, damit er an Dialogen etc. teilnehmen kann.
-Eine einfache Abfrage ob der NPC in der Gruppe ist (InParty("npcname")) reicht nicht aus, weil diese Abfrage für Familiars nicht gültig ist. Das gilt auch for das in der EE verlässlich funktionierende IfValidForPartyDialog().
-GiveItemCreate erzeugt das Item im Inventar des Player1 und des 7.GM, wenn der 7.GM als Empfänger angegeben wurde. Neue Items müssen also immer direkt (und nur) ins Inventar des Player1 gegeben werden.
-GiveItem vom 7. GM zu einem Questcharakter wird nicht ausgeführt. Der 7.GM muss also Items erst per Skriptbefehl ins Inventar des Player1 geben, von dort aus können Questcharaktere sie nehmen.
-Das Handling von Items über das Inventar des Player1 ist insofern auch vorteilhaft, als dass man nur aus dem Inventar der Gruppenmitglieder eine bestimmte Anzahl entfernen kann (TakePartyItemNum). Der 7.GM kann nur den ganzen Stack weiterreichen.
Zuletzt bearbeitet: