Jump to content

Recommended Posts

Posted
1 hour ago, Roggvir said:

Why do this, when there is a way better, lightweight, and much more convenient solution in form of using preprocessor defines?

To be honest i'm hardly understand half of this post, but i try hard.

What i understand is done by not got typo error in other mods scripts.

Then what is wrong with this:

Spoiler

string Function LookupDeviceType(keyword kwd)
    if kwd == zad_DeviousPlug
        return "Plug"
    ElseIf kwd == zad_DeviousHeavyBondage
        return "WristRestraint"
    ElseIf kwd == zad_DeviousBelt
        return "Belt"
    ElseIf kwd == zad_DeviousBra
        return "Bra"  
    ElseIf kwd == zad_DeviousCollar
        return "Collar"  
    ElseIf kwd == zad_DeviousArmCuffs
        return "ArmCuffs"  
    ElseIf kwd == zad_DeviousLegCuffs
        return "LegCuffs"  
    ElseIf kwd == zad_DeviousArmbinder
        return "Armbinder"  
    ElseIf kwd == zad_DeviousYoke
        return "Yoke"  
    ElseIf kwd == zad_DeviousCorset
        return "Corset"  
    ElseIf kwd == zad_DeviousClamps
        return "Clamps"  
    ElseIf kwd == zad_DeviousGloves
        return "Gloves"  
    ElseIf kwd == zad_DeviousHood
        return "Hood"  
    ElseIf kwd == zad_DeviousSuit
        return "Suit"  
    ElseIf kwd == zad_DeviousGag
        return "Gag"  
    ElseIf kwd == zad_DeviousGagPanel
        return "GagPanel"  
    ElseIf kwd == zad_DeviousPlugVaginal
        return "PlugVaginal"  
    ElseIf kwd == zad_DeviousPlugAnal
        return "PlugAnal"  
    ElseIf kwd == zad_DeviousHarness
        return "Harness"  
    ElseIf kwd == zad_DeviousBlindfold
        return "Blindfold"  
    ElseIf kwd == zad_DeviousBoots
        return "Boots"  
    ElseIf kwd == zad_DeviousPiercingsNipple
        return "PiercingsNipple"  
    ElseIf kwd == zad_DeviousPiercingsVaginal
        return "PiercingsVaginal"
    ElseIf kwd == zad_DeviousArmbinderElbow
        return "ArmBinderElbow"
    ElseIf kwd == zad_DeviousYokeBB
        return "YokeBB"
    ElseIf kwd == zad_DeviousCuffsFront
        return "CuffsFront"
    ElseIf kwd == zad_DeviousStraitJacket
        return "StraitJacket"
    ElseIf kwd == zad_DeviousBondageMittens
        return "Mittens"
    ElseIf kwd == zad_DeviousHobbleSkirt
        return "HobbleSkirt"    
    ElseIf kwd == zad_DeviousHobbleSkirtRelaxed
        return "HobbleSkirt"
    EndIf
    Log("LookupDeviceType received invalid keyword " + kwd)
EndFunction

Entry there is keyword and you can't write wrong keyword. Also keywords in DD is made that you can understand about what type of item is speak.

Function exit is none if entry is wrong or string text what can't understand wrong like "Gloves"

If you fear typo then just send keyword to that function and it's returns correct string line of variable.

Posted
14 hours ago, Elsidia said:

HDT SMP isn't support DD chains as it's limited functionality as LE version. If anybody writes a HDT physics nod 1 to 1 as in LE, chains will work.

As for wrist chains - it never works in SE

As for ankle chains - after put chains on, save a game, exit to Windows, start Skyrim again and load a save. While save is loaded chains will work. As load a save again not work, need repeat previous exit procedure.

In theory ankle chains in HDT SMP doesn't need work, but with this voodoo it's somehow works. As Bethesda say: "It somehow works!" ))

If chains still not work, then you have wrong HDT chains meshes need update to latest made by our hero Zarantha.

