Is it possible to ragdoll a live actor?

Post » Tue Jun 19, 2012 7:47 am

I would love the ability to knock a character unconscious, but not have to apply a paralyze effect that makes them stiff as a board. Is there a way to just force an actor to go limp as though they are dead? Or can such a thing be done by temporarily killing the actor then resurrecting them through script after a certain amount of time? Would there be loss of data/equipment in that case?
User avatar
Kira! :)))
 
Posts: 3496
Joined: Fri Mar 02, 2007 1:07 pm

Post » Tue Jun 19, 2012 11:56 am

Try http://www.creationkit.com/PushActorAway_-_Actor, telling an actor to push itself with 0 force.

Cipscis
User avatar
Nauty
 
Posts: 3410
Joined: Wed Jan 24, 2007 6:58 pm

Post » Tue Jun 19, 2012 3:25 pm

Very nice! Thank you! :-D
Would there be a way to keep the actor down for a certain amount of time?
User avatar
KU Fint
 
Posts: 3402
Joined: Mon Dec 04, 2006 4:00 pm

Post » Tue Jun 19, 2012 11:14 am

Yes, you could let your script wait 1 or 2 seconds, so the ragdoll hit the ground, then PushActorAway repeatedly in short intervals. He will twitch a little on the ground ;)
User avatar
Noraima Vega
 
Posts: 3467
Joined: Wed Jun 06, 2007 7:28 am

Post » Tue Jun 19, 2012 2:18 pm

I have tried to use PushActorAway on the player in an spell script it did not give any result.
does targetref. PushActorAway(targetref,0) work or do you need an external pusher?
User avatar
Tyrel
 
Posts: 3304
Joined: Tue Oct 30, 2007 4:52 am

Post » Tue Jun 19, 2012 12:27 pm

The pusher has to be an objectreference, the target has to be an actor. This works if you don't have an external pusher, but the actor:

   	 ObjectReference ThePusher = TheActor as ObjectReference   	 ThePusher.PushActorAway(TheActor, 0.0)

Also if you want to keep him down, don't set the interval between pushes too low. I did it with 0.1 second intervals and the guy got pushed through the floor, then appeared somewhere else in the room later

Update:
a great way to keep him down is to do PushActorAway() and then after two seconds cast a paralysis spell on him - this will make him stiff, but it looks better than the constant twitching.
User avatar
Jennie Skeletons
 
Posts: 3452
Joined: Wed Jun 21, 2006 8:21 am

Post » Tue Jun 19, 2012 2:37 pm

You don't need to cast your http://www.creationkit.com/Actor_Script to an http://www.creationkit.com/ObjectReference_Script in order to call http://www.creationkit.com/PushActorAway_-_ObjectReference on it. This should work in exactly the same way as the code you posted:
TheActor.PushActorAway(TheActor, 0)

Cipscis
User avatar
Helen Quill
 
Posts: 3334
Joined: Fri Oct 13, 2006 1:12 pm

Post » Tue Jun 19, 2012 4:23 am

Further testing:
http://www.creationkit.com/SetUnconscious_-_Actor seems to do the same thing, however in my tests the ragdolls were quite bugged. The best results so far were achieved this way:

- PushActorAway()
- add Paralysis effect to the Actor as long as you want to keep him down
- Actor will stand up once all the effects are gone
User avatar
gemma
 
Posts: 3441
Joined: Tue Jul 25, 2006 7:10 am


Return to V - Skyrim