NPCs sprechen lassen (via Papyrus)?

Wie wäre es mit:
if myActor.IsBleedingOut() == false
Say(X)
endif

Lohnt sich sowieso, diese Seite mal anzusehen und sich annähernd zu merken, was möglich ist.
https://www.creationkit.com/index.php?title=Actor_Script

IsBleedingOut ist, glaube ich, auch eine Condition, die man in Dialogen verwenden kann, aber du solltest nicht unnötig Records ändern.
OK, werd ich mir mal ansehen.
Was soll dein Code-Vorschlag tun?
Was ich will ist ja, dass NPCs, deren Gesundheit unter einem gewissen Level ist, nur mehr die Sachen sagen, die ich ihnen anschaffe.
Mir fehlt hierbei nur noch die Logik fürs Verbieten anderer Dialoge.
 
Einzelne Dialoge kann man entweder in der Quest, wo ein Topic drin sitzt, oder auf dem Dialog selbst mit einer positiven Condition verbieten, z.B. GetHealthPercentage > 0.1
Kombinieren könnte man das mit einer Abfrage im Script:
if myActor.GetHealthPercentage <= 0.1
Say(StarkVerwundetTopic)
endif

Es ist immer eine Frage, was du genau machen möchtest. Du kannst natürlich Vanilla-Quests und -Dialoge ändern, sodass gewisse Dialoge alle hinter einer Condition sitzen, dann könntest du eventuell auf das Say() in einem Script verzichten. Ich denke, dass ein Say() den Vorteil hat, dass du es triggern kannst, sodass Actors es immer sagen, während es mit Conditions ein wenig zufällig wirken kann, und du ausserdem mehr Vanilla-Dialoge ändern müsstest.
 
Einzelne Dialoge kann man entweder in der Quest, wo ein Topic drin sitzt, oder auf dem Dialog selbst mit einer positiven Condition verbieten, z.B. GetHealthPercentage > 0.1
Kombinieren könnte man das mit einer Abfrage im Script:
if myActor.GetHealthPercentage <= 0.1
Say(StarkVerwundetTopic)
endif

Es ist immer eine Frage, was du genau machen möchtest. Du kannst natürlich Vanilla-Quests und -Dialoge ändern, sodass gewisse Dialoge alle hinter einer Condition sitzen, dann könntest du eventuell auf das Say() in einem Script verzichten. Ich denke, dass ein Say() den Vorteil hat, dass du es triggern kannst, sodass Actors es immer sagen, während es mit Conditions ein wenig zufällig wirken kann, und du ausserdem mehr Vanilla-Dialoge ändern müsstest.
Ich möchte es vermeinden, Spieledateien zu verändern (um möglichst kompatibel mit anderen Mods zu bleiben).
Aus deiner Antwort entnehme ich, dass ein Stummschalten von NPCs via Skript nicht möglich ist.
Muss mal prüfen, welche Möglichkeiten ich dann noch habe - aktuell wirkt es komisch, wenn die NPCs verwundet am Boden liegen und dann immer wieder "Hab ich dich!" oder ähnliche Ausrufe tätigen :p
 
Muss mal prüfen, welche Möglichkeiten ich dann noch habe - aktuell wirkt es komisch, wenn die NPCs verwundet am Boden liegen und dann immer wieder "Hab ich dich!" oder ähnliche Ausrufe tätigen :p
Nur fürs Protokoll, ich weiss nicht alles :)

Wenn du nur willst, dass NPC am Boden keine solchen Sprüche, aber dafür besser geeignete bringen, dann ist eigentlich der richtige Weg, es nur mit Änderungen an Dialogen zu machen, das habe ich auch selbst gemacht.
Z.B. kamen immer Sprüche, igitt, die ist ja nackt, wenn mein Char als Werwolf starb, das habe ich mit Conditions gelöst, wahrscheinlich mit Player.GetHealthPercentage. Ich habe auch viele repetitive Sprüche speziell von Begleitern mit "Hours until reset" begrenzt, sodass sie nur noch alle 8 Stunden gesagt werden können.
Wenn sowas das Ziel ist, dann ist es völlig legitim, Vanilla zu ändern und du brauchst keine Scripte.

Hast du eigentlich den Unofficial Patch installiert? Und es gibt viele Mods und Overhauls, die sich damit beschäftigen, die Dialoge besser zu machen. Wenn ich einen Bereich in diesem unperfekten Game fixen möchte, dann installiere ich zuerst mal Overhauls zu dem Thema über den Patch, dann checke ich ab, was noch zu machen ist. Der Patch fixt die Bugs, ein Overhaul verbessert und erweitert.
 
Nur fürs Protokoll, ich weiss nicht alles :)

Wenn du nur willst, dass NPC am Boden keine solchen Sprüche, aber dafür besser geeignete bringen, dann ist eigentlich der richtige Weg, es nur mit Änderungen an Dialogen zu machen, das habe ich auch selbst gemacht.
Z.B. kamen immer Sprüche, igitt, die ist ja nackt, wenn mein Char als Werwolf starb, das habe ich mit Conditions gelöst, wahrscheinlich mit Player.GetHealthPercentage. Ich habe auch viele repetitive Sprüche speziell von Begleitern mit "Hours until reset" begrenzt, sodass sie nur noch alle 8 Stunden gesagt werden können.
Wenn sowas das Ziel ist, dann ist es völlig legitim, Vanilla zu ändern und du brauchst keine Scripte.

Hast du eigentlich den Unofficial Patch installiert? Und es gibt viele Mods und Overhauls, die sich damit beschäftigen, die Dialoge besser zu machen. Wenn ich einen Bereich in diesem unperfekten Game fixen möchte, dann installiere ich zuerst mal Overhauls zu dem Thema über den Patch, dann checke ich ab, was noch zu machen ist. Der Patch fixt die Bugs, ein Overhaul verbessert und erweitert.
Ja, hab alle möglichen Patches und Fixes aus den "Most Endorsed" von Nexus installiert.
Würde es gerne via Skript lösen, aber vielen Dank für die Vorschläge.