Thanks, I was reading through the pages and found like 7 of the same questions. I'll try ur suggestion!

Posted (edited)
1 hour ago, Elsidia said:

To be honest i'm hardly understand half of this post, but i try hard.

What i understand is done by not got typo error in other mods scripts.

Then what is wrong with this:

  Reveal hidden contents

string Function LookupDeviceType(keyword kwd)
    if kwd == zad_DeviousPlug
        return "Plug"
    ElseIf kwd == zad_DeviousHeavyBondage
        return "WristRestraint"
    ElseIf kwd == zad_DeviousBelt
        return "Belt"
    ElseIf kwd == zad_DeviousBra
        return "Bra"  
    ElseIf kwd == zad_DeviousCollar
        return "Collar"  
    ElseIf kwd == zad_DeviousArmCuffs
        return "ArmCuffs"  
    ElseIf kwd == zad_DeviousLegCuffs
        return "LegCuffs"  
    ElseIf kwd == zad_DeviousArmbinder
        return "Armbinder"  
    ElseIf kwd == zad_DeviousYoke
        return "Yoke"  
    ElseIf kwd == zad_DeviousCorset
        return "Corset"  
    ElseIf kwd == zad_DeviousClamps
        return "Clamps"  
    ElseIf kwd == zad_DeviousGloves
        return "Gloves"  
    ElseIf kwd == zad_DeviousHood
        return "Hood"  
    ElseIf kwd == zad_DeviousSuit
        return "Suit"  
    ElseIf kwd == zad_DeviousGag
        return "Gag"  
    ElseIf kwd == zad_DeviousGagPanel
        return "GagPanel"  
    ElseIf kwd == zad_DeviousPlugVaginal
        return "PlugVaginal"  
    ElseIf kwd == zad_DeviousPlugAnal
        return "PlugAnal"  
    ElseIf kwd == zad_DeviousHarness
        return "Harness"  
    ElseIf kwd == zad_DeviousBlindfold
        return "Blindfold"  
    ElseIf kwd == zad_DeviousBoots
        return "Boots"  
    ElseIf kwd == zad_DeviousPiercingsNipple
        return "PiercingsNipple"  
    ElseIf kwd == zad_DeviousPiercingsVaginal
        return "PiercingsVaginal"
    ElseIf kwd == zad_DeviousArmbinderElbow
        return "ArmBinderElbow"
    ElseIf kwd == zad_DeviousYokeBB
        return "YokeBB"
    ElseIf kwd == zad_DeviousCuffsFront
        return "CuffsFront"
    ElseIf kwd == zad_DeviousStraitJacket
        return "StraitJacket"
    ElseIf kwd == zad_DeviousBondageMittens
        return "Mittens"
    ElseIf kwd == zad_DeviousHobbleSkirt
        return "HobbleSkirt"    
    ElseIf kwd == zad_DeviousHobbleSkirtRelaxed
        return "HobbleSkirt"
    EndIf
    Log("LookupDeviceType received invalid keyword " + kwd)
EndFunction

Entry there is keyword and you can't write wrong keyword. Also keywords in DD is made that you can understand about what type of item is speak.

Function exit is none if entry is wrong or string text what can't understand wrong like "Gloves"

If you fear typo then just send keyword to that function and it's returns correct string line of variable.

As @picobyte pointed out, it is a rather inefficient way of getting a device type for given keyword, because of how those conditions are structured.
If you happen to be looking up device type for the zad_DeviousPlug keyword, you get your answer ("Plug") very fast, because that keyword is checked for in the very first condition.

But if you happen to be looking up device type for zad_DeviousHobbleSkirtRelaxed, which is checked in the very last condition, the code becomes extremely inefficient, because it must first evaluate ALL the previous conditions, before it can get to the last one (at which point it can finally return the correct answer "HobbleSkirt").

 

A better way, proposed by picobyte in his post, would be to build two arrays when the mod gets first initialized.
First array would contain all the keywords.
Second array would contain all the corresponding strings that the current LookupDeviceType() function is returning ("Plug", "WristRestraint", "Belt", "Bra", etc.).

