Jump to content

Recommended Posts

Hello, I wanted to give RC9 a try. What I wanted to know:

Is the database still supported in RC9? Because I'm currently using the database in a mod, but for the player only. The DD database gives an ordered result, in contrast to the formlist 'DD_PlayerEquippedItems'.

One disadvantage, however, is that the function "databaseRetrieve (akActor)" returns a struct as a result and therefore is only supported by the compiler with a hard dependency on Devious Devices.

( As a workaround I write a "wrapper function" in a mod that already had a hard dependency to DD)

 

Since you are implementing new functions also, is there a really quick solution to find an inventory device to a given rendered device ?

In my own mods, I always use 2 corresponding list, which eventually requires to be updated whenever a new version for DD is released.

 

One formlist "rendered_devices" contains all rendered devices, that are 'for interest'. The other formlist "inventory_devices" contains

all the inventory devices corresponding to the rendered devices.

 

In papyrus I use the following code fragment:

 

   armor inventory
   int idx = F4B_DD_armorlist_rendered.find (item)
   if idx >= 0
      inventory = F4B_DD_armorlist_Inventory.getat (idx) as armor

 

I do not know if something similar is now possible with the new functions supporting biped slots

 

Just a suggestion

 

regard

 

 

Link to comment
17 hours ago, Kanlaon said:

I do not know if something similar is now possible with the new functions supporting biped slots

From RC9 post:

Form Function GetEquippedGenericInventoryDeviceByKeywordAndOrBipedSlot(actor akactor, Keyword DeviousKeyword = none, int bps = -1)

Returns inventory device form equipped by parameters. You can set only one keyword or biped slot. Biped slot can be set as biped slot or index (there is check of it) it reads keywords from rendered devices too, so you can use keyword not only as devicekeyword in inventory device.  If you set keyword it will return first found device.  If you set both (keyword and biped slot) - it will return only device what is equipped in biped slot and have this keyword. If device is equipped in biped slot, but keyword not match, it will return none. Note: if you use biped slot, use main biped slot as F4SE can't read not main. For hoods it 46 headband, for boots it 44 {4] - left slot.

 

Bool Function RemoveGenericDeviceByKeywordAndOrBipedSlot(actor akactor, Keyword DeviousKeyword = none, int bps = -1) - the same as previous, but instead of return form it unequips this device.

 

All functions work with NPC too and speed is depend on inventory items count.

 

If you have idea what new functions need, can tell about it. Functions not much tested, but seems work fine.

 

17 hours ago, Kanlaon said:

Is the database still supported in RC9?

I not take out database support, so in theory must work.

Link to comment

Ok, I have started testing with RC9 and RC9 provide a ton of error messages in my papyrus log.

I hoped this misbehaviour has been removed, since RC8 already produces a lot of errormessage when

it starts. Anyway

 

stack:
    [DD_Library (0B004C50)].dd:dd_library.Log() - "G:\SteamLibrary\steamapps\common\Fallout 4\Data\Scripts\Source\User\DD\DD_Library.psc" Line 1580
    [DD_Library (0B004C50)].dd:dd_library.databaseClean() - "G:\SteamLibrary\steamapps\common\Fallout 4\Data\Scripts\Source\User\DD\DD_Library.psc" Line 2246
    [DD_Library (0B004C50)].dd:dd_library.OnTimerGameTime() - "G:\SteamLibrary\steamapps\common\Fallout 4\Data\Scripts\Source\User\DD\DD_Library.psc" Line 1836
[09/28/2023 - 05:41:46PM] error: Cannot call DebugType() on a None object, aborting function call
stack:
    [DD_Library (0B004C50)].dd:dd_library.Log() - "G:\SteamLibrary\steamapps\common\Fallout 4\Data\Scripts\Source\User\DD\DD_Library.psc" Line 1582
    [DD_Library (0B004C50)].dd:dd_library.databaseClean() - "G:\SteamLibrary\steamapps\common\Fallout 4\Data\Scripts\Source\User\DD\DD_Library.psc" Line 2246
    [DD_Library (0B004C50)].dd:dd_library.OnTimerGameTime() - "G:\SteamLibrary\steamapps\common\Fallout 4\Data\Scripts\Source\User\DD\DD_Library.psc" Line 1836
[09/28/2023 - 05:41:46PM] warning: Assigning None to a non-object variable named "::temp463"

 

I assume this is a race between the ConfigQuest and the regular Quest with the DDLibrary script while

config.DebugType is not yet assigned, but already used (?)


Function Log(String out)
    If config.DebugType == 1
        Debug.Trace("[DD]: " + out)
    ElseIf     config.DebugType == 2
        notify("[DD]: " + out)
    EndIf    
EndFunction

 

In Kimy's original it cannot happen because the function log is very simple


Function Log(String out)
    Debug.Trace("[DD]: " + out)
EndFunction

 

Maybe if the function could be changed to something like this (untested)


