Construction Set CreateFullActorCopy - Frage

Huhu,

Ich habe mal eine Frage zu diesem Befehl. Wie muss das Skript sein, dass vom Spieler eine Kopie erstellt wird, mit den selben Stats, die aber tot auf einem Bett liegt?
Ich habe schon viel nachgedacht, aber weiß einfach nichts. Eigentlich wollte ich die Kopie per disable solange verschwinden lassen bis sozusagen die Anforderungen, also dass der Spieler den Raum betritt erfüllt sind aber ich weiß nicht wie ich das anstellen soll.

Szene soll folgende sein, der Spieler betritt einen spärlich beleuchteten Raum und sieht lediglich Beine und Füße auf einem Bett, Oberkörper und Kopf sind verdeckt. Sobald er dann an das Bett tritt kann er per Scriptbefehl eine Lampe am Fuß des Tisches ansehen und sieht dann dass "er es selbst ist" und sobald er dann die Leiche anklickt wird eine Frage gestellt und diese erwacht dann und man muss sie besiegen. Bloss weiß ich einfach nicht wie ich das anstellen soll dass bereits die Kopie des Spielers tot auf dem Bett liegt. Geht das überhaupt? Ansonsten mache ich halt einen kopflosen Zombie der dann halt zum Spieler wird :p .

Liebe Grüße

Fruchti
 
Versuchs mal hiermit,das Script kommt am besten auf die Tür die in den Raum geht

Code:
scn ActorCopyScript

ref SpielerKopie
short DoOnce


Begin OnActivate
if Doonce == 0 
player.createfullActorCopy 
set SpielerKopie to player.createfullactorcopy ;wenn jetzt 2 SpielerKopien entstehen , dann lass die Zeile drüber Weg 
SpielerKopie.moveto [Hier die ReferenceID vom Bett]
SpielerKopie.kill 
activate
set Doonce to 1

End

Ich hoff mal ich hab nix vergessen :)
 
Du musst ja auch die Reference Editors ID benutzen.Außerdem musst du den Haken bei Persistent Reference machen .

Weißt schon wenn ma des Bett im Render Window doppelklickt :)
 
Das heißt: einfach das Bett im Render-Windoof doppelklicken und dann bei Editor Ref was ganz dummes eingeben, z.B.: "RamsesistdummunderklärtSachendieehklarsind" und gibts das dann in dein Script ein. Dann kannst du den Doppelgänger mit resurrect vor dem Spieler wiederbeleben, am besten mit nem coolen Shadereffect, aber as lassen wir mal....hoffe, das hilft dir weiter...
 
Noch eine Frage habe ich, und zwar, wie kann ich denn auf den Doppelgänger ein Script legen? Weil der "existiert" ja eigentlich im Editor noch nicht!

Edit: Und wie verhindere ich, dass er gelootet wird :)
 
Ausbeuten, die Gegenstände entfernen. Also, ich habe jetzt etwas gefunden, womit ich das machen kann, bloss ist dass Script dermaßen komplex dass es mich wundern würde wenn alles klappt.

Edit: So schauen die 3 Scripts nun aus. Das für HZDSäuleRevive ist eine Lampe, die am Ende des Bettes steht und auf das Bett einen Erzürnen AE mit 100 castet der die SpielerKopie anschließend aggressiv machen soll:

Und der Schlüssel am Fuße des Bettes leitet die Wiederbelebung ein:

Auf der Tür:

(HZDDoppelgängerCheck ist eine Global)

scn HZDActorCopyScript

ref SpielerKopie
short DoOnce


Begin OnActivate
if Doonce == 0
player.createfullActorCopy
set SpielerKopie to player.createfullactorcopy
SpielerKopie.moveto HZDDoppelgaengerBed
SpielerKopie.kill
activate
set Doonce to 1
set HZDDoppelgaengerCheck to 1
endif

End

Begin GameMode

Short Init
Short DoOnce
Float timer

If HZDDoppelgaengerCheck == 2
if DoOnce == 0
If Init == 0
set timer to 45
set timer to GetSecondsPassed
set DoOnce to 1
set Init to 1
endif
endif
endif

if timer == 40
PlaySound3D HZDHeartbeat
endif

if timer == 9
Cast HZDReviveDouble SpielerKopie
endif

if timer == 6
Set HZDDoppelgaengerCheck to 3
endif

end

Auf dem Key:

scn HZDKeyActivate

Short DoOnce

Begin OnActivate

If DoOnce == 0
If HZDDoppelgaengerCheck == 1
Activate
set HZDDoppelgaengerCheck to 2
DisablePlayerControls
endif
endif

end

Auf der Lampe:

scn HZDReviveSaeulen01

Short DoOnce

Begin GameMode

If DoOnce == 0
If HZDDoppelgaengerCheck == 3
PlaySound HZDMetalBang
Cast HZDReviveCompletition HZDDoppelgaengerBed
EnablePlayerControls
endif
endif

end


Ginge das so?

Maaaan, ist das kompliziert! Soviel Denken mag ich nicht! ^^
 
Zuletzt bearbeitet:
  • Like
Reaktionen: sinHHHans
Das er Aggro wird , musst du einfach ins Script schreiben , SpielerKopie.Start Combat player
:)

Zeig ma dein Script für das nicht looten