Das ist in der Tat komplizierter als die bisherigen Fragen.
Ohne Skriptkenntnisse wirst du da nicht weit kommen. Das Skript muß ins OnDamage der sich ergebenden Kreatur. Es muß sicherstellen, daß ab einer bestimmten Anzahl verbliebener Lebenspunkte der Kreatur erstmal sämtliche Kampfaktionen der am Kampf beteiligten Personen eingestellt werden. Den gerade draufschlagenden Gegner kriegst du mit : GetLastHostileActor();
Dann mußt du die hitpoints des Opfers feststellen, und klären, ob diese beim letzen Treffer unter einen bestimmten level gefallen sind (in meinem Beispiel, wenn sie halbiert sind):
int nMaxHP = GetMaxHitPoints(); /volleAnzahl feststellen
int nCurHP = GetCurrentHitPoints();//jetzige Anzahl
if (nCurHP < (nMaxHP / 2))//was passiert, wenn sie unter die Hälfte fallen
mit einem "ClearAll Actions" auf alle Kampfbeteiligten hören sie erstmal sofort auf zuzuschlagen (Beispielzeile):
AssignCommand(oAngreifer, ClearAllActions());
Aber damit das auch so bleibt, mußt du bei den Gegnern die Feindschaft beenden (Beispielzeile):
ClearPersonalReputation(oAngreifer, oOpfer);
Und damit es auch dem Spieler klar wird, kannst du dein Opfer ja noch eine Zeile sprechen lassen, z.B so:
AssignCommand(oOpfer, ActionSpeakString("Lasst ab von mir! Hilfe!"));
So hab ich`s jedenfalls gemacht, bin aber auch nicht der Superskripter
. Aber da es gut funktioniert hat, kann es so falsch sicher nicht sein.
Falls du noch gar keine Skriptkenntnisse hast, würde ich dir empfehlen ein tutorial durchzuarbeiten, z.B:
http://www.mapsandmoreshop.de/nwn/CelowinsTutorium.pdf