Zero health actors, in lists?

Post » Thu Jun 21, 2012 6:37 am

Just wondering if it's possible to add zero health actors (i.e. corpses), into actor lists? All corpses I've seen in the editor are hand placed, and have a tick box property "Stars dead".
Corpse actors all have a health value.

If this is the way Skyrim deals with initially dead actors, it's very inflexable for what I want to do.
User avatar
Sanctum
 
Posts: 3524
Joined: Sun Aug 20, 2006 8:29 am

Post » Thu Jun 21, 2012 9:00 am

Zero-health actors and corpses are not the same in Skyrim. You can test this on any actor using GetAV/SetAV on their "Health" attribute. I'm not 100% sure of the reason for this change but I suspect it's the new scripting system Papyrus. It runs on events on if you short-cut an Actor's health to 0 you skip two, OnDying and OnDeath. And the game relies on those events to do house cleaning and special effects.

So yes. It's fine to add zero-health Actors in lists. But if you want to dynamically place them as corpses you're going to have to do something like:

IF (PlacedActor.GetAV("Health") == 0)     PlacedActor.Kill()ENDIF

There may be a way around this but if there is I don't know it. :)
User avatar
Oceavision
 
Posts: 3414
Joined: Thu May 03, 2007 10:52 am

Post » Thu Jun 21, 2012 7:29 am

hmm.

So, as usual, something simple that I want to do and have done before is now more complex.

Already have the issue where spawn markers are always 100% chance, which is damn annoying. Plus, actors with scripts on them lose their scripts if placed in levelled lists (hence why no ghosts/wisps/wisp mothers in levelled lists by default).

Perhaps I need to change my thinking/approach for a solution. What I want to do is place some spawn markers that produce vermin, or things that eat corpses, or dead corpses/skeletons. These markers will be placed where there is a lot of blood/guts/bones/impaled bodies, etc, etc. The idea then is that the player might encounter scavengers at these locations, and the extra spawns allows for extra interaction between player/actors.

I'd like to try to avoid scripting if possible, as I'm not really up for learning a new language, but could papyrus be used to add a random % chance to spawn to a levelled list?
User avatar
emma sweeney
 
Posts: 3396
Joined: Fri Sep 22, 2006 7:02 pm

Post » Thu Jun 21, 2012 1:46 pm

I'd like to try to avoid scripting if possible, as I'm not really up for learning a new language, but could papyrus be used to add a random % chance to spawn to a levelled list?

Interesting idea! That doesn't sound too difficult, really. It only takes one simple command to place an actor. The work would come from emulating a leveled list since Papyrus doesn't have native support for them (that I'm aware of).

First you'd need to make a FormList for each level range. Like Vermin1-8, Vermin9-20, etc. This is really easy to do... just drag-n-drop the actors you want into each list.

Second you'd place a trigger somewhere near your spawn marker. This will activate when a player got near and would call your script.

Third would be the script itself. It would decide if any vermin should spawn then use the player's level to decide which list to use and place something from that list.

It could use a lot of randomization if you want. Initially should there be anything at all. Then should it place 1, 2 or 3 types of vermin. Then how many of each vermin to place. Etc.
User avatar
Kerri Lee
 
Posts: 3404
Joined: Sun Feb 25, 2007 9:37 pm


Return to V - Skyrim