Construction Set Foltern

Wolfslady

Moderatorin
Teammitglied
Ich möchte für meinen Mod eine Folterkammer bauen.
Aber wie platziere ich Fallen und stelle es so ein das man es per Schalter aktivieren kann.
Ausserdem möchte ich das bei betreten der Folterkammer dem Spieler ein Folterzauber hinzugefügt wird der bei Verlassen der Kammer wieder entfernt wird.
Ich möchte ausserdem das einer der Gefangen auf knopfdruck
gegen ein auswählbare Anzahl Monster kämpft.

Dabei sollen zur Auswahl stehen:

Kampf gegen:

Knorz
baliwog
Elytra
gehäuteter Hund


dann wieviele monster:

1
2
3
6
12
20

und wieviele npcs:

1
2
3
4
5
6



LG
Wolfslady
 
Zuletzt bearbeitet:
Das alles in einem Post zu erklären, dauert relativ lange.^^
Darum die Antwort auf die erste Frage.
Den Script für den Folterzauber musst du auf ein Objekt in der Cell, zB. die Tür, packen. Der sieht dann so aus:
Code:
scn AddFolterzauber

short var

Begin GameMode
If var == 0
If player.GetInCell [CellIDderFolterkammer]
player.AddSpell [SpellID]
set var to 1
Endif
Endif
Das war der erste.

Zu deiner zweiten Frage:
Aber wie platziere ich Fallen und stelle es so ein das man es per Schalter aktivieren kann.
Das glaube ich geht so (Script für den Schalter):
Code:
scn FallenAuslöser

Begin OnActivate
[FallenID].Activate
Endif
Das müsste klappen

Bei dem letzten Script muss ich noch überlegen.

MfG Gildur
 
  • Like
Reaktionen: bauer und Wolfslady
Ich möchte ausserdem das einer der Gefangen auf knopfdruck
gegen ein auswählbare Anzahl Monster kämpft.

eine gute Vorlage für so etwas sind die "Trainingsräume" aus "Kumiko Manor". Der Übungsraum für "Nahkampf" hat einen Hebel, der ein Skript auslöst, über das man sich ein paar Sparrings-Skelette herbeizaubern kann. Der Trick dabei ist, dass die Skelette nicht erst vom Skript "gemacht" werden, sondern bereits in einem versteckten Raum "herumstehen". Das Skript powered die Skelette nur ein bisschen auf und setzt sie dann in den Übungsraum.
Auf der Schießbahn ist das ähnlich geregelt: ein Hebel stellt den Dummy an die entsprechende Stelle.

Grüße
Andreas.
 
Zuletzt bearbeitet:
Folterzauber hinzufügen:

Du erstellst eine neue Tür-ID vom passenden Tür-Modell. Diese Tür kommt dann einmal an den Eingang und einmal an den Ausgang der Folterkammer-Cell, du benutzt also die gleiche Tür an beiden "Enden" (du weißt, was ich meine).
Auf die Tür kommt dann folgender Script:

Code:
scn MeinTollerTürScriptZumFolterZauberHinzufügen

short done

begin onActivate Player

if ( done == 1 ) [I];ist beim ersten Mal nicht so, nur beim zweiten Mal aktivieren[/I]
   Player.RemoveSpell [B]FolterzauberID[/B]
   set done to 2 [I];das Hinzufügen wird übersprungen...[/I]
elseif ( done == 0 ) [I];ist beim ersten Mal so[/I]
   Player.AddSpell [B]FolterzauberID[/B]
   set done to 1
elseif (done == 2 ) [I];...und beim nächsten Mal aktivieren erledigt[/I]
   set done to 0
endif

end
Die Fallen platzierst du so, wie gewohnt (ich gehe davon aus, dass du weißt, wie das geht. Wenn nicht gibt es x Tutorials dazu), passt die Scripts der Fallen aber so an, dass sie ihre Animation nur ein Mal durchlaufen, wieder in den ursprünglichen Zustand zurückkehren und dann bei erneutem Aktivieren funktionieren. Das kann ich dir aber nicht aus dem Kopf "machen", dazu müsste ich die jeweiligen Standardscripts sehen. Vergiss nicht, neue Scripts zu erstellen und den Fallen eine neue ID zu geben, damit du keine Standard-Inhalte zerstörst.

edit: @Gildur: Zu den Fallen: Nein, so geht das nicht. Die meisten Fallen haben Quest-abhängige Scripts, die unnötig werden oder gehen dann in einen "Loop" und spielen die selbe Animation immer und immer wieder ab, die Fallen lassen sich dann also nie wieder stoppen. Deswegen ist es wichtig, die Scripts der Fallen anzupassen. Als Trigger kann man einen ganz normalen Standard-Trigger nehmen, der das ausgewählte "Parent" ein Mal aktiviert und dann beim nächsten Mal wieder funktioniert. Dazu muss aber der Fallen-Script auch dementsprechend sein. Mit ein wenig Englischkenntnissen sieht man am Scriptnamen oder im Script der Falle, was sie genau macht (also ob sie dauerhaft läuft, einmal ausgelöst wird und dann nie wieder oder immer wieder ausgelöst werden kann).

Zum Folterzauber-Script: Das ist ein GameMode-Script, die haben immer den Nachteil, dass sie die Performance runterziehen, weil sie immer im Hintergrund in jedem Spielframe neu gestartet werden. Das ist bei so einem kleinen Script kein Problem, trotzdem würde ich immer versuchen, GameMode-Scripts zu vermeiden.

@Wolfslady: Das mit den Messageboxen und dem Tier platzieren ist es ein Bisschen schwieriger. Ein einfaches Tier auswählen und platzieren ist kein Problem, diese Funktion soll aber wahrscheinlich immer und immer wieder funktionieren, und da weiß ich leider auch nicht weiter. ;)

@Brandanus: Wie einen Absatz höher gesagt, da wird ja nur einmal das Skelett platziert und es ist wahrscheinlich unsterblich. Auf Knopfdruck wird es dann wieder entfernt. Das ist kein großes Problem, hier sollen ja aber bis zu 20 Gegner platziert werden, die getötet werden können sollen und immer wieder neu erscheinen sollen, wenn man die Funktion ein zweites Mal benutzt. Das ist aber weitaus schwieriger...
 
Zuletzt bearbeitet:
  • Like
Reaktionen: bauer und Wolfslady
Das glaube ich geht so (Script für den Schalter):
Code:
scn FallenAuslöser

Begin OnActivate
[FallenID].Activate
Endif
Das müsste klappen

Bei dem letzten Script muss ich noch überlegen.

MfG Gildur

das geht auch schneller glaub ich:
mann nimmt, z. B. einen Schalte, postiert ihn irgend wo im raum wo ihn der Spieler activieren soll. Dann macht doppel klick auf activator. dann auf Enable Parent klicken und dann auf select referens in objekt Window. dann mit dem fadenkreuz auf die falle. Dann mit OK bestätigen, das fenster.

so müste es schneller gehen.
 
  • Like
Reaktionen: bauer und Wolfslady