Jump to content

Recommended Posts

Posted
On 10/17/2023 at 11:45 AM, Karna5 said:

Hi, JB. I hope you're well. I realize that kziitd and egoballistic are probably working on actual legless animations, but I thought you might be interested in the results of some testing I did today using the High Heel system to lower the body on a legless mesh using regular animations. It works pretty good, especially if running is disabled (because running has too much vertical movement).

 

Here's a film of how my tests look:

 

 

For the armor record of the mesh I used the following settings:

  Reveal hidden contents

 


Stump_test.jpg.f933d7a1e6f8394eb89f3a52f4542c00.jpg
 

 

I realize most people use text files for the high heel system, but personally in my mashups I always put the settings right into the armor records.

 

For my test mesh I set the amputation points to match the Raider Reform School Amputate tattoos (the "amputate below this line" tattoo) because I think it looks great with the amputations actually at those lines. But one can do any location on the amputations, adjusting the offset in the high heel system as needed.

 

For sex and other animations I have to manually disable the HHS because I don't know how to get AAF to do that automatically. So I hotkey the HHS toggle to ctrl-H and turn the HHS on or off as needed. It would be nice if there was an AAF stetting to disable HHS automatically, but I haven't been able to figure it out. I do have my AAF set to only strip male characters of their slot 33 but never strip female characters (because I use mashups to control bodies).

 

If you'd like my bodyslide file for the outfit, if you want to play around with legless stuff, I'm attaching it here. It uses the same material files as the TRS mod by HN66 which I know you already both have and have permission to use in your mods.

 

This isn't as perfect as actual legless animations, but I think combined with stuff you already do such as making people look uncertain when they walk or stand, and by disabling the ability to run, I think it's not bad.

 

It would be better if it was possible to automatically toggle HHS during AAF animations, but at least it can be done manually.

 

 

 

 

 

 

 

Stump Test BS Files.7z 5.42 MB · 72 downloads

 Hello, i know its been a while since you posted this, but i wanted to ask how did you manage it, i tried installing the test files but they dont show in game, and i tried creating a heel in the HHS system but it doesn seem to like negative values (as in Height:-47) tried setting the values from the FoEdit for the Amputator caps, but they dont apply the when i wear the caps in game, i would greatly appreciate if you shared some know how

Posted
7 minutes ago, sandy ghostraven said:

 Hello, i know its been a while since you posted this, but i wanted to ask how did you manage it, i tried installing the test files but they dont show in game, and i tried creating a heel in the HHS system but it doesn seem to like negative values (as in Height:-47) tried setting the values from the FoEdit for the Amputator caps, but they dont apply the when i wear the caps in game, i would greatly appreciate if you shared some know how

Hi, Sandy Ghostraven. I haven't had a working Fallout 4 since last year when the "next gen" patch came out. So what I said is going off an old memory.

 

What I made was clunky, just a proof of concept test. I first created a BodySlide project using Outfit Studio to amputate the legs and arms and put caps on them. I deleted the bones on the caps then copied the reference body's bones onto them so they'd all stay where they belong and move with the limbs. Then I created a plugin with Armor Addon and Armor records to bring the amputated body in game, and in one of those plugin records (I think it was the armor record, but I could be wrong) I set the Heel height to a negative level. I then went in game with the outfit on and tweaked figured out how far off I was on the height then fixed the plugin.

 

