Things I wish I knew how to do....

Post » Tue Nov 20, 2012 7:09 pm

Hi, and hello!

First post here, but a long time Elderscrolls player. Recently having been bit by the modding bug, I'd figure I'd try my hand at creating my "perfect" Skyrim abode. However, I have run into several issues that I hope can be resolved here by you fine people!

First Issue/Question

Having just encountered this issue a few minutes ago, I will go ahead and start with this question. Is it possible to create a container using meshes from items that normally are affected by Havok, but when turned into containers do not move? Example, say I was created a container for Sunhallowed Elven Arrows from the Dawnguard DLC. I create the container, use the correct Meshes for the job, place it where I want, etc. etc. Load up the game, and bam! Little buggers are falling all over the place. They are still containers, but I would like for them to stay in place like a normal chest would.

Is this possible?

Solved by B1gBadDaddy!


Second Issue/Question

Is it possible to link containers? So that I have, lets say, two chests in the same room, and if you activate one and add or remove items from it, it does the same with the other chest? Not sure how else to explain this one, but if you require additional information, I'll do my best to provide it.


Third Issue/Question

Flickering lights. I have read up on a few articles about this huge annoyance, and have done my best to "fix" the issue, but is there any complete fix to prevent flickering lights? I'm told they are caused by having too many lights in close proximity, or too many lights in general.

Impossibru without the use of thirdparty dynamic lighting mods.




That is all, for now....


Thank you for your time, and any help would be greatly appricated!

Ty Hanson
User avatar
BEl J
 
Posts: 3397
Joined: Tue Feb 13, 2007 8:12 am

Post » Tue Nov 20, 2012 7:56 am

For the container, attach a script to it to make it static.

When you ADD SCRIPT, select

Defaultdisablehavokonload

Should do the trick :)
User avatar
Sylvia Luciani
 
Posts: 3380
Joined: Sun Feb 11, 2007 2:31 am

Post » Tue Nov 20, 2012 9:03 pm

For the container, attach a script to it to make it static.

When you ADD SCRIPT, select

Defaultdisablehavokonload

Should do the trick :smile:

Thank you very much for the quick response!

The method you described above works ALMOST! It does make it a static object, however, it would appear that upon the loading of the cell they are in, the containers are still affected by gravity or something. They fall in place, but once they are finished falling, become immovable. So a 50/50 win, really.

I currently have the containers "suspended" by the Imperial Chandellier Extension chain, if that makes any difference. (ImpChandellierExtension)
User avatar
carrie roche
 
Posts: 3527
Joined: Mon Jul 17, 2006 7:18 pm

Post » Tue Nov 20, 2012 1:51 pm

Have you ticked the box for Dont Havok Settle?

Right click the container in your cell window, select edit, go to 3D Data, and tick that box :)
User avatar
Louise
 
Posts: 3407
Joined: Wed Nov 01, 2006 1:06 pm

Post » Tue Nov 20, 2012 3:55 pm

Have you ticked the box for Dont Havok Settle?

Right click the container in your cell window, select edit, go to 3D Data, and tick that box :smile:

You know, I must have looked at that box like, alot... can't count really high tonight, need sleeps. Well, lets see if this works!
User avatar
Rebecca Dosch
 
Posts: 3453
Joined: Thu Jan 18, 2007 6:39 pm

Post » Tue Nov 20, 2012 7:49 am

Have you ticked the box for Dont Havok Settle?

Right click the container in your cell window, select edit, go to 3D Data, and tick that box :smile:

*squeals* Gah! It works! Thankyouthankyouthankyou! I'd give you a hug, but, sixual harrassment lawsuits don't sound really well right now.

Thank you so much! :3
User avatar
He got the
 
Posts: 3399
Joined: Sat Nov 17, 2007 12:19 pm

Post » Tue Nov 20, 2012 4:49 am

I assume that you are referring to the issue with dynamic lights in your third question. I remember seeing a tutorial on how to get past this issue just after CK was released. I think the solution was to use trigger volumes with scripts to disable lights that shouldn't be visible to the player, but are still close enough to cause problems with lights that should be visible. I'll check if I can find it and find out what the procedure was.

EDIT: http://skyrim.nexusmods.com/mods/10361 the tutorial. I think the idea is to switch between shadow casting and non-shadow casting lights at the appropriate time and place. So if the player is in one room, then you can switch the lights in all the other rooms to non-shadow casting or if you have a large corridor, then you switch between the two kinds of lights based on the distance between the player and the light.
User avatar
Sammygirl
 
Posts: 3378
Joined: Fri Jun 16, 2006 6:15 pm

Post » Tue Nov 20, 2012 5:55 am

Second Issue/Question

Is it possible to link containers? So that I have, lets say, two chests in the same room, and if you activate one and add or remove items from it, it does the same with the other chest? Not sure how else to explain this one, but if you require additional information, I'll do my best to provide it.


This isn't too hard, I plan on implementing something very similar to this in my own house mod. This is how I plan on doing it:

You want 2 different CONTAINER forms (ie "Container" base objects)

One of those container forms (base object) will have this code (or something similar on it)

Spoiler

;this code goes on the ChestChild ObjectObjectReference Property ChestChild AutoObjectReference Property ChestParent AutoEvent OnLoad()  ChestChild.BlockActivation()EndEventEvent OnActivate(ObjectReference akActionRef)ChestChild.BlockActivation()ChestParent.Activate(akActionRef) ;whoever is activating, not specific to playerEndEvent

Set your two chests in your room to both fill their own ChestChild property's. Have a third chest somewhere hidden out of sight which is the ChestParent object. You will need to fill this property for both chests. This can allow any number of containers to access a given parent.


*EDIT: BlockActivation() is implicit so you don't need a property for the child
User avatar
Darlene Delk
 