Quote

 

keyword[] deviceKeywords

string[] deviceTypes
function ModInitialization()

    deviceKeywords = new keyword[128]

    deviceTypes = new string[128]

    deviceKeywords[0] = zad_DeviousPlug

    deviceTypes[0] = "Plug"

    deviceKeywords[1] = zad_DeviousHeavyBondage

    deviceTypes[1] = "WristRestraint"

    deviceKeywords[2] = zad_DeviousBelt

    deviceTypes[2] = "Belt"

    deviceKeywords[3] = zad_DeviousBra

    deviceTypes[3] = "Bra"

    ...

endFunction

 


Then the LookupDeviceType() function would simply use the native array.Find() to get the index of the keyword in the deviceKeywords array, and then use that index number to get and return the corresponding string in the deviceTypes array, which should be significantly faster in most situations:

Quote

 

string function LookupDeviceType(keyword kwd)

    int index = deviceKeywords.Find(kwd)

    if index > -1

        return deviceTypes[index]

    endIf

    return ""

endFunction

 

 

 

 

And then i recommended to use the preprocessor defines, to make it yet a bit more simple by returning integers instead of strings, thus not needing the deviceTypes array, while still keeping it easy to work with and maintain thanks to using the defines:

Quote

 

#define        __plug__                              0

#define        __wristRestraint__        1

#define        __belt__                              2

#define        __bra__                                3

...

 

keyword[] deviceKeywords

function ModInitialization()

    deviceKeywords = new keyword[128]

    deviceKeywords[__plug__] = zad_DeviousPlug

    deviceKeywords[__wristRestraint__] = zad_DeviousHeavyBondage

    deviceKeywords[__belt__] = zad_DeviousBelt

    deviceKeywords[__bra__] = zad_DeviousBra

    ...

endFunction

 

 

function Whatever(...)

    int deviceType = deviceKeywords.Find(someDeviceKeyword)

    if deviceType == __plug__ ; nice and understandable define name instead of a confusing integer, yay!

        Debug.Trace("Oh look! it is a plug! Let's... plug something with it!")

        ...

    endIf
endFunction

 

 

...i would also move all the data into JContainers, making it even more convenient for various reasons, but that is a story for another day :)
I think i should stop cluttering the topic with this stuff.

Edited by Roggvir
Posted
20 hours ago, Elsidia said:

First read troubleshooting page: https://www.loverslab.com/topic/99700-devious-devices-se-51-2021-03-24/?do=findComment&comment=2247110

 

But now i give some small clue - remove all LE versions of mods, remove all old DD patches from another mods and remove noenchanment restriction mod or configure it as in troubleshooting page tells.

I did have a look at the page previously, but didn't find anything obvious that matches what I'm seeing. I'm not running any LE versions or old patches. Closest thing I found on the page was the SLIF patcher which mentioned that having the wrong version would break device locks. Don't believe I have any version of the patcher. Also, what is SLIF?

Posted
1 hour ago, nameareoverratedanyways said:

I did have a look at the page previously, but didn't find anything obvious that matches what I'm seeing. I'm not running any LE versions or old patches. Closest thing I found on the page was the SLIF patcher which mentioned that having the wrong version would break device locks. Don't believe I have any version of the patcher. Also, what is SLIF?

 

Patches could be other mods that have patches for DD, like Devious Lore. Or it could be old script patches.

There's a couple of mods that can have the same result - No Enchantment Restriction is one. It's best to make sure you don't have any of the mods mentioned in the conflicts or troubleshooting sections of the troubleshooting post.

 

Make sure nothing is overwriting DD's scripts. In mod managers, that's the lightning bolts. If you don't see it in MO2, enable the conflicts column, or look at information -> conflicts.

 

SLIF is SexLab Inflation Framework. For SLIF to work, it needed to integrate some code into DD's scripts. If the DD version of the script patch doesn't match the install DD version, then things break in DD. Could be quests, could be traps, usually it's device locks.

 

