Jump to content

Devious Devices Framework Development/Beta


Recommended Posts

  • 1 month later...

Hi There ?

 

The Corsets in the Devious Device Expansion in their Armor Addon records have references to slot 58 and slot 49. Neither the Armor file or the NIF references 49 (they both use only slot 58), and that Armor addon reference appears to be making slot 49 items invisible when a corset is equipped. 

 

Is there some devious purpose for that extra reference? or can the 49 slot reference in the armor addon file be safely removed so slot 49 items will be visible? 

Link to comment
  • 4 weeks later...

 After some digging I finally found out why the modevents from DDI where not working (properly). Not sure if this is the best place to post it but here goes:

 

The search started with the log lines regarding the removal event:

[Zad]: Player has failed to escape Harness
ERROR: Type mismatch for argument 1. Type mismatch for argument 2. 

 

After backtracking the scripts I found the error to be in the registering of the mod event in the zadlibs script file. The modevent is cast/required as a form, float, bool or int but pushed as an actor, keyword, armor etc. So that won't work. (the bool one does). So as per creationkit.com example I modified the script to cast as a form (starting at line 1632) to remedy this:

Spoiler

Function SendDeviceEquippedEventVerbose(armor inventoryDevice, keyword deviceKeyword, actor akActor)	
	Int Handle = ModEvent.Create("DDI_DeviceEquipped")
	If (Handle)		
		ModEvent.PushForm(Handle, inventoryDevice as Form)
		ModEvent.PushForm(Handle, deviceKeyword as Form)
		ModEvent.PushForm(Handle, akActor as Form)		
		ModEvent.Send(Handle)
	Endif	
EndFunction

Function SendDeviceRemovedEventVerbose(armor inventoryDevice, keyword deviceKeyword, actor akActor)
	Int Handle = ModEvent.Create("DDI_DeviceRemoved")
	If (Handle)		
		ModEvent.PushForm(Handle, inventoryDevice as Form)
		ModEvent.PushForm(Handle, deviceKeyword as Form)
		ModEvent.PushForm(Handle, akActor as Form)		
		ModEvent.Send(Handle)
	Endif
EndFunction

Function SendDeviceKeyBreakEventVerbose(armor inventoryDevice, keyword deviceKeyword, actor akActor)	
	Int Handle = ModEvent.Create("DDI_KeyBreak")
	If (Handle)		
		ModEvent.PushForm(Handle, inventoryDevice as Form)
		ModEvent.PushForm(Handle, deviceKeyword as Form)
		ModEvent.PushForm(Handle, akActor as Form)		
		ModEvent.Send(Handle)
	Endif	
EndFunction

Function SendDeviceJamLockEventVerbose(armor inventoryDevice, keyword deviceKeyword, actor akActor)	
	Int Handle = ModEvent.Create("DDI_JamLock")
	If (Handle)		
		ModEvent.PushForm(Handle, inventoryDevice as Form)
		ModEvent.PushForm(Handle, deviceKeyword as Form)
		ModEvent.PushForm(Handle, akActor as Form)		
		ModEvent.Send(Handle)
	Endif	
EndFunction

Function SendDeviceEscapeEvent(armor inventoryDevice, keyword deviceKeyword, bool successful)	
	Int Handle = ModEvent.Create("DDI_DeviceEscapeAttempt")
	If (Handle)		
		ModEvent.PushForm(Handle, inventoryDevice as Form)
		ModEvent.PushForm(Handle, deviceKeyword as Form)
		ModEvent.PushBool(Handle, successful)		
		ModEvent.Send(Handle)
	Endif	
EndFunction

////////////////////////Line 2488////////////////////////////////////

Function SendGagEffectEvent(actor akActor, bool isRemove)
    Int Handle = ModEvent.Create("DDI_GagExpressionStateChange")
    If (Handle)    
        ModEvent.PushForm(Handle, akActor as Form)
        ModEvent.PushBool(Handle, isRemove)
        ModEvent.Send(Handle)
    Endif  
EndFunction

 

This also requires the hooking of the events to change. For example using the "No Escape" rule of the Devious follower framework of Cursed Loot

 

To "change" the form back into it's intended type (armor, keyword and actor in this example) I tried a proof of concept script like this. With the proper event parameters and the "recasting".

 