Function Log(String out)
    If config.DebugType && (config.DebugType == 2)
        notify("[DD]: " + out)

        return
    EndIf    

 

    Debug.Trace("[DD]: " + out)

EndFunction

 

it could improove the solution, while the underlaying problem still is there. At least the powder for your eyes should be gone.

I've not yet looked into the MCM if it is possible to switchoff logging complete, my suggestion of cource needs a small change

 

Regards

 

 

 

 

 

Edited by Kanlaon
Link to comment

I guess I will go back to Kimy's original, because RC9 flooding  the Papyrus log makes it too hard for me to localize the problems in my own mod.

Here some other start error - Do not know if it is serious.

 

[09/28/2023 - 06:27:10PM] error: Cannot call PipBoySetting() on a None object, aborting function call
stack:
    [DD_Library (0B004C50)].dd:dd_library.AutoHidePipboy() - "G:\SteamLibrary\steamapps\common\Fallout 4\Data\Scripts\Source\User\DD\DD_Library.psc" Line 3589
    [DD_Library (0B004C50)].dd:dd_library.ProcessBoundEffects() - "G:\SteamLibrary\steamapps\common\Fallout 4\Data\Scripts\Source\User\DD\DD_Library.psc" Line 3460
    [alias playerRef on quest DD_Library (0B004C50)].DD:DD_PlayerRefScript.OnPlayerLoadGame() - "G:\SteamLibrary\steamapps\common\Fallout 4\Data\Scripts\Source\User\DD\DD_PlayerRefScript.psc" Line 50
[09/28/2023 - 06:27:10PM] warning: Assigning None to a non-object variable named "::temp1114"
stack:
    [DD_Library (0B004C50)].dd:dd_library.AutoHidePipboy() - "G:\SteamLibrary\steamapps\common\Fallout 4\Data\Scripts\Source\User\DD\DD_Library.psc" Line 3589
    [DD_Library (0B004C50)].dd:dd_library.ProcessBoundEffects() - "G:\SteamLibrary\steamapps\common\Fallout 4\Data\Scripts\Source\User\DD\DD_Library.psc" Line 3460
    [alias playerRef on quest DD_Library (0B004C50)].DD:DD_PlayerRefScript.OnPlayerLoadGame() - "G:\SteamLibrary\steamapps\common\Fallout 4\Data\Scripts\Source\User\DD\DD_PlayerRefScript.psc" Line 50

 

Regards

 

Link to comment

Just another stupid idea.

Independant running events/functions can often cause unexpected trouble.

 

So maybe it is possible instead that the

OnquestInit and OnInit Event is triggered from the game,

simply place a similar function near to the end of OnQuestInit (but before the Update function call)

in the

Scriptname DD:DD_ConfigQuest

 

Regards

Link to comment
9 hours ago, Kanlaon said:

Scriptname DD:DD_ConfigQuest

Ok will take out my part of log changing, but it will not solve global problem.

Seems your latest event log errors happens on playerload game, so seems config quest not loaded, before calls it. So how at this stage onplayerload event we can be sure, that config quest is already loaded?

UPD: Also in DD RC9 is many logging as for tests, so it will spam log entry more. In each restraint apply or remove is about many lines of log. Config quest was added in RC8 so i assume it works right and use it for me.

UPD2: Also in my test run this error not shows up, so i can't tell why it's shows up in your game. Add test run log.

UPD3: Have strange idea: this error shows up after you load a game, save it (can on new slot), exit from game to windows, then load new save again?

I not familiar with all FO4 engine, but i have strange idea, that this error happens only on first run, as new mod not initialized and event onplayer load game happens faster as mod initialize. So after it's initialized save a game and try load again to avoid this error.

Papyrus.0.log

Edited by Elsidia
Link to comment
6 hours ago, Elsidia said:

Ok will take out my part of log changing, but it will not solve global problem.

Seems your latest event log errors happens on playerload game, so seems config quest not loaded, before calls it. So how at this stage onplayerload event we can be sure, that config quest is already loaded?

UPD: Also in DD RC9 is many logging as for tests, so it will spam log entry more. In each restraint apply or remove is about many lines of log. Config quest was added in RC8 so i assume it works right and use it for me.

UPD2: Also in my test run this error not shows up, so i can't tell why it's shows up in your game. Add test run log.

UPD3: Have strange idea: this error shows up after you load a game, save it (can on new slot), exit from game to windows, then load new save again?

I not familiar with all FO4 engine, but i have strange idea, that this error happens only on first run, as new mod not initialized and event onplayer load game happens faster as mod initialize. So after it's initialized save a game and try load again to avoid this error.

Papyrus.0.log 69.2 kB · 0 downloads

 

Link to comment

Hello

 

Yes, I see it. The problem is I do not know which mods I want to have for a new playthrough and testing

my own mods often (not always) requires a clean save.

 

So when testing maybe everyday I do something like a 'hardcore start' (?) going from an unmodded savegame Lvl30 to

a game with about 100 mods in load order.