Easiest way to test is to make sure your skyrim install folder is clean (use MO2, or do a purge in Vortex), then enable/deploy only DD and it's requirements. Start a new game and use something like additem menu or console in some devices from DDx to test with (DDa devices usually don't have the scripts and DDi doesn't have a good sample to test with).

Posted
27 minutes ago, zarantha said:

 

Patches could be other mods that have patches for DD, like Devious Lore. Or it could be old script patches.

There's a couple of mods that can have the same result - No Enchantment Restriction is one. It's best to make sure you don't have any of the mods mentioned in the conflicts or troubleshooting sections of the troubleshooting post.

 

Make sure nothing is overwriting DD's scripts. In mod managers, that's the lightning bolts. If you don't see it in MO2, enable the conflicts column, or look at information -> conflicts.

 

SLIF is SexLab Inflation Framework. For SLIF to work, it needed to integrate some code into DD's scripts. If the DD version of the script patch doesn't match the install DD version, then things break in DD. Could be quests, could be traps, usually it's device locks.

 

Easiest way to test is to make sure your skyrim install folder is clean (use MO2, or do a purge in Vortex), then enable/deploy only DD and it's requirements. Start a new game and use something like additem menu or console in some devices from DDx to test with (DDa devices usually don't have the scripts and DDi doesn't have a good sample to test with).

Thank you, I will try that. Just two questions:

 

How can I tell which devices are from DDx? If you know one off the top of your head that will also suffice for testing.

 

Suppose the test determines that device locks work in the new game. How can I use that info to fix the existing game?

Posted (edited)
1 hour ago, nameareoverratedanyways said:

How can I tell which devices are from DDx? If you know one off the top of your head that will also suffice for testing.

First you must find mod hex load order in SSEEdit, loot, vortex plugin pages. If you use SSEEdit, then there is visually see what item is from DDX as all armors are in DDX section

Then in console type:

help armbinder - it will return item id

first two letters in item id is mod hex load order. as example my DCL have 10, so any item from DCL will start id with 10.

Edited by Elsidia
Posted

Hello,

 

I have a question regarding the Inflatable Plugs.

How are you supposed to remove them?

 

I am either extremely (un)lucky that my PC keeps 'accidentally' bumping into them, charging them up, but it keeps saying 'wait for them to deflate'.

So okay, I think my PC now waited for... 3 days... and no dice, the DCL remove all devices also does not work on them xD

 

Am I missing something?

Posted

About DD Contraptions - The key used to make a furniture piece interact with a NPC is PgUp, but how do I use if there is no dedicated PgUp key on my keyboard? PgUp is put in with  one of the keys on my numpad, but key combination doesn't seem to work in the game.

Posted

Why do some DD items have the prefix "Ebonite" in their name? This creates a slight embarrassment because visually the mod uses only leather and latex.
I will be glad for details.

Posted
16 hours ago, dragonproudsky said:

Sorry if I can ask a newbie question, what is the best way to use DD on SL Defeated NPC's? 

 

Do I just add something to their inventory and they will equip it automatically?

 

The closest you're going to get to that is doing it yourself or use

 

Yes, if you add the items to their inventory, they should equip them.

Posted
18 hours ago, nameareoverratedanyways said:

Thank you, I will try that. Just two questions:

 

How can I tell which devices are from DDx? If you know one off the top of your head that will also suffice for testing.

 

Suppose the test determines that device locks work in the new game. How can I use that info to fix the existing game?

 

If you don't know the hex code for DDx in your load order, then use something like additem menu to look for it. Mods like that will let you browse items by esp.

 

Ebonite anything is usually DDx. If you have other mods that have their own DD items, that may not be universally true.

Black Ebonite Armbinder for example.

 

If it works in a new game but not your existing game, it usually means that save is broken. You can try cleaning in in resaver/fallrim tools, but that can't fix everything. You're usually better starting off with a new game at that point. If you want to rescue that game and have enough older saves, keep going back until it works.