Event OnDeviceEscapeAttempt(form inventoryDevice, form deviceKeyword, bool successful)                
    ...
EndEvent


Event DDP_OnDeviceRemoved(form inventoryDevice, form deviceKeyword, form akActor)
	...
        libs.EquipDevice(libs.PlayerRef, inventoryDevice as Armor, libs.GetRenderedDevice(inventoryDevice as Armor), deviceKeyword as Keyword, skipmutex = True)
	...
EndEvent

 

Link to comment

I noticed the hobbleskirt script does not check if it was equipped on the player before turning off dampen controls, resulting in it almost always being if mods add them to npcs

and staying off unless they were all removed in the reverse order they were applied

 

the script should probably check if it was equipped/removed from the player before setting/resetting that setting

Link to comment
4 hours ago, LazyBoot said:

I noticed the hobbleskirt script does not check if it was equipped on the player before turning off dampen controls, resulting in it almost always being if mods add them to npcs

and staying off unless they were all removed in the reverse order they were applied

 

the script should probably check if it was equipped/removed from the player before setting/resetting that setting

So that's why Mistress Ellarie stunts my controls.

Link to comment
  • 2 weeks later...

Question regarding rendered devices:

 

For those that don't know, every Devious Device is split into two armor items: an 'Inventory' item that doesn't occupy any armor slots or contain any models that are placed on the player, contains all the scripting elements, and is shown in the player's inventory; and a 'Rendered' item that is equipped via the 'Inventory' device's scripts, isn't shown in the player's inventory, and contains the bondage models that are placed on the player.

 

This 'Rendered' item is made invisible in the inventory menu by giving the item a blank name. However, this can also be done by flagging the item as "Non-Playable". An example of this in action: Daedric Armor on dremora is flagged as "Non-Playable", and can't be looted, so the player can't get end-game armor early on through the Mehrunes' Razor or Azura's Star quests.

 

My question: is there any reason why the DD devs have chosen the No-Name method over the Non-Playable method? Does the flag cause issues in the scripting engine? Or does the flag remove those items from the player's inventory?

Link to comment
3 hours ago, Code Serpent said:

Question regarding rendered devices:

 

For those that don't know, every Devious Device is split into two armor items: an 'Inventory' item that doesn't occupy any armor slots or contain any models that are placed on the player, contains all the scripting elements, and is shown in the player's inventory; and a 'Rendered' item that is equipped via the 'Inventory' device's scripts, isn't shown in the player's inventory, and contains the bondage models that are placed on the player.

 

This 'Rendered' item is made invisible in the inventory menu by giving the item a blank name. However, this can also be done by flagging the item as "Non-Playable". An example of this in action: Daedric Armor on dremora is flagged as "Non-Playable", and can't be looted, so the player can't get end-game armor early on through the Mehrunes' Razor or Azura's Star quests.

 

My question: is there any reason why the DD devs have chosen the No-Name method over the Non-Playable method? Does the flag cause issues in the scripting engine? Or does the flag remove those items from the player's inventory?

I've been manually flagging Armor/Misc Items/Perks that have a blank name, including devious devices, with the Non-Playable flag in xEdit for over a year now. There's no issue in doing so.

My (limited) understanding is that it removes the player's ability to interact with or access the object, but the game/scripts still use it as normal. Like how some surfaces have generic clutter, but you can't interact with/pick them up.

 

As for if there's a benefit in doing so, I don't know. Even in the base plugins the flag is not always set on Armor with a blank name.

 

I do know that many follower mods don't remove the Playable flag from their custom race/hairparts. Which can crash your game if you select them in RaceMenu.

Link to comment
  • 2 weeks later...

As an alternative to the legbinder and hobble straitjacket I decided to get creative with Photoshop and NIFskope.

 

The Diffuse and Normals are modified from the original catsuit files (rearranged and modified parts). 

The NIF part has modifications done to the "body" to mirror the NIF settings of the catsuit.

 

If desired I can bundle the files for an update for something.

 

CSSJ.JPG.9ffb7cbd10dd59a1671090ee1b555665.JPG

 

 

 

Link to comment
18 hours ago, naaitsab said:

As an alternative to the legbinder and hobble straitjacket I decided to get creative with Photoshop and NIFskope.

 

