Jump to content

Working on fixing action key failure in SexLab Defeat with Nemesis/Pandora.


Recommended Posts

Posted (edited)

As many of you know, one of the big issues with SexLab Defeat is that the function of the action key, which is the DefeatPASleeper.hkx call, is locked out of the FNIS era, preventing it from participating in the new generation of Skyrim. 

I spent some time analyzing this issue, personally using Pandora and FNIS for comparison. Found that Pandora is missing two things: 1. There is no index in animationsetdatasinglefile.txt. I think this is relatively easy to solve, is in Pandora_Behaviour_Engine_v\Pandora_Engine\Skyrim\Template\animationsetdatasinglefile.txt modeled after the FNIS file of the same name to add DefeatPASleeper reference information:

DefeatPASleeper
0
0
1
2627057938
1361956236
7891816
V3
1

Then run the Pandora engine and get:

DefeatPASleeper
0
0
6
2627057938
1361956236
7891816
3473319392
3281669211
7891816
3473319392
4232662917
7891816
3473319392
3944908012
7891816
3473319392
3964616949
7891816
3473319392
2238471176
7891816
V3
1

Personally, I think the indexing should be done.

2.Next is the biggest problem, which is the clip association in 0_Master.hkx.

<hkobject name="#2389" class="hkbClipTriggerArray" signature="0x59c23a0f">
			<!-- memSizeAndFlags SERIALIZE_IGNORED -->
			<!-- referenceCount SERIALIZE_IGNORED -->
			<hkparam name="triggers" numelements="4">
				<hkobject>
					<hkparam name="localTime">1.000000</hkparam>
					<hkparam name="event">
						<hkobject>
							<hkparam name="id">1042</hkparam>
							<hkparam name="payload">null</hkparam>
						</hkobject>
					</hkparam>
					<hkparam name="relativeToEndOfClip">false</hkparam>
					<hkparam name="acyclic">false</hkparam>
					<hkparam name="isAnnotation">false</hkparam>
				</hkobject>
				<hkobject>
					<hkparam name="localTime">2.900000</hkparam>
					<hkparam name="event">
						<hkobject>
							<hkparam name="id">1039</hkparam>
							<hkparam name="payload">null</hkparam>
						</hkobject>
					</hkparam>
					<hkparam name="relativeToEndOfClip">false</hkparam>
					<hkparam name="acyclic">false</hkparam>
					<hkparam name="isAnnotation">false</hkparam>
				</hkobject>
				<hkobject>
					<hkparam name="localTime">3.000000</hkparam>
					<hkparam name="event">
						<hkobject>
							<hkparam name="id">156</hkparam>
							<hkparam name="payload">null</hkparam>
						</hkobject>
					</hkparam>
					<hkparam name="relativeToEndOfClip">false</hkparam>
					<hkparam name="acyclic">false</hkparam>
					<hkparam name="isAnnotation">false</hkparam>
				</hkobject>
				<hkobject>
					<hkparam name="localTime">3.000000</hkparam>
					<hkparam name="event">
						<hkobject>
							<hkparam name="id">1070</hkparam>
							<hkparam name="payload">null</hkparam>
						</hkobject>
					</hkparam>
					<hkparam name="relativeToEndOfClip">false</hkparam>
					<hkparam name="acyclic">false</hkparam>
					<hkparam name="isAnnotation">false</hkparam>
				</hkobject>
			</hkparam>
		</hkobject>

		<hkobject name="#2388" class="hkbClipGenerator" signature="0x333b85b9">
			<!-- memSizeAndFlags SERIALIZE_IGNORED -->
			<!-- referenceCount SERIALIZE_IGNORED -->
			<hkparam name="variableBindingSet">null</hkparam>
			<!-- cachedBindables SERIALIZE_IGNORED -->
			<!-- areBindablesCached SERIALIZE_IGNORED -->
			<hkparam name="userData">0</hkparam>
			<hkparam name="name">Paired_FNISpa1</hkparam>
			<!-- id SERIALIZE_IGNORED -->
			<!-- cloneState SERIALIZE_IGNORED -->
			<!-- padNode SERIALIZE_IGNORED -->
			<hkparam name="animationName">Animations\Defeat\DefeatPASleeper.hkx</hkparam>
			<hkparam name="triggers">#2389</hkparam>
			<hkparam name="cropStartAmountLocalTime">0.000000</hkparam>
			<hkparam name="cropEndAmountLocalTime">0.000000</hkparam>
			<hkparam name="startTime">0.000000</hkparam>
			<hkparam name="playbackSpeed">1.000000</hkparam>
			<hkparam name="enforcedDuration">0.000000</hkparam>
			<hkparam name="userControlledTimeFraction">0.000000</hkparam>
			<hkparam name="animationBindingIndex">-1</hkparam>
			<hkparam name="mode">MODE_SINGLE_PLAY</hkparam>
			<hkparam name="flags">0</hkparam>
			<!-- animDatas SERIALIZE_IGNORED -->
			<!-- animationControl SERIALIZE_IGNORED -->
			<!-- originalTriggers SERIALIZE_IGNORED -->
			<!-- mapperData SERIALIZE_IGNORED -->
			<!-- binding SERIALIZE_IGNORED -->
			<!-- mirroredAnimation SERIALIZE_IGNORED -->
			<!-- extractedMotion SERIALIZE_IGNORED -->
			<!-- echos SERIALIZE_IGNORED -->
			<!-- localTime SERIALIZE_IGNORED -->
			<!-- time SERIALIZE_IGNORED -->
			<!-- previousUserControlledTimeFraction SERIALIZE_IGNORED -->
			<!-- bufferSize SERIALIZE_IGNORED -->
			<!-- echoBufferSize SERIALIZE_IGNORED -->
			<!-- atEnd SERIALIZE_IGNORED -->
			<!-- ignoreStartTime SERIALIZE_IGNORED -->
			<!-- pingPongBackward SERIALIZE_IGNORED -->
		</hkobject>
...(Omitted in the middle)
		<hkobject name="#2390" class="hkbStateMachineStateInfo" signature="0xed7f9d0">
			<!-- memSizeAndFlags SERIALIZE_IGNORED -->
			<!-- referenceCount SERIALIZE_IGNORED -->
			<hkparam name="variableBindingSet">null</hkparam>
			<!-- cachedBindables SERIALIZE_IGNORED -->
			<!-- areBindablesCached SERIALIZE_IGNORED -->
			<hkparam name="listeners" numelements="0"></hkparam>
			<hkparam name="enterNotifyEvents">null</hkparam>
			<hkparam name="exitNotifyEvents">null</hkparam>
			<hkparam name="transitions">null</hkparam>
			<hkparam name="generator">#2391</hkparam>
			<hkparam name="name">NPC_FNISpa1</hkparam>
			<hkparam name="stateId">172</hkparam>
			<hkparam name="probability">1.000000</hkparam>
			<hkparam name="enable">true</hkparam>
		</hkobject>

I see paired Player / NPC subtrees that play in sync with each other via BSSynchronizedClipGenerator.

Obviously, this is a problem that can't be solved by copying and pasting, because a large number of indexes in there need to be generated by Pandora itself. The question is, how to get Pandora to build this relationship tree itself?

And then, are there any questions that I'm missing? I started this thread not to try to solve it on my own, but to gather people's intellects to solve the problem. So if you want to address this issue as well, please join together.

Edited by lodoraemon
  • 1 month later...
Posted

I do want to use sl defeat properly but the sneak knockout option doesn't work with Pandora it only works with fnis.

 

I read what you typed above but i couldn't understand a single code, can you tell how to fix it in simple language.

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...