Jump to content

Open style power armor frame to show players body/armor


anarchy1990

Recommended Posts

So I've been making edits to the power armor frame, essentially deleting the front torso, butt section and leg and arm rubber bits to show off the cbbe body. To eventually use along side paam (power armor alternative meshes)

However...

The equipped frame the game uses comes with a road leathers raider body inside, and whilst switching the body for a cbbe body wouldn't be hard - it wouldn't be realistic, as non of your equipped armor/clothing would show up (unless the specific armor/clothing was modeled into the frame, which would ruin the immersion/customisation feel.

 

I imagine that a script could be used to check your currently equipped armor/clothing and player body and copy and layer them at the right position within the power armor frame. Great, but the scripted body and armor pieces would have to somehow be weighted/aligned to the frames skeleton (otherwise everything would just hover there while you walk around)

 

This seems pretty doable - like adding extra armor slots to the regular player, like the mod - extra armor slots - but for power armor instead.

 

Could anyone here offer help in scripting this? Tips, advice, suggestions etc. I'm a 3d modeler and animator, and fully committed to making this happen, but I can't script, (I will learn if necessary but I'm hoping for script savy fellow enthusiast that can help)

Someday soon there will be a "sexy" power armor mod damn it, I promise you.

 

Any help at all would be massively appreciated! Apologies for the long post ^.^

Link to comment
Share on other sites

I suggest downloading a Power Armor mod from the Nexus that uses the CBBE Body shape and then checking out the scripts, and then translating it into your mod. Just don't use any assets as it breaks the Nexus terms of service.

My other suggestion would be to learn Papyrus, but I myself do not know the coding language so I could not really help you out there sadly.

 

Other than that I wouldn't know I'm afraid :/

 

-DogX

Link to comment
Share on other sites

I suggest downloading a Power Armor mod from the Nexus that uses the CBBE Body shape and then checking out the scripts, and then translating it into your mod. Just don't use any assets as it breaks the Nexus terms of service.

My other suggestion would be to learn Papyrus, but I myself do not know the coding language so I could not really help you out there sadly.

 

Other than that I wouldn't know I'm afraid :/

 

-DogX

Using others assets is a legal matter involving copyright laws enforced in the UK and US as well as the rules set by Bethesda themselves. So it is more then just a breach of Nexus rules.

Link to comment
Share on other sites

I suggest downloading a Power Armor mod from the Nexus that uses the CBBE Body shape and then checking out the scripts, and then translating it into your mod. Just don't use any assets as it breaks the Nexus terms of service.

My other suggestion would be to learn Papyrus, but I myself do not know the coding language so I could not really help you out there sadly.

 

Other than that I wouldn't know I'm afraid :/

 

-DogX

The only CBBE armor frame mod I know of that uses Papyrus scripts is PAAM, the rest use the vanilla system; specific armor items, keywords, and hope. Though I will say I think that this use case is exactly what the vanilla system was designed for, so I perhaps wouldn't suggest Papyrus.

 

The vanilla system - as I remember it anyway - looks through what items a character has equipped, trying to find one with a keyword - for example, "usePowerArmorFrameBoS" - corresponing with a matching one on any entry in the "PowerArmorFramesList" Formlist. Custom keywords are very possible.

 

The primary flaw with it is that it seems to go with whichever one it finds first. So if for example; you have a hat on that has the keyword "usePowerArmorFrameVault", if the system finds that one first it will ignore any other items you have.

Link to comment
Share on other sites

You might find it beneficial to setup a reference alias with scripts + conditions and apply the alias at runtime with a running quest or something like that, have it register for the event when player enters power armor. This way you could override everything.
Link to comment
Share on other sites

You might find it beneficial to setup a reference alias with scripts + conditions and apply the alias at runtime with a running quest or something like that, have it register for the event when player enters power armor. This way you could override everything.

I've got to learn that alias system one of these days.

 

event when player enters power armor

If we're talking Papyrus events, there isn't one. Not unless they added it in a patch. You have to watch for entering furniture, and both entering and leaving power armor triggers that.

Link to comment
Share on other sites

Mmm. Nice of them to not have an event specific to PA if thats the case.

 

Perhaps you could still have an alias, and then on the running quest detect the furniture in general, and then check the conditions for the keyword and apply the alias if one of the keywords is present, then on the alias script run code to check the actual base object or even formid and then apply a custom function.

 

Thats my 2 minute teoubleshoot :)

Link to comment
Share on other sites

Mmm. Nice of them to not have an event specific to PA if thats the case.

 

Perhaps you could still have an alias, and then on the running quest detect the furniture in general, and then check the conditions for the keyword and apply the alias if one of the keywords is present, then on the alias script run code to check the actual base object or even formid and then apply a custom function.

 

Thats my 2 minute teoubleshoot :smile:

Here's how I did it, away back when:

 

 

Event Actor.OnSit( Actor akSender, ObjectReference akFurniture )

	Debug.Trace("[UniquePAFrame]:Actor.OnSit:" + akSender + " just entered " + akFurniture)

	if akFurniture == Self
		
		Debug.Trace("[UniquePAFrame]:Actor.OnSit:- Furniture was SELF ")

		if akSender.IsInPowerArmor() == 1 && Self.Is3DLoaded()
			Debug.Trace("[UniquePAFrame]:Actor.OnSit:-- akSender is  in power armor")
			Debug.Trace("[UniquePAFrame]:Actor.OnSit:-- Self is 3D loaded")
		elseif akSender.IsInPowerArmor() == 1 && !Self.Is3DLoaded()
			Debug.Trace("[UniquePAFrame]:Actor.OnSit:-- akSender is  in power armor")
			Debug.Trace("[UniquePAFrame]:Actor.OnSit:-- Self is not 3D loaded")
			
			AddFrame( akSender )
			
			UnregisterAll()
			
		elseif Self.IsFurnitureMarkerInUse(0)
			
			Debug.Trace("[UniquePAFrame]:Actor.OnSit:-- Furniture Marker 0 is being used")
			
			Utility.Wait(1)
			if akSender.IsInPowerArmor() == 1 && !Self.Is3DLoaded()
				Debug.Trace("[UniquePAFrame]:Actor.OnSit:--- akSender is in power armor")
				Debug.Trace("[UniquePAFrame]:Actor.OnSit:--- Self is not 3D loaded")
				Debug.Trace("[UniquePAFrame]:Actor.OnSit:--- This is considered normal, but I haven't seen it happen")
				
				AddFrame( akSender )
				
			elseif akSender.IsInPowerArmor() == 1 && Self.Is3DLoaded()
				Debug.Trace("[UniquePAFrame]:Actor.OnSit:--- akSender is in power armor")
				Debug.Trace("[UniquePAFrame]:Actor.OnSit:--- Self is 3D loaded")
				Debug.Trace("[UniquePAFrame]:Actor.OnSit:--- This is abnormal, unless perhaps if furniture is being used via PA workbench?")
			else
				Debug.Trace("[UniquePAFrame]:Actor.OnSit:--- akSender is not in power armor", 2)
				Debug.Trace("[UniquePAFrame]:Actor.OnSit:--- Self is 3D loaded", 2)
				Debug.Trace("[UniquePAFrame]:Actor.OnSit:--- This should not happen (haha)", 2)
			endif
			
			UnregisterAll()
			
		elseif Self.IsFurnitureMarkerInUse(1)
			Debug.Trace("[UniquePAFrame]:Actor.OnSit:-- Furniture Marker 1 is being used")
			
		else
			Debug.Trace("[UniquePAFrame]:Actor.OnSit:-- Neither Furniture Marker was being used", 1)
			Debug.Trace("[UniquePAFrame]:Actor.OnSit:-- akSender is not in power armor", 1)
		endIf

	else
		Debug.Trace("[UniquePAFrame]:Actor.OnSit:- Furniture was not Self")
		ActorUnregisterAll(akSender)
	endif
	
	Debug.Trace("[UniquePAFrame]:Actor.OnSit: End")
endEvent

 

 

Though was operating from the frame itself, not from a quest.

Link to comment
Share on other sites

Thanks for the excellent replies guys!

Very much appreciated!

 

(I'm starting to make the "final" model edits now, and I'm thinking of uploading a Proof of concept mod to the nexus once it's functional enough to start applying scripts.)

 

And thanks Galvon94 for your replies. Very interesting. Considering that the game already looks for keywords like "usePowerArmorFrameBoS" that sounds like an easy way forward. Shame that it only reads the first keyword, a custom script to run more keyword searches will probably be needed.

Link to comment
Share on other sites

My thoughts are not to tie scripts to the vanilla frames so there is no problem on uninstall regarding save games, but however you decide is best. Or you just putting it on custom frame?

Link to comment
Share on other sites

  • Recently Browsing   0 members

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