The Diffuse and Normals are modified from the original catsuit files (rearranged and modified parts). 

The NIF part has modifications done to the "body" to mirror the NIF settings of the catsuit.

 

If desired I can bundle the files for an update for something.

 

CSSJ.JPG.9ffb7cbd10dd59a1671090ee1b555665.JPG

 

 

 

Ooooh this would be awesome to have in the game.

Link to comment
  • 2 weeks later...
On 4/3/2020 at 2:00 PM, mangalo said:

 

There are condition files in DAR which you can change, for example add
------------------------------------------------------------------------- AND
NOT IsWornHasKeyword("Devious Devices - Assets.esm"| 0x00003DFA)
to avoid animating when wearing certain item (chastity bra here)

Link to comment
3 hours ago, CyberGox said:

There are condition files in DAR which you can change, for example add
------------------------------------------------------------------------- AND
NOT IsWornHasKeyword("Devious Devices - Assets.esm"| 0x00003DFA)
to avoid animating when wearing certain item (chastity bra here)

Not bad, that's a first solution.  But IMO there should be some sort of switch to DAR that DD could use to turn the animations on or off.  Otherwise we'll have to patch every condition file

Link to comment
On 4/5/2020 at 12:42 AM, mangalo said:

 

Well, I guess DD idles have top priority so it is up to DAR to be compliant rather than make both mods fight aggressively and wait until one wins (means DAR author has to be requested for a compatibility patch). Btw SE version of DD overrides DAR without any issues, at least on a first look.

Speaking of current solution, here is my code block with resolves some inconsistency between both mods and also SL Defeat (for SE, dunno if it works for LE)
NOT IsInFaction("SexLabDefeat.esp"| 0x00001D92) AND
NOT IsWornHasKeyword("Devious Devices - Integration.esm"| 0x00086C1D) AND
NOT IsWornHasKeyword("Devious Devices - Integration.esm"| 0x00062539) AND
NOT IsWornHasKeyword("Devious Devices - Assets.esm"| 0x0000CA3A) AND
NOT IsWornHasKeyword("Devious Devices - Integration.esm"| 0x000866B8) AND

Link to comment
  • 4 weeks later...

Recap on fixes that we hope will be included in next DD version.

 

Mouth closing when wearing gag (simply the DD 4.3 version of script file still works)

https://www.loverslab.com/topic/21484-devious-devices-integration-43a-2019-09-10/page/458/?tab=comments#comment-2760447

 

Script for timed devices is not right even if you set the properties, with this they are all ok. Both unlock timer and lock shield:

https://www.loverslab.com/topic/21484-devious-devices-integration-43a-2019-09-10/page/468/?tab=comments#comment-2845624

 

DeWired released some versions for bound animations to fix certain issues, he probably didn't get them working perfectly but better and hopes it is redone some way:

https://www.loverslab.com/topic/21484-devious-devices-integration-43a-2019-09-10/page/466/?tab=comments#comment-2832033

Link to comment
21 minutes ago, Zaflis said:

Recap on fixes that we hope will be included in next DD version.

 

Mouth closing when wearing gag (simply the DD 4.3 version of script file still works)

https://www.loverslab.com/topic/21484-devious-devices-integration-43a-2019-09-10/page/458/?tab=comments#comment-2760447

 

Script for timed devices is not right even if you set the properties, with this they are all ok. Both unlock timer and lock shield:

https://www.loverslab.com/topic/21484-devious-devices-integration-43a-2019-09-10/page/468/?tab=comments#comment-2845624

 

DeWired released some versions for bound animations to fix certain issues, he probably didn't get them working perfectly but better and hopes it is redone some way:

https://www.loverslab.com/topic/21484-devious-devices-integration-43a-2019-09-10/page/466/?tab=comments#comment-2832033

Thanks for compiling this list! Will make its way into DD as soon as I get to it! :)

Link to comment

So, dunno if it's something with the newest FNIS version, but after updating everything, the arms aren't even getting inside the armbinder and any derivative restraints. Not only that, but when I'm using bound combat, the game still acts as if my character's fists aren't bound. I'm using MO2.

 

Sorry if it's not the proper place to ask for support, but quite frankly, asking on NexusMods never was an option (if not because of the NSFW nature of DD, then because fore is no longer modding).

