Construction Set Skript, welches für alle NPCs gilt

P-Froggy

Vertrauter
Hi,

Wie kann man ein Skript schreiben, welches startet, wenn z.B. ein Charakter bewusstlos wird.
Das Problem ist, dass ich nicht die ID's von allen NPCs aufschreiben will, die nur bewusstlos werden anstatt zu sterben.
Wenn es ein kript gäbe, welches automatisch startet, wenn ein (wichtiger) NPC bewusstlos wird und ihn dann z.B. mi dem moveto -Befehl irgendwo hinsetzt.

Vielleicht klingt das komisch, aber ich will nicht gleich meine neue Mod verraten.

Außerdem wäre sowas praktisch für Resurrect all NPCs, da es dann auch für die NPCs aus Mods funktioniert.
 
Ok, ich machs leichter:

Wenn man einen "unsterblichen" NPC tötet/bewusstlos macht soll er 20 Sekunden lang "Unconscious" gesetzt werden.
Danach soll er wieder ganz normal aufstehen.

Ich hoffe, dass jetzt jemand eine Lösung kennt.
 
Schreib einen QuestScript (Die gelten immer, sogar wenn der Quest nicht aktiv sind)
und setze aufs Ergebnis nur die Bedingung, das unsterbliche NPC's betroffen sind (Kann mich an die genaue Funktion nicht erinnern).

Hier hast du einen Link zu Tutorials und den Funktionen:

http://cs.elderscrolls.com/
 
  • Like
Reaktionen: P-Froggy
Und wie mach ich das, dass es auf alle NPCs funktioniert.

Also ein NPC wird bewusstlos, "eingefroren" und nach ein paar Minuten steht er wieder normal auf.

Ich könnte zwar jedem unsterblichen NPC einen Skript geben:

begin onDeath
setUnconius

end
...

Aber der eigentlich Sinn ist, dass das CS alle NPCs nimmt und wenn ich die NPCs aufschreibe, dann geht das nicht für NPCs aus Mods usw.
 
Mach:

Begin GameMode ----- bewirkt das der Script immer wieder vom system abgefragt wird, sodass der effekt nicht bei einem bestimmten NPC auftreten muss

und dann als Bedinung

if [GetDead == 1] (oder so aehnlich)

...

PS: Es wuerde auch etwas laenger dauern alle NPC's aufzuschreiben:)
 
  • Like
Reaktionen: P-Froggy
Sollte zumindest fuer alle gelten.
Wenns nicht klappt, kannst du ja auch im ConstructionSetWiki nachsehen.;)
 
ohne das jetzt getestet zu haben oder in der wiki nachgeschaut zu haben, denke ich dass das skript so einfach mit gedeath == 1 nichts anfagen kann.

Für wen soll das Getdead denn gelten? ist doch nichts geregelt.
(bitte um berichtung, falls ich schwachsinn verteile)

ich würde so ansetzen, dass ich das skript auf den spieler ansetze.
Sobald dieser in den Kampf eintritt/jemanden angreift kann man sein ziel direkt per skript ansprechen.
entsprechende befehle gibt es im cs-wiki, hab leider keine zeit die herauszusuchen :)
 
ohne das jetzt getestet zu haben oder in der wiki nachgeschaut zu haben, denke ich dass das skript so einfach mit gedeath == 1 nichts anfagen kann.

Für wen soll das Getdead denn gelten? ist doch nichts geregelt.
(bitte um berichtung, falls ich schwachsinn verteile)

ich würde so ansetzen, dass ich das skript auf den spieler ansetze.
Sobald dieser in den Kampf eintritt/jemanden angreift kann man sein ziel direkt per skript ansprechen.
entsprechende befehle gibt es im cs-wiki, hab leider keine zeit die herauszusuchen :)

Ich denke auch, dass es dann nicht richtig funkltioniert, aber es gibt ja keinen Befehl im CS, der irgendwie "allActors" heißt und dann die Referencen aller Actors nimmt.

Allerdings soll das nicht nur bei einem Kampf mit dem Spieler passieren. Man könnte dann die Begleiter auf die Person loshetzen und dann funktioniert es nicht.

Wie gesagt, ich gehe jetzt mal testen.
 
mh, ich bin vom spieler allein ausgegangen, richtig.

es gibt ein plugin mit dem man alle npc wiederbeleben kann.
hab mir das ncoh nicht genauer angesehen, aber vielleicht findest du da etwas ansprechendes in den skripten.
 
Die einzige qualifizierte Antwort kam bis jetzt von Cadhar.