Posted
9 hours ago, ChibiUser said:

Hello,

 

I have a question regarding the Inflatable Plugs.

How are you supposed to remove them?

 

I am either extremely (un)lucky that my PC keeps 'accidentally' bumping into them, charging them up, but it keeps saying 'wait for them to deflate'.

So okay, I think my PC now waited for... 3 days... and no dice, the DCL remove all devices also does not work on them xD

 

Am I missing something?

 

Welcome to RNG. Try keeping your arousal down, but there's usually not much to do until it randomly deflates enough to remove it.

If you're using the wait menu, that's not going to work. You need an event to trigger for the deflation.

 

If your luck is really horrible and you're done waiting, try devious devices equip to remove it. that mod is usually pretty reliable in removing most devices. don't use it to remove quest items or that will break the quest.

Posted
5 hours ago, Tycho Brahe said:

About DD Contraptions - The key used to make a furniture piece interact with a NPC is PgUp, but how do I use if there is no dedicated PgUp key on my keyboard? PgUp is put in with  one of the keys on my numpad, but key combination doesn't seem to work in the game.

 

You can click where it says page up in the mcm and change it to something else.

Posted
2 hours ago, Tikos_pony said:

Why do some DD items have the prefix "Ebonite" in their name? This creates a slight embarrassment because visually the mod uses only leather and latex.
I will be glad for details.

 

Ebonite is the latex stuff. It's just a name as far as i know.

Posted
17 hours ago, dragonproudsky said:

Sorry if I can ask a newbie question, what is the best way to use DD on SL Defeated NPC's? 

 

Do I just add something to their inventory and they will equip it automatically?

 

If you follow @zarantha's  suggestion about SL Defeat's add-On Devious Captures and have SLSO, I recommend to also check the SLSO patch for it.  It is in SLSO page download.

 

 

Posted (edited)
15 hours ago, ChibiUser said:

So okay, I think my PC now waited for... 3 days... and no dice,

You can't cheat it in this way. It not work in that way.

Ok, knowledge will destroy your joy of game as it does to me, because if you don't want be responsible for that, don't read spoiler:

Spoiler

Deflate event is random and connect to real time not game. In that same event instead of deflate it can inflate.

So you must wait real time in game to get deflate and this is random event so it can end without deflate or even inflate.

Most best version to cheat DCL engine is stay in place where no NPC (NPC have random chance to inflate your plugs)

So stay here and wait 1 hour to faster event, after that stay in place without anything do up to 1 minute while RL time engine update DCL status. So usually if you wear DD items, it will send system message about your arousal. Also if deflate or inflate event happens there will be system message about it. (left upper corner) So after got this message if not success wait other 1 hour in game.

Probably best place to stay are player own home as there most DCL trap events not work. Not sure about rape and inflate events.

 

Edited by Elsidia
Posted
8 hours ago, zarantha said:

 

You can click where it says page up in the mcm and change it to something else.

Thank you! It was very silly of me to not have noticed the option

Posted
8 hours ago, zarantha said:

 

Ebonite is the latex stuff. It's just a name as far as i know.

Are you saying that the word "Ebonite" has two meanings? In the Russian translation, I have very seldom seen the translation ebonite = latex. Why don't item names use the prefix latex?

Posted
2 hours ago, Tikos_pony said:

Are you saying that the word "Ebonite" has two meanings? In the Russian translation, I have very seldom seen the translation ebonite = latex. Why don't item names use the prefix latex?

First of all, ebony in TES is a metal, ebony in real world is a wood and ebonite in real world is a trademarked name for hard rubber. So, as I understand it, ebonite was used by TES modders to provide in-game "latex-like" items with lore-friendly name. Then, translations got into the mix. "Эбонит" in russian actually means hard rubber, but it was used for ebony, because "надмозг". So, translating in-game ebonite to russian directly is impossible, as closest word is already taken.

