Jump to content

Making Double Beds for Settlers.


vonBennett

Recommended Posts

I am making a settlement mod and I want the beds provided in the mod. I am trying to make double beds for the settlers using the vault beds. I did a technique where I used pillows (basically using the bed form but substituting pillow nif file) and placed them on a static bed. It seemed to work in game as I was able to assign settlers to the pillows (two settlers per bed) but when they got up in the morning, the pillows moved off the bed; didn't think they would move as the are basically two beds placed on a static bed. Anyway, is there anyway I can lock the pillows down on the bed so they don't move? Thanks.

 

B....

Link to comment
Share on other sites

I think your problem is that pillow meshes have havok. It's a property of the mesh, if you just use the vanilla mesh, there's nothing you can do.

 

I suggest making a new mesh: find some NON-HAVOK mesh of roughly the same size. Open it in NifSkope, remove the TriShape, and put in the TriShape of the pillow.

 

To see if something is havok-enabled, place it down in the CK and press F4. Red and violet outlines are fine. Blue or white are bad.

Link to comment
Share on other sites

You can use a vanilla mesh, but you'll need to attach a new script to change the motion type to Keyframed:

 

https://www.creationkit.com/fallout4/index.php?title=SetMotionType_-_ObjectReference

Bool AlreadySetToKeyframed = False

Event OnLoad()
	;// Note that the exclamation mark (!) stands for NOT (if AlreadySetToKeyframed is NOT true), 
	;// so this condition avoids changing the motion type more than once.
	If !AlreadySetToKeyframed 
		SetMotionType(Motion_Keyframed)
		;// Once changed, set this variable to True so the conditional 
		;// (If !AlreadySetToKeyframed) will evaluate as false on the next load.
		AlreadySetToKeyframed = True
	EndIf
EndEvent
Edited by DieFeM
Link to comment
Share on other sites

 

You can use a vanilla mesh, but you'll need to attach a new script to change the motion type to Keyframed:

 

https://www.creationkit.com/fallout4/index.php?title=SetMotionType_-_ObjectReference

Bool AlreadySetToKeyframed = False

Event OnLoad()
	;// Note that the exclamation mark (!) stands for NOT (if AlreadySetToKeyframed is NOT true), 
	;// so this condition avoids changing the motion type more than once.
	If !AlreadySetToKeyframed 
		SetMotionType(Motion_Keyframed)
		;// Once changed, set this variable to True so the conditional 
		;// (If !AlreadySetToKeyframed) will evaluate as false on the next load.
		AlreadySetToKeyframed = True
	EndIf
EndEvent

Thank you. I will give this a try.

 

 

This is what I have in the script editor:

 

Scriptname vonBennett_Pillow extends ObjectReference Const

 

Bool AlreadySetToKeyframed = False

 

Event OnLoad()

;// Note that the exclamation mark (!) stands for NOT (if AlreadySetToKeyframed is NOT true),

;// so this condition avoids changing the motion type more than once.

If !AlreadySetToKeyframed

SetMotionType(Motion_Keyframed)

;// Once changed, set this variable to True so the conditional

;// (If !AlreadySetToKeyframed) will evaluate as false on the next load.

AlreadySetToKeyframed = True

EndIf

EndEvent

 

 

I am getting an error message when I compile:

 

Copyright © ZeniMax Media. All rights reserved.

Starting 1 compile threads for 1 files...

Compiling "vonBennett_Pillow"...

C:\Users\Michael Bennett\AppData\Local\Temp\PapyrusTemp\vonBennett_Pillow.psc(3,0): const scripts may not contain data, script variable AlreadySetToKeyframed cannot be defined

C:\Users\Michael Bennett\AppData\Local\Temp\PapyrusTemp\vonBennett_Pillow.psc(16,0): mismatched character '<EOF>' expecting '/'

C:\Users\Michael Bennett\AppData\Local\Temp\PapyrusTemp\vonBennett_Pillow.psc(16,0): no viable alternative at input '<EOF>'

No output generated for vonBennett_Pillow, compilation failed.

 

Batch compile of 1 files finished. 0 succeeded, 1 failed.

Failed on vonBennett_Pillow

Edited by vonBennett
Link to comment
Share on other sites

const scripts may not contain data, script variable AlreadySetToKeyframed cannot be defined

 

 

Remove const from the header.

 

mismatched character '<EOF>' expecting '/'

no viable alternative at input '<EOF>'

 

Well... it seems that while I was trying to format the comments in a way that they were "compatible" in the script and in the forum I've, unintentionally, used the multi-line comment notation, which I didn't even knew:

 

;/ multi-line

block

comment /;

 

Just remove the comments from the script, or close the comment blocks with /;

Link to comment
Share on other sites

 

const scripts may not contain data, script variable AlreadySetToKeyframed cannot be defined

 

 

Remove const from the header.

 

mismatched character '<EOF>' expecting '/'

no viable alternative at input '<EOF>'

 

Well... it seems that while I was trying to format the comments in a way that they were "compatible" in the script and in the forum I've, unintentionally, used the multi-line comment notation, which I didn't even knew:

 

;/ multi-line

block

comment /;

 

Just remove the comments from the script, or close the comment blocks with /;

 

Thank you, that did the trick. I am going to be testing things out to see if the new beds work. Thanks again.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...