Jump to content

Recommended Posts

Posted
14 hours ago, izzyknows said:

Open it in xEdit and under Quest, delete all the DD_Library_Gag****** Scene & Dialog Topics. This will leave only DD_Library_Kimy_VendorDLG, which is Kimy's merchant dialogue.

You will still have the Gagged sound effects, like the plugs, but the PC & NPC's will be able to talk.

Thanks, i'll try this and see if it work.

Posted

So I'm using this with abduct and cait and I were abducted and she was sent back to combat zone when I got back to her she was wearing invisible restraints or something I removed all the devices from her inventory but she still just hops around. Is there any fix for this?

 

Posted
10 hours ago, hu4all said:

Is there any fix for this?

1) Get restraints key.

2) Get Legs shackles or item what causes a hopping

3) Put it on Cait.

4) See how she hopping

5) Put out the shackles

6) Hopping must stopped

 

If item not equipped then you have invisible item on.

Unequip all - store in your inventory. Then enter console mode, select Cait and do command showinventory. If there is hidden item it's showing up. then do command unequipitem id, where id is hidden item id.

 

If there no hidden item and leg shackles equipped but no visual changes, then this item is damaged. Try this item on you - if no equip menu appears then need to fix this item. See my post above to know how it can be done.

 

Never mind but must be good view when Cait always hopped, no need to fix it)

Posted

Yesterday i realize that in script is a little error in logical operator what takes to way when difficulty global variable not works. In that way that difficulty always in mod was 9 - the most easier way. When i change this error i got world where difficulty is the same what Kimy wish to us: 4.  That's cool - i enjoy it. And because of that most of dd items variables not work because in easiest way always is only one option - 1 hour. I talking about DD_Config_DifficultyModifier. As about "A minigame for lockpicking (also contributed by AG12)  - DD_Config_lockPickSystem" seems not working too. But where there is problem i still not found.

And i want ask question: yesterday i try to make my own armor using dd framework and some good those forums designers work for personal use in game. I learn as i think a lot about dd items variables. Will be worth for you if i make some excel file with short explanation of variables names and its use in dd armors? Not sure it's worth it because i think many of yours always learn the same what i make yesterday.  I be glad to hear your thoughts.

Posted
On 1/21/2020 at 11:15 PM, Elsidia said:

1) Get restraints key.

2) Get Legs shackles or item what causes a hopping

3) Put it on Cait.

4) See how she hopping

5) Put out the shackles

6) Hopping must stopped

 

If item not equipped then you have invisible item on.

Unequip all - store in your inventory. Then enter console mode, select Cait and do command showinventory. If there is hidden item it's showing up. then do command unequipitem id, where id is hidden item id.

 

If there no hidden item and leg shackles equipped but no visual changes, then this item is damaged. Try this item on you - if no equip menu appears then need to fix this item. See my post above to know how it can be done.

 

Never mind but must be good view when Cait always hopped, no need to fix it)

Ahh okay I'll try that. Thank you

 

Posted

Unsure on what a papyrus log is so I don't have one to post. I'm having a problem with the White Boot leg restraint things. Whenever I have them on and I'm sneaking, it puts this big flesh texture in front of my face. it's only there when I'm sneaking and its not in third person. Is there any way to fix this issue?

Posted
11 hours ago, NiceLime said:

Is there any way to fix this issue?

Yes it can be done. And there no need logs. And if you need in future papyrus logs first you need allow do logging in fallout 4 ini files. In default is off to save your PC performance. About fix this problem i mention there a some pages above. But for that you need use Fo4edit to fix it in esp file. In armor you must add first person look hands from dd items meshes folder. And then save a esp. And it can be fixed if you wear other dd items together as i remember. this bug shows up only if boots are alone equip. I mean dd items what takes place in body - plugs and nipple clams not helps) Something like mini latex dress can help. Don't remember correct name of dress but those ones what have no boots.

Posted

Hi there,

 

Is there an easy way to figure out in papyrus which inverntory device belongs to a rendered devious device ?

I  want to add a feature to break devious devices (unequip and remove from inventory) when used in combat in my own mod.

The rendered device is the "visible armor you can see" and where the hit events will go to.

The only idea I had so far was to store the inventrory device together with the rendered device in the database of my own mod.

 

Regards

Posted
1 hour ago, Adetu said:

Is there an easy way to figure out in papyrus which inverntory device belongs to a rendered devious device ?

I  want to add a feature to break devious devices (unequip and remove from inventory) when used in combat in my own mod.