Also, FYI, I'm pretty sure the High Heel System I used before the patch wasn't ported to next gen (I could be wrong as I haven't checked in half a year). So I don't even know if you can still set the height in the plugin. I'm guessing you can with whatever the new High Heel System is for Next Gen.

 

Here's the thing, though. You don't have to do any of that. The Amputator mod does that all way, way, way, way better.

Posted

SUP F4SE is dead. So if anyone is trying to install this on NG you'll have to wait for this to be updated to function without it, roll back to a previous version of FO4, or wait for SUP F4SE to be update (very unliked since the creator has been MIA in his discord for over a year.) Hope this helps someone smashing their face into their monitor like I was. Cheers!

  • 3 weeks later...
  • 1 month later...
Posted

Testing a version of this I adapted for NG. So far so good - can share if it keeps working and there's interest. Basically implemented the SUP node functions in the Papyrus Common Library framework. 

  • 2 weeks later...
Posted
On 8/3/2025 at 9:28 PM, hildm1 said:

Testing a version of this I adapted for NG. So far so good - can share if it keeps working and there's interest. Basically implemented the SUP node functions in the Papyrus Common Library framework. 

Can you share it with me? I think SUP F4SE author might not be available for a long time due to the place he lived

Posted
On 8/3/2025 at 11:28 AM, hildm1 said:

Testing a version of this I adapted for NG. So far so good - can share if it keeps working and there's interest. Basically implemented the SUP node functions in the Papyrus Common Library framework. 

 

3 minutes ago, joe_yawiki said:

Can you share it with me? I think SUP F4SE author might not be available for a long time due to the place he lived

 

There is interest. 👀 

 

I often say that F4SUP is the only reason I don't upgrade my Fallout.

Posted

@joe_yawiki @JB. here you go. Two files - 0.91 amputator (minimal changes) and SUPCL, which is a partial mashup of SUP F4SE and the Papyrus Common Library.

https://mega.nz/file/zxgTQRwR#VTfH2trApyYur5nY5hHNRPy273m3lkWe47SCRGsFr-U
https://mega.nz/file/XlQyWKDL#WPXigdMxIdrYoIZdFy8hctQfSJYVLHhkBLor27AxAwM

 

I can code, but not in C++ and not much in Papyrus. This is AI generated and probably rough as hell. Fed Cursor the source code of both SUP and PCL and asked it to put the SUP node functions into PCL. This was painless once I switched to Windows, so I bet other functions could be replicated similarly. Only caveat is that it didn't work well with KFT on my PC - but worked beautifully without.

  • 1 month later...
Posted (edited)

When the legs are amputated, the character's entire body disappears. What should I do?
I've checked the items, and if I just put them on, everything is fine.
If Amputator puts them on, the body disappears.
Edit: I found out that the body is disappearing because of the modified Papyrus Common Library

Edited by stas2503
  • 3 weeks later...
Posted (edited)

@JB. In regards to the non-missing arms, would a reinstall of SUP help? I also tried to have it load in the "elevated patches" section. 

Playing through the most recent CS, and I am having the same arm issue. My character does not but those that do have the same arm to the wrist thing. I tried to follow the thread but did not see a suggestion. Is it my potato pc?

 

P.S. shot in the dark, Ima try those two files above.

Edited by Madscout
Posted
4 hours ago, Madscout said:

@JB. In regards to the non-missing arms, would a reinstall of SUP help? I also tried to have it load in the "elevated patches" section. 

Playing through the most recent CS, and I am having the same arm issue. My character does not but those that do have the same arm to the wrist thing. I tried to follow the thread but did not see a suggestion. Is it my potato pc?

 

P.S. shot in the dark, Ima try those two files above.

The altered Amputator mod above also works with the standard Papyrus Common Library

Posted (edited)

What's funny is, on the first run-through, the amputations looked normal (amputated) except for faint (2d?) arm that could really only be seen from an angle. Sort of like the original effect with the plugs in DD when attached to fusion girl, when the plugs were sort of 2d, something about extra bones? I tried to set the mod to load in the "patches" section. Then a reload the arms looked like the example from previous comment on this thread. Thank you @judge007, I will remove the secondary file because it seemed to not help my issue by adding the 2, so I will try just the 1 updated amputate file.

 

Edited by Madscout
Posted (edited)
On 8/25/2025 at 9:41 PM, hildm1 said:

@joe_yawiki @JB. here you go. Two files - 0.91 amputator (minimal changes) and SUPCL, which is a partial mashup of SUP F4SE and the Papyrus Common Library.

https://mega.nz/file/zxgTQRwR#VTfH2trApyYur5nY5hHNRPy273m3lkWe47SCRGsFr-U
https://mega.nz/file/XlQyWKDL#WPXigdMxIdrYoIZdFy8hctQfSJYVLHhkBLor27AxAwM

 

I can code, but not in C++ and not much in Papyrus. This is AI generated and probably rough as hell. Fed Cursor the source code of both SUP and PCL and asked it to put the SUP node functions into PCL. This was painless once I switched to Windows, so I bet other functions could be replicated similarly. Only caveat is that it didn't work well with KFT on my PC - but worked beautifully without.

 

I was thinking you should be able to just do it in Papyrus with PCL, did you happen to try any variation like this?

 

Import System:NetImmerse

...

bool Function SetNodeScale(ObjectReference MyRef, string NodeName, float fScale, int iPCRequest = 0)
   NiTransform akTransform
   bool abFirstPerson = iPCRequest == 1
   bool abResult = false
   
   akTransform = GetNodeLocalTransform(MyRef, NodeName, abFirstPerson)
   If akTransform != None
      akTransform.Scale = fScale
      abResult = SetNodeLocalTransform(MyRef, NodeName, akTransform, abFirstPerson)
   EndIf
   
   return abResult
EndFunction

 

When I tested this approach, pretty much CTD on load.  Probably something stupid.  But it looks like PCL has functions to perhaps do this directly, just not familiar enough with it.  Kudos for a working solution.

 

 

Spoiler

PROBABLE CALL STACK:
    [0] 0x7FFE97C04595 PapyrusCommonLibrary.dll+0174595    mov rax, [rcx] |  C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\include\functional:879 std::basic_istream<char,std::char_traits<char> >::?1sentry (mangled: ??1sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@XZ) C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.43.34808\include\functional:865 std::basic_istream<char,std::char_traits<char> >::?1sentry (mangled: ??1sentry@?$basic_istream@DU?$char_traits@D@std@@@std@@QEAA@XZ)
    [1] 0x7FFEAE386639        f4se_1_10_163.dll+0016639
    [2] 0x7FF7C8F9B503             Fallout4.exe+0D3B503    call 0x00007FF7C85EAD70 |  Main::UpdateNonRenderSafeAITasks(void)_D3B503 -> 338354+0x23    call 0x00007FF7C85EAD70
    [3] 0x7FF7C9DB0F26             Fallout4.exe+1B50F26    mov ecx, [rbx+0x0C] |  BSJobs::JobListLocal::RunJobsInternal(uint,BSJobs::ThreadJobListState&,bool)_1B50F26 -> 329005+0xC6    mov ecx, [rbx+0x0C]
    [4] 0x7FF7C9DB1432             Fallout4.exe+1B51432    mov r14d, eax |  BSJobs::JobThread::RunJob(void)_1B51432 -> 194800+0x202    mov r14d, eax
    [5] 0x7FF7C9DB3F67             Fallout4.exe+1B53F67    movzx eax, byte ptr [rbx+0xA74] |  BSJobs::JobThread::ThreadProc(void)_1B53F67 -> 1492866+0x67    movzx eax, byte ptr [rbx+0xA74]
    [6] 0x7FF7C9D7CFED             Fallout4.exe+1B1CFED    mov rcx, [0x00007FF7CDDBBD38] |  BSThread::CallThreadProc(void)_1B1CFED -> 1079791+0x3D    mov rcx, [0x00007FF7CDDBBD38]
    [7] 0x7FFF54D4259D             KERNEL32.DLL+001259D
    [8] 0x7FFF5636AF78                ntdll.dll+005AF78

REGISTERS:
    RAX 0x9FB14DE3E8       (void*)
    RCX 0xBE4FFE89         (size_t) [3192913545]
    RDX 0x9FB15DFA90       (void*)
    RBX 0x23F08842DC0      (F4SE::TaskInterface::TaskDelegate*)
    RSP 0x9FB15DFA70       (void*)
    RBP 0x0                (size_t) [0]
    RSI 0x0                (size_t) [0]
    RDI 0x1                (size_t) [1]
    R8  0x0                (size_t) [0]
    R9  0x0                (size_t) [0]
    R10 0x1                (size_t) [1]
    R11 0xFFFFFFFFFAC1624F (size_t) [uint: 18446744073621561935 int: -87989681]
    R12 0x7FF7CDE48088     (void* -> Fallout4.exe+5BE8088    add [rax], al |  aDiveBombChance_5BE8088)
    R13 0x7FF7CDE48080     (void* -> Fallout4.exe+5BE8080    add [rax], al |  aDiveBombChance_5BE8080)
    R14 0x1                (size_t) [1]
    R15 0x7FF7CDE48084     (void* -> Fallout4.exe+5BE8084    add [rax], al |  aDiveBombChance_5BE8084)

 

 

Edited by dav42
Posted
On 8/25/2025 at 6:41 PM, hildm1 said:

@joe_yawiki @JB. here you go. Two files - 0.91 amputator (minimal changes) and SUPCL, which is a partial mashup of SUP F4SE and the Papyrus Common Library.

https://mega.nz/file/zxgTQRwR#VTfH2trApyYur5nY5hHNRPy273m3lkWe47SCRGsFr-U
https://mega.nz/file/XlQyWKDL#WPXigdMxIdrYoIZdFy8hctQfSJYVLHhkBLor27AxAwM

 

I can code, but not in C++ and not much in Papyrus. This is AI generated and probably rough as hell. Fed Cursor the source code of both SUP and PCL and asked it to put the SUP node functions into PCL. This was painless once I switched to Windows, so I bet other functions could be replicated similarly. Only caveat is that it didn't work well with KFT on my PC - but worked beautifully without.

@hildm1

Thanks for the good work.

 

Just to let you know , the unaltered Papyrus Common Library (I got mine from Nexus, github should work as well) works with your Tweaked Amputator file, in both OG & NextGen.

Posted
9 minutes ago, judge007 said:

Just to let you know , the unaltered Papyrus Common Library (I got mine from Nexus, github should work as well) works with your Tweaked Amputator file, in both OG & NextGen.

 

That actually shouldn't be possible, he added 4 new functions to PCL that are not released on Nexus.  You probably have SUPCL installed (his 2nd mod which replaces PCL plugin)?

Posted (edited)
41 minutes ago, dav42 said:

 

That actually shouldn't be possible, he added 4 new functions to PCL that are not released on Nexus.  You probably have SUPCL installed (his 2nd mod which replaces PCL plugin)?

Nope, deleted it.

I read somewhere, the Discord for SUP I believe, that there are node scaling functions built-in to Papyrus Common Library.

And the tweaked version of Amputator that hildm1 graciously provided works.

 

I did initially use his tweaked PCL, but tried the base PCL after reading up about it on Discord.

 

That's all I know.

The guy that was providing SUP_F4SE has going missing, and even his acquaintances on Discord don't know if he's ok or not.

 

Version 1.61 here https://www.nexusmods.com/fallout4/mods/86222

 

CMToolkit-DLLs.jpg

Edited by judge007
Posted
18 minutes ago, judge007 said:

Nope, deleted it.

I read somewhere, the Discord for SUP I believe, that there are node scaling functions built-in to Papyrus Common Library.

And the tweaked version of Amputator that hildm1 graciously provided works.

 

I did initially use his tweaked PCL, but tried the base PCL after reading up about it on Discord.

 

Uhm, OK.  The one he provided is referencing his custom functions, that do not exist in PCL.  I'll keep chasing the native PCL solution, it's looking like either the native PCL function doesn't work or doesn't like input from it's getter function -- which is I assume why they created these custom functions.

 

Function AdjustLimb(Actor Ao, String part, float scale)
	bool is_pc = Ao == PlayerREF
	string[] partList = listParts(part)
	;;string refPart = referencePart(part)

	int inc = 0
	int numParts = partList.Length

	While inc < numParts
		System:NetImmerse.SetNodeScaleDirect(Ao,partList[inc],scale,false)
;;		if refPart != ""
;;			System:NetImmerse.SetNodePositionDirect(Ao,partList[inc],System:NetImmerse.GetNodePositionDirect(Ao,refPart,false),false)
;;		endif

   		if is_pc
			System:NetImmerse.SetNodeScaleDirect(Ao,partList[inc],scale,true)
	   	endif
		

		inc += 1
	endWhile

Endfunction

 

Posted
12 minutes ago, dav42 said:

 

Uhm, OK.  The one he provided is referencing his custom functions, that do not exist in PCL.  I'll keep chasing the native PCL solution, it's looking like either the native PCL function doesn't work or doesn't like input from it's getter function -- which is I assume why they created these custom functions.

 

Function AdjustLimb(Actor Ao, String part, float scale)
	bool is_pc = Ao == PlayerREF
	string[] partList = listParts(part)
	;;string refPart = referencePart(part)

	int inc = 0
	int numParts = partList.Length

	While inc < numParts
		System:NetImmerse.SetNodeScaleDirect(Ao,partList[inc],scale,false)
;;		if refPart != ""
;;			System:NetImmerse.SetNodePositionDirect(Ao,partList[inc],System:NetImmerse.GetNodePositionDirect(Ao,refPart,false),false)
;;		endif

   		if is_pc
			System:NetImmerse.SetNodeScaleDirect(Ao,partList[inc],scale,true)
	   	endif
		

		inc += 1
	endWhile

Endfunction

 

 

All I know for sure is Commonwealth Slavers, Nuka Ride and Raider Pet all have proper amputees from Up to No Good.

And that's with Papyrus Common Library running with hildm1's tweaked Amputator.

Posted (edited)

@JB. I am wondering why not just build 7 meshes for the different combinations, all using slot 33 (and their amputated slots) and including the full body reference just with masking/zaps and the extra meshes for the limb caps?  Then we shouldn't need a script extender at all.  The hard part would be taking in the three switch values and mapping it to the 7 equippable items.  The leg amputation is already flagged as a full body outfit.  This by the way seems to be the way KFT & Up To No Good do amputations.

 

The only downside is any full body outfits would be unequipped.  The other thing I noticed is if you call AmputateLegs on an NPC the layer restrictions are applied to the PC (looks like there is a stray LegsLayer call at the bottom of that function).  I'm guessing NPC leg amputations are perhaps not used by anyone.

 

KFT, as far as I can tell, only supports full amputation or both arms amputation.

 

 

  # | LRF | Description      | 
  --|-----|------------------|- 
  0 | 000 | No amputation    | 
  1 | 001 | Legs             | _amp_Amputee_Foots
  2 | 010 | Right arm        | _amp_Amputee_RightArm
  3 | 011 | Right arm + legs | ...combined mesh...
  4 | 100 | Left arm         | _amp_Amputee_LeftArm
  5 | 101 | Left arm + legs  | ...combined mesh...
  6 | 110 | Left + right arm | _amp_Amputee_BothArms
  7 | 111 | Full amputation  | ...combined mesh...

 

 

Edited by dav42
Posted (edited)
23 minutes ago, dav42 said:

The only downside is any full body outfits would be unequipped. 

 

And that's the point of this mod, that you can wear any outfit and even heels. 

 

This 👇🏼 is impossible to do without shrinking the nodes. Note that the jacket sleeve also disappears because it shares the same arm node. Same for the amr leather band and the long arm guard. Nora wears heels here, which under other conditions would cause her arms to reappear. 

 

I mean, the only way would be to do conversions, but in practice that's too much work.

 

Spoiler

Photo737.png

 

Before the amputation mod, I made a mod similar to what you propose. The amputations were applied manually by the player using skin overrides. But, again, it wasn't compatible with any outfit, because when you put on any outfit, your arms would reappear. I had to make about four or five conversions so that you would at least have some compatible clothes.

 

 

Now, I know that reducing nodes doesn't result in perfect cuts. That's why I added those accessories, to hide the imperfect node cut.

 

Aesthetically, it looks much better to manually do an amputation with Outfit Studio or similar software. But I wouldn't trade that for the compatibility and practicality of reducing nodes.

 

 

Edited by JB.
Posted
21 minutes ago, JB. said:

And that's the point of this mod, that you can wear any outfit and even heels. 

 

Yeah, I figured that was why.  At least for the native PCL approach I did report the CTD to the modder, will have to wait to see if they can reproduce it.  The getter function works fine, the setter works fine up to the point when it calls the game engine (UpdateWorldData) then there is a crash.  Oddly SUP_F4SE doesn't appear to call UpdateWorldData, it just modifies the local node transform, sets the scale, and let's jesus sort it out.  It's also using F4SE to do the structure manipulations, where PCL is using CommonLibF4 (so it should be using Address Library and it supports both game versions).

 

 

31 minutes ago, JB. said:

I had to make about four or five conversions so that you would at least have some compatible clothes.

 

I assume that was for the footwear or outfits that were using the body slot, basically the big issue with the approach as long as you don't amputate legs.

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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