Construction Set Fesselkünste und Mod fragen....

cocostirc

Abenteurer
Animationen in Mod einbinden und Scriptingfragen....

Hy...

also ich benötige Hilfe in folgender Sache....

nachdem ich vergeblich nach so eine Mod gesucht habe. (hier) versuche ich jetzt etwas passendes für mich aus verschiedene andere mods zusammenzubasteln....Ich werde die Umsetzung meines mods kurz erläutern.
Und jetzt hab ich folgende Probleme wo ich keine Ahnung hab wie das laufen soll:

1. Versuche die Animationen aus diesen Mod in meine esp zu integrieren bloß hab leider keine Ahnung wie ich das anstellen soll.
Besser gesagt weil es um Gefangene geht sind es keine Animationen sondern eh bloß Posen.
Also ich habe hier ein Zauber gefunden der es ermöglicht via Skript einen Npc komplett zu Immobilisieren (läuft mit den setRestrained befehl) ich will jetzt diesen Zauber da rausholen, in Animationszauber zu integrieren und erweitern so das der npc in verschiedene Fesselanimationen (Auswahl) immobilisiert wird und er die Pose-Animation behält(ausführt) auch wenn der player den Raum(Cell) verläßt (So das man wenn man später wieder in dieser Zelle eintritt den Npc in selber Pose-Anim. findet. Wie kann man das machen ?

2. Ich habe auch verschiedene Posen nur für den Oberkörper gefunden.(sprich Hals,Becken und Hände fesseln die miteinander verkettet sind ) wie kann mann diese Posen als ein oberkörperkleidungsstück(zB Hands,Amulet,Tail) einfügen ? ...(ist gut weil man ihn mit der Pose praktisch am Oberkörper immobilisiert)

3. Benötige ein Skript als Zauber/verzauberte Waffe mit denen man Npc´s festnehmen kann.Das soll aussehen wie ein Companionskript aber ein bisschen anders. Praktisch (Skript greift auf NPC/Kreatur zu ) man berührt ihn mit der verzauberten Waffe oder via Zauber und dann hat man als Auswahl (wichtig, nicht als Dialog weil mann mit auswahl dann auch Kreaturen befehlen kann und denke das die Auswahl auch mit respawnende Npc´s besser funzt/weiß aber nicht ob es bei einzigartigen Charaktere auch tut ?? ) folgende Optionen: (mitkommen (wie bei companionmods Npc´s/Kreaturen folgen den Spieler) hier warten (wobei hier warten ihm erlauben soll (so wie bei CSR-mod) sich hinzusetzen,essen,schlafen,lesen und bewegen in einen sehr kleinen Radius diese ganzen Optionen sollen halt ein kleiner AI Tagesablauf simulieren.Bei Kreaturen nur das bewegen als KI option)und eben wieder freilassen(Skript greift nicht mehr drauf zu).
Ehrlich glaub eh das sich dieses Skript auf zwei oder mehr skripte aufteilen läßt deswegen noch verschiedene Dialog-Optionen einfügen wenn der Fesselskript drauf zugreift wie : (Das letzte Problem mit den Animationsposen) weil es eben auch Posen gibt die verschiedene Objekte anzeigen zB Pranker hab ich mir das so gedacht. Statische Objekte einfügen (Pranker,Andreaskreuz ) der bei Aktivierung (Skript)eben diese Pose/Animation ausführt (auf demjenigen der es aktiviert und ebenso den Script für Immobilisierung von obengenannten Zauber beeinhaltet das damit gewährt ist das sich der Npc nicht mehr bewegt). Und eben dann per Dialog den Npc dazu bringen (Skript) das er diesen statischen Objekt aktiviert. (Denke da als Beispiel an der Tänzerin oder die Mission mit der Folter im Käfig bei SI.)
So das wars jetzt sonst wirds zuviel wo ich momentan hilfe brauche und dafür wäre ich dankbar.......
 
Zuletzt bearbeitet:
Kennt sich denn niemand hier aus wie er mir in dieser Sache weiterhelfen kann oder ?:eek::shock: Das soll doch für die Profis hier ein fingerschnipsen sein denke ich mal.....
Also zu Punkt 1.
Habe jetzt mittels TESGEcko nur den Immobilisierungszauber(Fesseln/entfesseln) in den Animationsmod reinkopiert .
Das ist der
scn COMRestrainedSpell
ref Target
begin ScriptEffectStart
set Target to GetSelf
Target.SetRestrained 1
end
und das der
scn COMFreeRestrainedSpell
ref Target
begin ScriptEffectStart
set Target to GetSelf
Target.SetRestrained 0
end
so und hier ist der Zauber der mir erlaubt die Animationen auszuführen auf einen NPC :
ScriptName a000CTAddPoseScript
Begin ScriptEffectStart
if a000CTAddPoseQuest.target == 0
if IsActor
set a000CTAddPoseQuest.target to GetSelf
startQuest a000CTAddPoseQuest
else
Message "CTPose hinzufügen fehlgeschlagen. Ziel muß eine Person sein."
endif
else
Message "CTPose hinzufügen fehlgeschlagen. beschäftigt."
set a000CTAddPoseQuest.target to 0
endif
End
Soweit ich jetzt verstanden habe tut dieser Zauber nur diese "
ScriptName a000CTAddPoseQuestScript
float fQuestDelayTime
short onece
short menu
ref target
short major
short minor
Begin GameMode
if onece== 0
set onece to 1
Player.addSpell a000CTAddPose
Player.addItem a000CTAddPoseCrystal, 1
set fQuestDelayTime to 0.2
endif
if target == 0
set menu to 0
set major to -1
set minor to -1
StopQuest a000CTAddPoseQuest
return
endif
if menu == 0
if MenuMode == 1
return
endIf
set menu to 1
if major == -1
;; MessageBox "===[ M A I N M E N U ]===", "[ Menu verlassen ]", "[ Reset Current Pose ]", "< Major 0 >", "< Major 1 >", "< Major 2 >", "< Major 3 >", "< Major 4 >", "< Major 5 >", "< Major 6 >", "< Major 7 >"
;; MessageBox "===[ M A I N M E N U ]===", "[ Exit Menu ]", "[ Reset Current Pose ]", "< Major 0 >", "< Major 1 >", "< Major 2 >", "< Major 3 >", "< Major 4 >", "< Major 5 >", "< Major 6 >", "< Major 7 >"
;; MAIN MENU ‚ðƒXƒLƒbƒv‚µ‚ÄAí‚É Major 0 ƒƒjƒ…[‚ðŠJ‚&shy;ꇂÍAª‚Ì MessageBox ‚ðƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚©‚çA
;; ˆÈ‰º‚Ì“ñs‚̃Rƒƒ“ƒg‚ðŠO‚µ‚Ä‚&shy;‚¾‚³‚¢B
set major to 0
set menu to 0
elseif major == 0
;; MessageBox "==[ Major 0 ]==", "[ Back to Main ]", "< Minor 0 >", "< Minor 1 >", "< Minor 2 >", "< Minor 3 >", "< Minor 4 >", "< Minor 5 >", "< Minor 6 >", "< Minor 7 >", "< Minor 8 >"
MessageBox "==[ Fesseln ]==", "[ zurück zum Menü ]","< Position1 >", "< Position2 >", "< Position3 >", "< Position3b >", "< Sitzen1 >", "< Sitzen1b >", "< Stehen1 >","< Stehen2 >","zurückstellen"


elseif major == 1
;; MessageBox "==[ Major 1 ]==", "[ Back to Main ]", "< Minor 0 >", "< Minor 1 >", "< Minor 2 >", "< Minor 3 >", "< Minor 4 >", "< Minor 5 >", "< Minor 6 >", "< Minor 7 >", "< Minor 8 >"
MessageBox "==[ Haupt- 1 ]==", "[ zurück zum Menü ]", "< Neben 0 >", "< Neben 1 >", "< Neben 2 >", "< Neben 3 >", "< Neben 4 >", "< Neben 5 >", "< Neben 6 >", "< Neben 7 >", "< Neben 8 >"
elseif major == 2
;; MessageBox "==[ Major 2 ]==", "[ Back to Main ]", "< Minor 0 >", "< Minor 1 >", "< Minor 2 >", "< Minor 3 >", "< Minor 4 >", "< Minor 5 >", "< Minor 6 >", "< Minor 7 >", "< Minor 8 >"
MessageBox "==[ Haupt- 1 ]==", "[ zurück zum Menü ]", "< Neben- 0 >", "< Neben- 1 >", "< Neben- 2 >", "< Neben- 3 >", "< Neben- 4 >", "< Neben- 5 >", "< Neben- 6 >", "< Neben- 7 >", "< Neben- 8 >"
elseif major == 3
;; MessageBox "==[ Major 3 ]==", "[ Back to Main ]", "< Minor 0 >", "< Minor 1 >", "< Minor 2 >", "< Minor 3 >", "< Minor 4 >", "< Minor 5 >", "< Minor 6 >", "< Minor 7 >", "< Minor 8 >"
MessageBox "==[ Haupt- 1 ]==", "[ zurück zum Menü ]", "< Neben- 0 >", "< Neben- 1 >", "< Neben- 2 >", "< Neben- 3 >", "< Neben- 4 >", "< Neben- 5 >", "< Neben- 6 >", "< Neben- 7 >", "< Neben- 8 >"
elseif major == 4
;; MessageBox "==[ Major 3 ]==", "[ Back to Main ]", "< Minor 0 >", "< Minor 1 >", "< Minor 2 >", "< Minor 3 >", "< Minor 4 >", "< Minor 5 >", "< Minor 6 >", "< Minor 7 >", "< Minor 8 >"
MessageBox "==[ Haupt- 1 ]==", "[ zurück zum Menü ]", "< Neben- 0 >", "< Neben- 1 >", "< Neben- 2 >", "< Neben- 3 >", "< Neben- 4 >", "< Neben- 5 >", "< Neben- 6 >", "< Neben- 7 >", "< Neben- 8 >"
elseif major == 5
;; MessageBox "==[ Major 5 ]==", "[ Back to Main ]", "< Minor 0 >", "< Minor 1 >", "< Minor 2 >", "< Minor 3 >", "< Minor 4 >", "< Minor 5 >", "< Minor 6 >", "< Minor 7 >", "< Minor 8 >"
MessageBox "==[ Haupt- 1 ]==", "[ zurück zum Menü ]", "< Neben- 0 >", "< Neben- 1 >", "< Neben- 2 >", "< Neben- 3 >", "< Neben- 4 >", "< Neben- 5 >", "< Neben- 6 >", "< Neben- 7 >", "< Neben- 8 >"
elseif major == 6
;; MessageBox "==[ Major 6 ]==", "[ Back to Main ]", "< Minor 0 >", "< Minor 1 >", "< Minor 2 >", "< Minor 3 >", "< Minor 4 >", "< Minor 5 >", "< Minor 6 >", "< Minor 7 >", "< Minor 8 >"
MessageBox "==[ Haupt- 1 ]==", "[ zurück zum Menü ]", "< Neben- 0 >", "< Neben- 1 >", "< Neben- 2 >", "< Neben- 3 >", "< Neben- 4 >", "< Neben- 5 >", "< Neben- 6 >", "< Neben- 7 >", "< Neben- 8 >"
elseif major == 7
;; MessageBox "==[ Major 7 ]==", "[ Back to Main ]", "< Minor 0 >", "< Minor 1 >", "< Minor 2 >", "< Minor 3 >", "< Minor 4 >", "< Minor 5 >", "< Minor 6 >", "< Minor 7 >", "< Minor 8 >"
MessageBox "==[ Haupt- 1 ]==", "[ zurück zum Menü ]", "< Neben- 0 >", "< Neben- 1 >", "< Neben- 2 >", "< Neben- 3 >", "< Neben- 4 >", "< Neben- 5 >", "< Neben- 6 >", "< Neben- 7 >", "< Neben- 8 >"
else
MessageBox "Illegaler Staatlicher Fehler: Menü == %g, Haupt- == %g, Neben- == %g", menu, major, minor
set target to 0
endif
elseif menu == 1
if major == -1
short button
set button to GetButtonPressed
if button == -1
return
elseif button == 0 ;;; Cancel
set target to 0
elseif button == 1 ;;; Clear pose
set major to 999
set minor to 999
target.AddSpell a000CTPickIdle
set menu to 999 ;; dummy
else
set major to ( button - 2)
set menu to 0
endif
else if major >= 0 && major <= 7
short button
set button to GetButtonPressed
if button == -1
return
elseif button == 0 ;;; Back to Main
set major to -1
set menu to 0
else
set minor to (button - 1)
target.AddSpell a000CTPickIdle
set menu to 999 ;; dummy
endif
else
MessageBox "Illegaler Staatlicher Fehler: Menü == %g, Haupt- == %g, Neben- == %g", menu, major, minor
set target to 0
endif
endif
E
" ein bzw ausschalten. Diese miniQuest an sich tut dann den Menü anzeigen lassen mit den Auswahlmöglichkeiten.
Ich will jetzt den Fessel/Enfesselzauber jetzt da so einfügen das wenn man den Animationszauber auf ein NPC ausführt und die Pose gewählt hat er so in dieser Pose immobilisiert bleibt und sich nicht mehr bewegt. Wo genau muß ich diese Parameter denn einfügen ?
Ausserdem möchte ich das wenn der Spieler den Raum(Zelle) verläßt und dann später wiederkommt der NPC in derselben Pose wiederfindet indem er war wo der Spieler den Raum verlassen hat.(Ist momentan so das man ihn zwar dort findet aber die Pose-Animation ist weg) Ebenso wenn der NPC in dieser Pose ist und man ihn ansprechen will sollte er dadurch nicht die Pose"Animation" verlieren.(sollte mit Pickidle gehen so weit ich mich schlaugemacht habe). So wie die Skripte hier sind funzt das aber nicht. Das einzige wo mann die Pose behält ist wenn mann den Animationszauber per Kristallkugel auf sich selber ausführt. Dann kriegt mann eine
ScriptName a000CTPickIdleScript
Begin ScriptEffectStart
if a000CTAddPoseQuest.target == GetSelf
pickIdle
; Message "pickidle: target=%g, major=%g, minor=%g", a000CTAddPoseQuest.target, a000CTAddPoseQuest.major, a000CTAddPoseQuest.minor
else
MessageBox "CTPose-behalten Skript gestartet: Illegaler Staatlicher Fehler."
endif
End
Begin ScriptEffectUpdate
; Message "finish: target=%g, major=%g, minor=%g", a000CTAddPoseQuest.target, a000CTAddPoseQuest.major, a000CTAddPoseQuest.minor
set a000CTAddPoseQuest.target to 0
set a000CTAddPoseQuest.major to -1
set a000CTAddPoseQuest.minor to -1
RemoveSpell a000CTPickIdle
End
und kann auch die Zelle verlassen ohne das die Pose-Animation weg ist. Wie gesagt funktioniert nur auf sich selber....
Kann mir jemand dazu was sagen Bitte ? (Habe alle Scripte jetzt in Spoilerform angehängt)