Es gibt tatsächlich keine andere Möglichkeit, als alle ID's abzutippen. Oder du erstellst einfach einen einzigen, allgemeingültigen Script, den du auf alle diese speziellen NPC's legt.

Cadhar schrieb:
es gibt ein plugin mit dem man alle npc wiederbeleben kann.
hab mir das ncoh nicht genauer angesehen, aber vielleicht findest du da etwas ansprechendes in den skripten.
Das ist "Resurrect All NPC's" von P-Froggy, wenn ich mich nicht irre. Und wie er gesagt hat, hat er da alle ID's abgetippt. Vlt. findet ja auch irgendeiner eine alternative Lösung oder ihr wünscht euch diesen OBSE-Befehl. (Viele der OBSE-Befehle wurden von Moddern gewünscht).

MfG Gildur
 
Es gibt ja den killall Befehl. Schaut im CSWiki vielleicht mal nach ob's ne Gegenfunktion gibt.

Das mit dem allgemeinen Script muesste schon Funktionieren. (Bethesda steuert so auch z.B. die Einstellungen bestimmter NPCGruppen gegenueber dem Spieler - siehe: Schrein von Dagon; beitritt zu einer Gilde)

Ich kann mich aber auch irren.
 
Es gibt ja den killall Befehl. Schaut im CSWiki vielleicht mal nach ob's ne Gegenfunktion gibt.

Das mit dem allgemeinen Script muesste schon Funktionieren. (Bethesda steuert so auch z.B. die Einstellungen bestimmter NPCGruppen gegenueber dem Spieler - siehe: Schrein von Dagon; beitritt zu einer Gilde)

Ich kann mich aber auch irren.

Ich habe nach einem Gegenstück schon vor längerer Zeit geschaut und nichts gefunden. KillallActors tötet aber nur die NPCs in der geladenen Cell, jedoch kann es vorkommen, dass auch NPCs angegriffen werden, wenn man nicht in derselben Cell ist.
Manchmal laufe ich in der Wildnis rum und es kommt die Meldung "blabla ist bewusstlos"


Es dauert aber nicht so lange die Namen "abzutippen", denn ich kopiere meistens. Jedoch geht es auch nicht sehr schnell.


Cadhar schrieb:
mh, ich bin vom spieler allein ausgegangen, richtig.

Wenn es nur der Spieler gewesen wäre, dann hätte ich auch kein Problem damit ;)

DragonLord schrieb:
Viele der OBSE-Befehle wurden von Moddern gewünscht

Ja, ich habe mir die OBSE-Wunschliste angeschaut das auch gesehen.

DragonLord schrieb:
"Resurrect All NPC's" von P-Froggy

Guckt in meiner Signatur unter meine Mods, dann seht ihr es ;)
 
Zuletzt bearbeitet:
Und was ist mit Mod NPC's?

Das ist ja das Problem!
Ich müsste eigentlich für jede (beliebte) Mod noch die neuen NPCs in Resurrect all NPCs einfügen und das geht nunmal ziehmlich schlecht, da es schon sehr viele Mods mit neuen NPCs gibt und immer wieder neue Mods dazukommen.


Vielleicht sollte man die Leute erpressen, dass sie keine NPC Mods mehr herstellen :ugly:

@DragonLord: Ich teste dein Skript mal heute Abend, gestern kam ich nicht dazu.
 
Zuletzt bearbeitet von einem Moderator:
Funktioniert nicht.
Ich denke, wenn man keine Reference angibt, dann gilt es immer für den, der es Audführt.

Kennt noch jemand eine Möglichkeit?
OBSE würde nichts ausmachen.
 
Es gibt ja den killall Befehl. Schaut im CSWiki vielleicht mal nach ob's ne Gegenfunktion gibt.

Das mit dem allgemeinen Script muesste schon Funktionieren. (Bethesda steuert so auch z.B. die Einstellungen bestimmter NPCGruppen gegenueber dem Spieler - siehe: Schrein von Dagon; beitritt zu einer Gilde)

Ich kann mich aber auch irren.
Nicht zwangsläufig. GetDead braucht zumindest keine genaue Referenz. Es ist also nicht nötig Player.GetDead oder Wilbur.GetDead zu schreiben.
Allerdings ist das Skript ohne Referenz fehleranfällig, da es für jeden gilt. Stirbt ein Tier im Kampf mit einer Wache am anderen Ende der Welt, gilt das Skript auch für das Tier, auch wenn es so gar nicht gedacht war.
 
Zuletzt bearbeitet von einem Moderator: