Hallo TomBOX.
Im Prinzip würde ich das so anlegen wie das Wechseln eines Outfits. Ich habe den Bettler 0, +1 und -1. Das sind drei, äußerlich identische Outfits, die sich nur in den Posen und Animationen unterscheiden. Ich kann ja pro Outfit andere Aktions- und Dialogposen erstellen. Der Prota trifft Bettler 0. Wählt der Prota den "guten" Weg, wird ein Wert auf +1 gesetzt und jedesmal, wenn er mit dem Bettler interagiert, abgefragt und das Outfit +1 verwendet. Dementsprechend werden aus dem Outfitordner +1 die Handlungen, Dialogtrigger und Reaktionen aufgerufen. Andersrum mit dem Wert -1. Ich brauche so keinen neuen Charakter, sondern nur jeweils ein extra Outfit.
Allerdings nimmt sich der Aufwand nichts, man könnte ebensogut Bettler 0 unsichtbar schalten und mit einem neuen Bettler +1 weiterspielen. Wenn der Bettler nur an einem Ort verbleibt, ist das gut zu bewerkstelligen. Intuitiv würde ich jedoch eher mit der Person "Bettler" und drei Outfit-Varianten arbeiten als mit drei Bettler-Charakteren - das wird schnell unübersichtlich, weil es ja eigentlich nur eine Person ist.
Es gibt natürlich auch eine sparsame Variante, bei der man nur mit einem Outfit auskommt und alle möglichen Fälle da reinpackt, aber die Wertabfrage kommt mir da viel komplizierter vor.
Ich habe in meinem Testspiel drei Outfits, die häufig gewechselt werden. Ich muss also jedesmal abfragen (bei jeder Interaktion), welches Outfit die Figur gerade anhat - davon hängen ihre Aktionen (sie kann je nach Outfit nur bestimmte Handlungen ausführen), die Objektinteraktionen und die der Mitcharaktere ab. Das ist irre aufwendig, aber es geht. Zusätzlich gibt es auch noch drei Alternativ-Spielverläufe... ich hab's wohl übertrieben :-)
Man benötigt nicht mal LUA dazu, sondern muss nur eine gewaltige Menge Disziplin, Struktur und Animationen investieren und den Überblick behalten. Das geht mit Bordmitteln, aber man muss "if-else" und verschachtelte Hierarchien wirklich lieben, sonst wird das nichts. Mit LUA wäre es EXTREM einfacher...
Gruß
Machtnix