Link to comment
1 hour ago, CovertDemon said:

So, dunno if it's something with the newest FNIS version, but after updating everything, the arms aren't even getting inside the armbinder and any derivative restraints. Not only that, but when I'm using bound combat, the game still acts as if my character's fists aren't bound. I'm using MO2.

 

Sorry if it's not the proper place to ask for support, but quite frankly, asking on NexusMods never was an option (if not because of the NSFW nature of DD, then because fore is no longer modding).

Do you have Slaverun? Apparently there's a scan that disturbs the armbinder animation, there should be a patch for that hidden somewhere inside Slaverun's support page.

On top of that Devious Lore has some patches for some devices, I remember that fixed shackles for me, should be a seperate download and not be dependant on the main mod as well.

 

It does sound like a bit different problem to the one I had but the above should hopefully still be useful to start troubleshooting from.

Link to comment
2 hours ago, Ursur1major said:

Do you have Slaverun? Apparently there's a scan that disturbs the armbinder animation, there should be a patch for that hidden somewhere inside Slaverun's support page.

On top of that Devious Lore has some patches for some devices, I remember that fixed shackles for me, should be a seperate download and not be dependant on the main mod as well.

 

It does sound like a bit different problem to the one I had but the above should hopefully still be useful to start troubleshooting from.

there is a patch for DD 3.0 to 4.x. a simple method to get the armbinder and other heavy bondage items animations ..disable the "Sex scan" option (if I am right) in the Slaverun MCM. hopefully it should work.

Link to comment
9 hours ago, Ursur1major said:

Do you have Slaverun? Apparently there's a scan that disturbs the armbinder animation, there should be a patch for that hidden somewhere inside Slaverun's support page.

On top of that Devious Lore has some patches for some devices, I remember that fixed shackles for me, should be a seperate download and not be dependant on the main mod as well.

 

It does sound like a bit different problem to the one I had but the above should hopefully still be useful to start troubleshooting from.

I don't have Slaverun, but I do have Devious Lore.

Link to comment
43 minutes ago, CovertDemon said:

I don't have Slaverun, but I do have Devious Lore.

I have Devious Lore, with the patch, and latest FNIS, and my armbinders are OK.

I think the DL changes are not overrides, but plain idles, but that's just a guess.

 

I recall some mention of certain old mods causing an issue here ... there was a "fix" mod that claimed to improve something unrelated - better walk, or hobble-dresses, or something - that puts bad offsets on every other animation with the latest FNIS. If you have any animation patches or fixes besides the DL one, they could be to blame?

 

Another old patch was the "armbinders with hands" thing, which I think has been shown to be toxic. No chance you'd be complaining about armbinder problems if you had that in though, as it would be the first thing you'd check.

Link to comment
1 hour ago, Lupine00 said:

I have Devious Lore, with the patch, and latest FNIS, and my armbinders are OK.

I think the DL changes are not overrides, but plain idles, but that's just a guess.

 

I recall some mention of certain old mods causing an issue here ... there was a "fix" mod that claimed to improve something unrelated - better walk, or hobble-dresses, or something - that puts bad offsets on every other animation with the latest FNIS. If you have any animation patches or fixes besides the DL one, they could be to blame?

 

Another old patch was the "armbinders with hands" thing, which I think has been shown to be toxic. No chance you'd be complaining about armbinder problems if you had that in though, as it would be the first thing you'd check.

Turns out it was just a matter of putting all things animation-related below FNIS in the left list. Now the armbinders are working properly.

Link to comment
3 hours ago, CovertDemon said:

Turns out it was just a matter of putting all things animation-related below FNIS in the left list. Now the armbinders are working properly.

It shouldn't matter where FNIS is (on left pane) with respect to mods that generate animations, as you shouldn't be overwriting anything that's in FNIS unless you generated it with FNIS anyway.

 

Be sure to use the file redirection option if using MO, otherwise your base FNIS install gets corrupted when you FNIS (or used to, it may be fixed by now).

Best to use it anyway.

 

It's more likely that you changed the order of the things you moved below FNIS, and that fixed the issue as they were overwriting each other.

MO will tell you what is overwriting so I guess you should know the answer to that.

Link to comment

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use