The rendered device is the "visible armor you can see" and where the hit events will go to.

The only idea I had so far was to store the inventrory device together with the rendered device in the database of my own mod.

There isn't an easy way, unfortunately.  Inventory items have a script with a RenderedItem property that points to the rendered item, but there is no reverse equivalent.

 

If you are only working on the Player, DD:DD_Library has a FormList Property DD_PlayerEquippedItems that holds all of the inventory devices equipped on the player.  So you can do something horrible like this:

Armor Function FindInventoryDevice(Armor RenderedDevice)
    FormList DD_PlayerEquippedItems = DDLibs.GetPropertyValue("DD_PlayerEquippedItems") as FormList
    
    Int i = DD_PlayerEquippedItems.GetSize()
    While (i)
        i-=1
        Armor InventoryDevice = DD_PlayerEquippedItems.GetAt(i) As Armor
        ObjectReference tmpDevice = PlayerRef.placeAtMe(InventoryDevice, abInitiallyDisabled = true, abDeleteWhenAble = true)
        DD:DD_RestraintScript tmpScript = tmpDevice as DD:DD_RestraintScript
        If tmpScript.RenderedDevice == RenderedDevice
            Return InventoryDevice
        EndIf
    EndWhile
EndFunction

However, there is no such list for NPCs.  You would be better off building your own database, both for performance reasons and so that you can track items on arbitrary actors.

Posted
6 hours ago, EgoBallistic said:

There isn't an easy way, unfortunately.  Inventory items have a script with a RenderedItem property that points to the rendered item, but there is no reverse equivalent.

 

If you are only working on the Player, DD:DD_Library has a FormList Property DD_PlayerEquippedItems that holds all of the inventory devices equipped on the player.  So you can do something horrible like this:


Armor Function FindInventoryDevice(Armor RenderedDevice)
    FormList DD_PlayerEquippedItems = DDLibs.GetPropertyValue("DD_PlayerEquippedItems") as FormList
    
    Int i = DD_PlayerEquippedItems.GetSize()
    While (i)
        i-=1
        Armor InventoryDevice = DD_PlayerEquippedItems.GetAt(i) As Armor
        ObjectReference tmpDevice = PlayerRef.placeAtMe(InventoryDevice, abInitiallyDisabled = true, abDeleteWhenAble = true)
        DD:DD_RestraintScript tmpScript = tmpDevice as DD:DD_RestraintScript
        If tmpScript.RenderedDevice == RenderedDevice
            Return InventoryDevice
        EndIf
    EndWhile
EndFunction

However, there is no such list for NPCs.  You would be better off building your own database, both for performance reasons and so that you can track items on arbitrary actors.

 

Thanks,

I still do not know what is the advantage of the new design with 2 armor parts instead of only one rendered item but with an enchantment assigned. If you restrict the devious devices to a couple of items and do not want to handle a ton of  identical devices with different colours the old system seems to be easier. (Unequipping too !!)

Anyway maybe i just don't have enough experience :)

 

There is already a database with a armor Information  struct in one of my playerscript, but I guess extendig the struct will kill all existing saves for other users. So maybe I can build an additional "parralel" array for the dd_inventory items. But that is all more work and additional script as should be necessary

Posted
46 minutes ago, Adetu said:

There is already a database with a armor Information

Isn't easier make two arrays or form list with a all dd item inventory name and rendered device. Then do a "while" before found rendered device by name and read equivalent inventory device name? This mod already not updated because this list will constant. Or maybe 1 array as objects with both names?

 

 

Posted
26 minutes ago, Elsidia said:

Isn't easier make two arrays or form list with a all dd item inventory name and rendered device. Then do a "while" before found rendered device by name and read equivalent inventory device name? This mod already not updated because this list will constant. Or maybe 1 array as objects with both names?

 

 

Hey I am already old, so my thoughts are now often always in deadlocked ways.
A static lookup table is fairly quick and a good idea in principle, but it makes DD a requirements for my mod unless the lookup table is created dynamically or placed in an optional additional (Patch) esp

Thanks, I will think about what seems to be suited.

Posted
12 hours ago, Adetu said:

Hey I am already old, so my thoughts are now often always in deadlocked ways.

I not young too but very young in fallout4 scriptwriters. If this array will be only string that means you not need dd requirements but maybe after before use on dd device remove it can be converted to keyword? Not sure exists that type of convert in papyrus already. Just my insane idea.