Anyway, short summary - ebonite is latex renamed for lore reasons. And эбонит is a wrong translation for ebony but used for years.

Posted
Vor 1 Stunde sagte DeWired:

Zunächst einmal ist Ebenholz in TES ein Metall, Ebenholz in der realen Welt ist ein Holz und Ebonit in der realen Welt ist ein Markenname für Hartgummi. So wie ich es verstehe, wurde Ebonite von TES-Moddern verwendet, um „latexähnliche“ Gegenstände im Spiel mit Lore-freundlichen Namen bereitzustellen. Dann kamen Übersetzungen ins Spiel. "Эбонит" bedeutet auf Russisch eigentlich Hartgummi, wurde aber für Ebenholz verwendet, weil "надмозг". Daher ist es unmöglich, im Spiel Ebonite direkt ins Russische zu übersetzen, da das nächste Wort bereits vergeben ist.

Wie dem auch sei, kurze Zusammenfassung - Ebonit ist aus Überlieferungsgründen in Latex umbenannt. Und эбонит ist eine falsche Übersetzung für Ebenholz, wird aber seit Jahren verwendet.

I would like to add something:
In TES-3 - Morrowind - there was "Eben Ore" - a very heavy metal - from which weapons and armor were made.
The ore was found like "Vulcan Glass" in caves/mines in various veins.
Then in TES-4 - Oblivion - the term "Eben-Wood" appeared.
In both games there was no crafting of weapons or armor
This was only introduced with TES-5 - Skyrim.
In the German translation, the term "wood" for a metal - which is extracted from ore found in mines - sounds rather strange.
Because there is - in the real world - the "ebony tree" - from which you get almost black wood and no metal.
I was also surprised when the DD-Mod suddenly brought clothing/armor made of latex/rubber into the world of Nirn - but as a latex fetishist I was very happy.
And now I have to smile when they read about the transfer to and from the "Russian".

 

Posted
5 hours ago, DeWired said:

First of all, ebony in TES is a metal, ebony in real world is a wood and ebonite in real world is a trademarked name for hard rubber. So, as I understand it, ebonite was used by TES modders to provide in-game "latex-like" items with lore-friendly name. Then, translations got into the mix. "Эбонит" in russian actually means hard rubber, but it was used for ebony, because "надмозг". So, translating in-game ebonite to russian directly is impossible, as closest word is already taken.

Anyway, short summary - ebonite is latex renamed for lore reasons. And эбонит is a wrong translation for ebony but used for years.

 

3 hours ago, Miauzi said:

I would like to add something:
In TES-3 - Morrowind - there was "Eben Ore" - a very heavy metal - from which weapons and armor were made.
The ore was found like "Vulcan Glass" in caves/mines in various veins.
Then in TES-4 - Oblivion - the term "Eben-Wood" appeared.
In both games there was no crafting of weapons or armor
This was only introduced with TES-5 - Skyrim.
In the German translation, the term "wood" for a metal - which is extracted from ore found in mines - sounds rather strange.
Because there is - in the real world - the "ebony tree" - from which you get almost black wood and no metal.
I was also surprised when the DD-Mod suddenly brought clothing/armor made of latex/rubber into the world of Nirn - but as a latex fetishist I was very happy.
And now I have to smile when they read about the transfer to and from the "Russian".

 

Thank you very much. These details may help my little dilemma.

Posted

This is a fantastic mod, but I've been having a few issues:

  • Chains seem to be bugged again (I previously fixed them with Faster HDT SMP but it seems to have broken since)
  • Vaginal inflatable plug seems to count as chastity and refuses to play any non-chastity sexlab animations from DCL or Defeat, or even manually playing them through sexlab (even when other animations should be available) the animations play briefly then stop and are replaced with the generic chastity solo anim

Thanks in advance

Posted

Howdy. I have recently encountered an issue with this mod. When the characters wear gags, their mouth doesnt open. I have absolutely no idea why this is occurring and any insight on the matter would be greatly appreciated. Thanks

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