Most of the mods through none or only very few errors with the exception of RC9.

 

In my opinion and from my background as a programmer a hardcore start should be possible,

at least if the mod does not depent much on other mods.

The problem with the config quest is only internal in Devious Devices, so i assume it can be solved.

 

RC9 has a lot of (other) improovements compare to the original, therefore

I will first try now with a modificated Log function.

 

Regards

 

 

Edited by Kanlaon
Link to comment

Hmmm, changing of the log and dbgnotification functions only removes some of the errors in the papyrus log.

 

I have made some smaller changes and all papyrus errors from RC9 in my 'hardcore start' are gone.

So changing Log function is not necessary (only if you want to improove performance)

 

Only I am still not sure if my solution now is correct, since the order in which the functions are called

is not what I have expected.

 

Tomorrow I will have a look again

 

Regards.

Link to comment
11 hours ago, Kanlaon said:

Tomorrow I will have a look again

Seems in your game config quest not defined somehow. So error will generate every time when other script goes get variables from config quest. like variable config is empty (none)

So when DD calls config.[some variable] it generates error config variable is none

Quote

Cannot call PipBoySetting() on a None object, aborting function call

And in this line 3580 is: If config.PipBoySetting == -1

 

UPD: Do you have in path  .... \Fallout 4\Data\Scripts\DD file DD_ConfigQuest.pex or if use MO2 - activated folder rewrite? This is how to config is defined into DD and if not found this file, it will be none.

 

UPD2: Line in DD library:

DD:DD_ConfigQuest Property config Auto Const        ; For mod settings/MCM

 

UPD3: And to completely work DD 2/0 RC8 or RC9 first you need remove DD 2.0 orignal completely - MO2 sometimes left old path and files, so be 250% sure that you remove all old DD 2.0. And only then install RC8 or RC9 as new mod. Both are completely independent and don't need both. only RC8 or RC9.

Edited by Elsidia
Link to comment

Ok,

RC9 seems now to be able to do a new start in my game and also a restart using onplayerloadgame.

 

It does not show up any errors, when starting up. (On a long play session I do not know)

I think Now I will not go back to Kimy's original version ?

 

If it is for interest I have only changed 2 small things !

(Have a look on the pictures)

1.) I have unchecked 'Start game enabled' in the DD_Library quest

2.) I start the DD_Library quest now in the OnQuestInit of the DD_ConfigQuest.

Thats it.

 

The traces with DDX are not necessary and only for testing. I expected the OnInit Event for the DD_libraryquest to fire after the OnQuestInit of the DD_ConfigQuest, but it doesn't

Reading the description again in the CK shows only that start game enabled quests are

loaded as soon as possible and that the handling for the other quests is different.

(No exact description)

Anyway now there seems no longer a race between these 2 quests.

 

Regards

 

DD_Library.JPG.c782fb46a3080f76e4b9beef66dc5960.JPG

NewstartwithDD.JPG.dbac1f91e358129a9e17923cd95c99c5.JPGDD_ConfigQuest.JPG.456c53455e84c28a35aa60a20116a1af.JPG

Edited by Kanlaon
Link to comment

As I understand it, the effect that you can't fast travel is part of DD itself and not one of the mods that use it.

 

If so, could you please add a feature where you can set which items or item categories block fast travel?

I'm ok with items that leave you pretty much completely defenseless not allowing you to fast travel.

 

But if you only got a buttplug shoved up your ass, that shouldn't block you from fasttravel.

Link to comment

Hi, I am having a small issue. It started with a fishnet dress showing up on my PC when she is nude but doesn’t show in my inventory. I would also get a message on the top left of the screen saying that an item cannot be unequipped.

Now the problem has become a little worse. My PC is stopping every once in a while, to play a struggle animation as if she is in handcuffs. The handcuff meshes may even show up during the animation with my PCs hands behind her back. After the animation is completed, my PC runs around like normal and no cuffs show up in the inventory.

Edited by aslab
Link to comment
14 hours ago, Enlightnd said:

As I understand it, the effect that you can't fast travel is part of DD itself and not one of the mods that use it.

Nope. I know only 1 item what block fast travel. It's from DCW Jack the Belter Quest, Jack the Belter Chastity belt.

 

 

Link to comment
9 hours ago, Elsidia said:

Do you have MCM mod?

Yes I use MCM, but the MCM implementation sometimes can make troubles when you use the MCM with script variables.

However, if you use MCM with settings or with Globals, i never recognized any problems with the MCM.

Link to comment
1 hour ago, AlexBlack02 said:

i might of skipped it but my devious devices is working up to the point an item like a locking dress or straight jacket is locked on it makes my body invisible. i have all the requirements installed first for it. how do i fix this?

Make sure to batch build them in BodySlide.

Link to comment
10 hours ago, MSEdgeView said:

Does the body you find with the note about the merchant in Goodneighbour spawn randomly or is it always at a certain location?

as far as i know it is a specific location and it does not despawn normally.

 

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
×
×
  • 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