I'm now study dd library script and there is many useful functions like as removedevice what can in remove process destroy a inventory device - you only need both keywords - inventory and rendered.

 

Posted
13 minutes ago, Elsidia said:

If this array will be only string that means you not need dd requirements but maybe after before use on dd device remove it can be converted to keyword?

I wouldn't use names since string comparisons are slow.  An array can hold any data type (except another array).  So I would have two Armor[] arrays, one holding the InventoryDevices and one holding the RenderedDevices, in the same order.  Then if you have a Rendered device RDev and want to find the corresponding Inventory device IDev you just do

	IDev = InvDev[RenDev.Find(RDev)]

And vice-versa.

 

If you really don't want script dependencies on DD you can always populate them using GetFormFromFile()

	RenDev[0] = game.getFormFromFile(0x004C52, "Devious Devices.esm") as Armor	; Iron Chastity Belt
	InvDev[0] = game.getFormFromFile(0x004C53, "Devious Devices.esm") as Armor
	RenDev[1] = game.getFormFromFile(0x011969, "Devious Devices.esm") as Armor	; Institute Handcuffs
	InvDev[1] = game.getFormFromFile(0x01196D, "Devious Devices.esm") as Armor

I agree with @Adetu that there really is no point having separate inventory and rendered devices.  It just adds unnecessary complexity.  If I remember correctly, it is a leftover from some limitation Skyrim had with inventory manipulation that FO4 does not have.

Posted
1 hour ago, EgoBallistic said:

I wouldn't use names since string comparisons are slow.  An array can hold any data type (except another array).  So I would have two Armor[] arrays, one holding the InventoryDevices and one holding the RenderedDevices, in the same order.  Then if you have a Rendered device RDev and want to find the corresponding Inventory device IDev you just do


	IDev = InvDev[RenDev.Find(RDev)]

And vice-versa.

 

If you really don't want script dependencies on DD you can always populate them using GetFormFromFile()


	RenDev[0] = game.getFormFromFile(0x004C52, "Devious Devices.esm") as Armor	; Iron Chastity Belt
	InvDev[0] = game.getFormFromFile(0x004C53, "Devious Devices.esm") as Armor
	RenDev[1] = game.getFormFromFile(0x011969, "Devious Devices.esm") as Armor	; Institute Handcuffs
	InvDev[1] = game.getFormFromFile(0x01196D, "Devious Devices.esm") as Armor

I agree with @Adetu that there really is no point having separate inventory and rendered devices.  It just adds unnecessary complexity.  If I remember correctly, it is a leftover from some limitation Skyrim had with inventory manipulation that FO4 does not have.

 

Want to mention that the nice function 'haskeywordstring' only exist for skyrim (SKSE).

On the other side I've found out that on the FO4 CK main page for the desription of  available papyrus scripts sometime a function is forgotten to be listed like GetSlotMask() for attire :( Hope this is the only forgotten ones.

 

Checked how many DD armors exists. Thats too much for my taste, what means a lookup table is no longer a possibility.

So either the new version of my mod either require a clean save or a new game, because of extending the database struct,  or the version will not have DD support (as it is now)

 

Posted
On 1/30/2020 at 2:44 AM, Elsidia said:

Yes it can be done. And there no need logs. And if you need in future papyrus logs first you need allow do logging in fallout 4 ini files. In default is off to save your PC performance. About fix this problem i mention there a some pages above. But for that you need use Fo4edit to fix it in esp file. In armor you must add first person look hands from dd items meshes folder. And then save a esp. And it can be fixed if you wear other dd items together as i remember. this bug shows up only if boots are alone equip. I mean dd items what takes place in body - plugs and nipple clams not helps) Something like mini latex dress can help. Don't remember correct name of dress but those ones what have no boots.

Would you be able to put that in a step by step format? I don't understand most of what you just said. or if there is another guide that can help. I apologize if this sounds rude!

Posted
7 hours ago, Adetu said:

Checked how many DD armors exists.

As my thought dd items not good for fight that means if you wear locked dd item on you, you will be happy if it broke in fight. I know only 1 dd item what i don't want to break and even this item is from addon deviously cursed wasteland - Slave collar.

Posted
6 hours ago, NiceLime said:

Would you be able to put that in a step by step format? I don't understand most of what you just said. or if there is another guide that can help. I apologize if this sounds rude!

Ohh... If you don't know what you do it's very dangerous for fallout 4 and your mods. Before you do please do backup of all mods and saves.

First you need FO4edit https://www.nexusmods.com/fallout4/mods/2737