Posts: 3413
Joined: Mon Aug 27, 2007 3:48 am

Post » Tue Nov 20, 2012 12:34 pm



*squeals* Gah! It works! Thankyouthankyouthankyou! I'd give you a hug, but, sixual harrassment lawsuits don't sound really well right now.

Thank you so much! :3

Lol no problem :) ensure it works all the time though. Bash into it, shoot it with an arrow, load the game infront of it, exit the room and go back in, etc etc.

Just to ensure it won't ever move.
User avatar
CRuzIta LUVz grlz
 
Posts: 3388
Joined: Fri Aug 24, 2007 11:44 am

Post » Tue Nov 20, 2012 3:57 pm

I think I have an idea for number 2, but as usual I'm at work so it's from the top of my head:

Make yourself a new Activator and choose a vanilla container mesh for it and place this in your cell where you want it. Then place your actual container out of your cell in the void somewhere. Now double click on your activator, navigate to the "Activate Parent" tab, double click in the white space, then choose your container in the box that pops up. A line should appear to join tge two objects when one is selected in the render window. You can then ctrl+d the activator to duplicate it while preserving this link, then place the second one where you want

Regarding no3: I'm not sure what you mean by flickering lights. I used to have an issue where the shadows in my game used to jump all over the place. This got fixed by updating my graphics card drivers and tweaking the settings according to S.T.E.P

- Hypno
User avatar
Amanda savory
 
Posts: 3332
Joined: Mon Nov 27, 2006 10:37 am

Post » Tue Nov 20, 2012 7:28 am

I think I have an idea for number 2, but as usual I'm at work so it's from the top of my head:

Make yourself a new Activator and choose a vanilla container mesh for it and place this in your cell where you want it. Then place your actual container out of your cell in the void somewhere. Now double click on your activator, navigate to the "Activate Parent" tab, double click in the white space, then choose your container in the box that pops up. A line should appear to join tge two objects when one is selected in the render window. You can then ctrl+d the activator to duplicate it while preserving this link, then place the second one where you want

Regarding no3: I'm not sure what you mean by flickering lights. I used to have an issue where the shadows in my game used to jump all over the place. This got fixed by updating my graphics card drivers and tweaking the settings according to S.T.E.P

- Hypno

I have done as you have specified, but it does not work. Created two activators with the same mesh as the actual container, placed the actual container into the void, and linked them all in the Activate Parent tab. Upon trying to use the activators, it says, "Activate Container", but does nothing upon using the use key.
User avatar
Flutterby
 
Posts: 3379
Joined: Mon Sep 25, 2006 11:28 am

Post » Tue Nov 20, 2012 5:21 pm

I don't know that an object can have multiple activate parents.....

Have you attempted the method I suggested?
User avatar
Mackenzie
 
Posts: 3404
Joined: Tue Jan 23, 2007 9:18 pm

Post » Tue Nov 20, 2012 5:04 pm

It's really easy guys :smile: first remove the parent links etc.

Stick the chest somewhere in the void.

Then add a script to an activator you've created. Make the chest an ObjectReference property. Choose specific reference, and select your chest.

Make an actor property for the player called PlayerREF. Add an OnActivate event, and for the code:

ObjectReference property ChestProperty autoActor property PlayerREF autoEvent OnActivate(ObjectReference akActionRef)  if akActionRef == PlayerREF		ChestProperty.Activate(PlayerREF)endifEndEvent

Make sure your activator is rotated to 89.9 degrees, instead of 90, or 179.9 instead of 180. Sometimes activators don't work if not.

Also, make sure the player can activate the activator. Tick the box on the primitive to allow player activation. http://www.creationkit.com/Creating_Primitives#Primitive_Properties

This script can be used on anything the player can activate, and will always link to your 1 chest.
User avatar
Kayla Keizer
 
Posts: 3357
Joined: Tue Dec 12, 2006 4:31 pm

Post » Tue Nov 20, 2012 1:01 pm

Fair play, i thought it would work without the need for a script.

Maybe you need to use a "TrapLinker" (mentioned in the http://www.creationkit.com/Advanced_Traps_Tutorial) as a middle man

What we are going to do is set the TrapLinker as the activate parent of the Spear Trap, and then set the Pressure Plates as activate parents for the Trap linker. When the Pressure Plate is activated by an actor stepping on it, the trap linker also receives the activation and passes that on to the trap

I know that the tutorial is using it for traps and pressure plates, but should work, no?

- Hypno
User avatar
Nicholas
 
Posts: 3454
Joined: Wed Jul 04, 2007 12:05 am

Post » Tue Nov 20, 2012 8:30 pm

It's really easy guys :smile: first remove the parent links etc.

Stick the chest somewhere in the void.

Then add a script to an activator you've created. Make the chest an ObjectReference property. Choose specific reference, and select your chest.

Make an actor property for the player called PlayerREF. Add an OnActivate event, and for the code:

ObjectReference property ChestProperty autoActor property PlayerREF autoEvent OnActivate(ObjectReference akActionRef)  if akActionRef == PlayerREF		ChestProperty.Activate(PlayerREF)endifEndEvent

Make sure your activator is rotated to 89.9 degrees, instead of 90, or 179.9 instead of 180. Sometimes activators don't work if not.

Also, make sure the player can activate the activator. Tick the box on the primitive to allow player activation. http://www.creationkit.com/Creating_Primitives#Primitive_Properties

This script can be used on anything the player can activate, and will always link to your 1 chest.

Its going to take some time to see if I can get this to work. I've never worked with scripts before, apart from the previous one you mentioned about havok. Unsure how to make anything an ObjectReference or OnActivate.
User avatar
James Wilson
 
Posts: 3457
Joined: Mon Nov 12, 2007 12:51 pm


Return to V - Skyrim