Run that program press ok and wait before all mods load.

Then find in list devious devices esp and press + near the name

If all correct then shows list of mods content you need press + near the Armor Addon

Now shows the list of all dd items

Going down and press on DD_Boots_Restrictive_Latex_Black_AA

In right side show up boots content you need press on Female 1st person (it's grey) and in right side near the this name press on blank cell right mouse button and choose add

Now it's in bold and you need press near the MOD5 Model file name in cell with right mouse button and chose edit In this cell you need type or copy from here

that text: DeviousDevices\1stPersonHands.nif

and press ok.

The same procedure you need do with DD_Boots_Restrictive_Leather_Black_AA too

After that if you sure that's all ok then press program close button - fo4edit show window where it ask you save your work. There must be only 1 name devious devices.esp if other then you do something wrong and then uncheck all checkbox (that means you don't want save a changes). FO4edit then closes without save a your work.

If you sure that's all okay then just press ok button and Fo4edit saves your work.

Then you can start a game and check if all works fine.

And boots now works normally.

But if you don't know what you do it's dangerous for mods and your fallout4.

 

Posted
13 hours ago, EgoBallistic said:

I wouldn't use names since string comparisons are slow.  An array can hold any data type (except another array).  So I would have two Armor[] arrays, one holding the InventoryDevices and one holding the RenderedDevices, in the same order.

Or somebody can port JContainers to Fallout 4 (permissions aside, it shouldn't be hard at all), and then you can use super nice JSON file to tie the inventory to render devices, and then you will never want to use anything else :)

Posted
13 hours ago, EgoBallistic said:

I agree with @Adetu that there really is no point having separate inventory and rendered devices.  It just adds unnecessary complexity.  If I remember correctly, it is a leftover from some limitation Skyrim had with inventory manipulation that FO4 does not have.

Unless i am horribly mistaken, the main reason for separate render and inventory devices was to provide means to handle unequipping items based on conditions and circumstances only IF the conditions and circumstances allowed it (player chooses what to do, using key or attempt to struggle, etc., and the item gets removed or not, based on the result of the action).


The inventory device is what player unequips, which triggers the script to hande the attempt to unequip "a device" without doing it when it shouldn't (ie. player has no key, etc.), in which case it equips the inventory item back without any visual oddities or complications taht would normally arise if a real item would get unequipped while it wasn't supposed to (even if it was for a split second).
Even in Fallout 4, i dont think you can achieve the same with only a single regular item (you will get visual "glitches" when locked items get unequipped and equipped again because it wasn't unlocked, switching pose/offsethand/animset as a result, and some minor scripting headaches).


Or am i mistaken? or have i misunderstood the context?

Posted
18 minutes ago, Roggvir said:

Even in Fallout 4, i dont think you can achieve the same with only a single regular item (you will get visual "glitches" when locked items get unequipped and equipped again because it wasn't unlocked, switching pose/offsethand/animset as a result, and some minor scripting headaches).

You may be right.  I know you can script items so that OnUnEquipped checks conditions and re-equips the item, but I hadn't thought about the visuals aspect.  I think that's how Real Handcuffs does it.

20 minutes ago, Roggvir said:

Or am i mistaken? or have i misunderstood the context?

No, you got the context, I'm probably just forgetting stuff :)

Posted
8 hours ago, EgoBallistic said:

Real Handcuffs

I think real handcuffs use other way: they blocked a inventory and you never ever can try unequip items before free.

 

Posted

I'm a little bit in dead end. How i can read variables from DD:DD_RestraintScript from equipped armor if i know both armors: inventory and rendered? I want check variable from this script what not stored as property and exists somehow only on that equipped device. I know that there is stored all inventory devices what are equipped on player FormList Property DD_PlayerEquippedItems Auto Const .

Probably i said unclear.

In DD:DD_RestraintScript is variable LockShieldTimer: float what store how many hours left before you can open a device. I need check that variable on one of equipped items from other script. I need to be sure if that device can be removed by this script because timer allows it. But if there left hours to be restrained then no device removing.

 

Posted

I found bug in antisleeping cheating system script. As you know when you sleep your restraints cool down not decreased stays the same.  But there can even increase!

 

As example on you dd item cool down time is 1 hour. You going to sleep on 10 hours but after 3 hours decided to break sleep and wake up. Or you wake up by enemy interrupt.

Now your restraint unlock cool down is 1+10-3=8 hours)

And if you have wearing a another restraints then their cool down increase too by 7 hours.

 

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
×
×
  • Create New...