volfin Posted October 21, 2013 Posted October 21, 2013 I have been hesitant to bring up an issue I'm having, as I figured I knew the cause, But since version 20130926, when the inventory management was altered, the mod runs really slow. It takes nearly 2 minutes between wearing the belt, and having it show up. Since the source was included with 2.0, I took a peek, and it is as I figured; while() loops going through every inventory item. Like some, I use 0 weight mods and have probably i don't know, 10,000 or more items in my inventory. So I figure it rolling through all these items over and over is the reason it's so incredibly slow. I know having so many items is my problem, but just thought you should know in case others come with the same issue. I'll probably see if I can mod this to not use while loops for myself. 2 minutes is a ridiculously long time, even with 10k items. In my tests (Having every item from the dawnguard QA chests in my inventory: Toooons of items), interaction took only a few seconds. Obviously it's a rather heavy-weight operation, though it's only called during belt interaction (There are no periodic "check every X seconds" sort of functions in this mod: Everything is keyed off of OnEquipped, OnUnequipped, and OnContainerChanged for the most part. As such, there are no performance impacts when not interacting with the belt). You're not going to be able to successfully remove the two offending functions (CleanupDevices and ReEquipExistingDevices) without damaging functionality significantly, as they are fairly crucial to the mod's reliable behavior/function (If you'll recall, the versions prior to 20130926 were rather fickle, and broke easily: The "new" (And I say "new", because this change is now almost a month old) inventory management system survives pretty much everything that you can encounter, including a player.removeallitems) I will give the matter some thought though, and see if I can't find an alternative. You may be right, I do run a lot of mods. But, using the Latency test for Convenient Horses, it says latency is only 50ms for the scripting engine (they say anything below 100 ms is 'good') However, a lot of 50ms increments add up I guess. CleanupDevices() and ReEquipExistingDevices() each get called twice before the belt equips, so that's 4 full iterations over the inventory, at about 25 seconds each. I'm still going to look into finding any mod that may be abusing the engine; I wish there was full-blown profiler. I looked into your script deeply, and you're right There's no simple way to eliminate the loops. (sad that Papyrus doesn't have functions to pull lists of FormIDs based on keyword). The good news is, your optimization In 2.0.1 for the most part avoids running the loops, so the 2 minutes is down to 2 seconds. Thanks
Veladarius Posted October 21, 2013 Posted October 21, 2013 So after playing around with the adding items to a leveled list in a separate esp it looks like it is finally working. I need to do some more testing and see if I can break it in game (I am usually good at doing that if possible). I have found a bandit wearing a belt. It will let me take it from their inventory but it reappears in their inventory (and mine) and remains on them visually. Also when I take it it says the belt remains locked on me (I am wearing one). I have also had it say the same thing when trying to give one to an npc from my inventory when wearing one.
Mdy Posted October 21, 2013 Posted October 21, 2013 I'm giving this mod a try. But would it be possible to offer a light version, without the need of SexLab Aroused? edit: Btw, what's happening while using Defeat and having the creatures assault enabled?
Veladarius Posted October 21, 2013 Posted October 21, 2013 For me the belt does not stop creatures from assaulting you. I don't know if they are tagged yet like the ones for people are.
Min Posted October 21, 2013 Author Posted October 21, 2013 I have been hesitant to bring up an issue I'm having, as I figured I knew the cause, But since version 20130926, when the inventory management was altered, the mod runs really slow. It takes nearly 2 minutes between wearing the belt, and having it show up. Since the source was included with 2.0, I took a peek, and it is as I figured; while() loops going through every inventory item. Like some, I use 0 weight mods and have probably i don't know, 10,000 or more items in my inventory. So I figure it rolling through all these items over and over is the reason it's so incredibly slow. I know having so many items is my problem, but just thought you should know in case others come with the same issue. I'll probably see if I can mod this to not use while loops for myself. 2 minutes is a ridiculously long time, even with 10k items. In my tests (Having every item from the dawnguard QA chests in my inventory: Toooons of items), interaction took only a few seconds. Obviously it's a rather heavy-weight operation, though it's only called during belt interaction (There are no periodic "check every X seconds" sort of functions in this mod: Everything is keyed off of OnEquipped, OnUnequipped, and OnContainerChanged for the most part. As such, there are no performance impacts when not interacting with the belt). You're not going to be able to successfully remove the two offending functions (CleanupDevices and ReEquipExistingDevices) without damaging functionality significantly, as they are fairly crucial to the mod's reliable behavior/function (If you'll recall, the versions prior to 20130926 were rather fickle, and broke easily: The "new" (And I say "new", because this change is now almost a month old) inventory management system survives pretty much everything that you can encounter, including a player.removeallitems) I will give the matter some thought though, and see if I can't find an alternative. You may be right, I do run a lot of mods. But, using the Latency test for Convenient Horses, it says latency is only 50ms for the scripting engine (they say anything below 100 ms is 'good') However, a lot of 50ms increments add up I guess. CleanupDevices() and ReEquipExistingDevices() each get called twice before the belt equips, so that's 4 full iterations over the inventory, at about 25 seconds each. I'm still going to look into finding any mod that may be abusing the engine; I wish there was full-blown profiler. I looked into your script deeply, and you're right There's no simple way to eliminate the loops. (sad that Papyrus doesn't have functions to pull lists of FormIDs based on keyword). The good news is, your optimization In 2.0.1 for the most part avoids running the loops, so the 2 minutes is down to 2 seconds. Thanks Glad to hear that is working better for you. So after playing around with the adding items to a leveled list in a separate esp it looks like it is finally working. I need to do some more testing and see if I can break it in game (I am usually good at doing that if possible). I have found a bandit wearing a belt. It will let me take it from their inventory but it reappears in their inventory (and mine) and remains on them visually. Also when I take it it says the belt remains locked on me (I am wearing one). I have also had it say the same thing when trying to give one to an npc from my inventory when wearing one. 2013-10-21_00002.jpg Yeah, I need to tune the NPC support. Will when I get a chance (Soon, today/tomorrow probably) I'm giving this mod a try. But would it be possible to offer a light version, without the need of SexLab Aroused? edit: Btw, what's happening while using Defeat and having the creatures assault enabled? Probably not unless there's considerable demand for that, sorry. For me the belt does not stop creatures from assaulting you. I don't know if they are tagged yet like the ones for people are. I haven't played around with creature support at all. I'll have to look in to that, though my initial thoughts are that there probably aren't a very wide variety of creature animations (Given the large number of creatures), and thus very few would have chastity friendly animations. If that's the case, the filter would have to just terminate the scene. I'll play with that later. I don't tag any specific actor/creature types. I'm monitoring a few events that Sexlab sends out during certain stages of sex acts, and replacing animations at that point. Actor type theoretically shouldn't matter, so long as sexlab generates the same events (And the actor has appropriate chastity friendly animations to sub out for). EDIT: Oh, I just realized that when you said "They aren't tagged", you meant "The creature animations aren't tagged". That's quite possible. I'll take a look later.
jbezorg Posted October 21, 2013 Posted October 21, 2013 Can't get the latest version to run on a new game. Does not show up in MCM and any of the locking effects do not happen. You either need to rename your scripts or your quest names. The later would be easier. Quest zadConfig & Script Quest zadConfig, Quest zadBQ00 & Script zadBQ00 are unique objects identified by the same name. There also seems to be some resource missing. The scripts attached to quests are failing to initialize. You may just have to recompile your scripts after the quests are renamed. FNIS FNIS Behavior V4.0 10/21/2013 5:46:27 PM Skyrim: 1.9.32.0 - d:\program files (x86)\steam\steamapps\common\skyrim (Steam) Generator: D:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\tools\GenerateFNIS_for_Users Skeleton female: TBBP (210 bones) male: TBBP (210 bones) Patch: "GENDER Specific Animations" Patch: "SKELETON Arm Fix" Reading DeviousDevices ... Reading EstrusChaurus ... Reading FNIS ... Reading FNISBase ... Reading FNISCreatureVersion ... Reading sanguinesCorruption ... Reading sanguinesDebauchery ... Reading SexLab ... Reading SexLabCreature ... Reading SexLabDefeat ... Reading ZaZAnimationPack ...( 6 furniture, 0 offset animations) Reading zzEstrus ... All Anim Lists scanned. Generating Behavior Files... Generating mt_behavior xml ... 17 GENDER modifications for Animations\male\ 24 GENDER modifications for Animations\female\ Converting Behavior Files (.xml to .hkx) ... Create Creature Behaviors ... Reading SexLabCreature ... Reading EstrusChaurus ... 1835 animations for 12 mods successfully included (characters) ( 6 furniture, 0 offset animations) - mt_behavior usage: 1.5 % (73/4770) 223 animations for 2 mods and 15 creatures successfully included.
volfin Posted October 21, 2013 Posted October 21, 2013 I did run into an issue that is probably rare, but figured I would share. I was using this mod: http://www.loverslab.com/files/file/403-sexlab-tdf-prostitution-and-pimping-the-former-aggressive-prostitution/ That allows for 3-ways. I guess the belt looked for a belt-friendly alternative, and didn't find one, so it spit out an error message "Could not find valid Solo Scene for [Acto", but continued with the animation anyway, only leaving me out. I was stuck in place, even after the animation stopped. I had to start an animation with a single partner to become unstuck. Luckily one was with talking distance. Could maybe have it play some alternate anim if nothing is found. like standing there frustrated or something haha.
Veladarius Posted October 21, 2013 Posted October 21, 2013 I did run into an issue that is probably rare, but figured I would share. I was using this mod: http://www.loverslab.com/files/file/403-sexlab-tdf-prostitution-and-pimping-the-former-aggressive-prostitution/ That allows for 3-ways. I guess the belt looked for a belt-friendly alternative, and didn't find one, so it spit out an error message "Could not find valid Solo Scene for [Acto", but continued with the animation anyway, only leaving me out. I was stuck in place, even after the animation stopped. I had to start an animation with a single partner to become unstuck. Luckily one was with talking distance. Could maybe have it play some alternate anim if nothing is found. like standing there frustrated or something haha. I have had it dump my character to a masturbation animation. Do you use Lovers Hook and if so do you have it set to only use known positions? If so that may be preventing it from going to a different animation.
Min Posted October 21, 2013 Author Posted October 21, 2013 Can't get the latest version to run on a new game. Does not show up in MCM and any of the locking effects do not happen. You either need to rename your scripts or your quest names. The later would be easier. Quest zadConfig & Script Quest zadConfig, Quest zadBQ00 & Script zadBQ00 are unique objects identified by the same name. There also seems to be some resource missing. The scripts attached to quests are failing to initialize. You may just have to recompile your scripts after the quests are renamed. 2013-10-21_00003.jpg FNIS FNIS Behavior V4.0 10/21/2013 5:46:27 PM Skyrim: 1.9.32.0 - d:\program files (x86)\steam\steamapps\common\skyrim (Steam) Generator: D:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\tools\GenerateFNIS_for_Users Skeleton female: TBBP (210 bones) male: TBBP (210 bones) Patch: "GENDER Specific Animations" Patch: "SKELETON Arm Fix" Reading DeviousDevices ... Reading EstrusChaurus ... Reading FNIS ... Reading FNISBase ... Reading FNISCreatureVersion ... Reading sanguinesCorruption ... Reading sanguinesDebauchery ... Reading SexLab ... Reading SexLabCreature ... Reading SexLabDefeat ... Reading ZaZAnimationPack ...( 6 furniture, 0 offset animations) Reading zzEstrus ... All Anim Lists scanned. Generating Behavior Files... Generating mt_behavior xml ... 17 GENDER modifications for Animations\male\ 24 GENDER modifications for Animations\female\ Converting Behavior Files (.xml to .hkx) ... Create Creature Behaviors ... Reading SexLabCreature ... Reading EstrusChaurus ... 1835 animations for 12 mods successfully included (characters) ( 6 furniture, 0 offset animations) - mt_behavior usage: 1.5 % (73/4770) 223 animations for 2 mods and 15 creatures successfully included. Odd. I'll apply your suggested changes, and PM you a version to test. I did run into an issue that is probably rare, but figured I would share. I was using this mod: http://www.loverslab.com/files/file/403-sexlab-tdf-prostitution-and-pimping-the-former-aggressive-prostitution/ That allows for 3-ways. I guess the belt looked for a belt-friendly alternative, and didn't find one, so it spit out an error message "Could not find valid Solo Scene for [Acto", but continued with the animation anyway, only leaving me out. I was stuck in place, even after the animation stopped. I had to start an animation with a single partner to become unstuck. Luckily one was with talking distance. Could maybe have it play some alternate anim if nothing is found. like standing there frustrated or something haha. Also odd. Can you post the log snippet for that one? Any lines beginning with [Zad]: are relevant.
Min Posted October 21, 2013 Author Posted October 21, 2013 I did run into an issue that is probably rare, but figured I would share. I was using this mod: http://www.loverslab.com/files/file/403-sexlab-tdf-prostitution-and-pimping-the-former-aggressive-prostitution/ That allows for 3-ways. I guess the belt looked for a belt-friendly alternative, and didn't find one, so it spit out an error message "Could not find valid Solo Scene for [Acto", but continued with the animation anyway, only leaving me out. I was stuck in place, even after the animation stopped. I had to start an animation with a single partner to become unstuck. Luckily one was with talking distance. Could maybe have it play some alternate anim if nothing is found. like standing there frustrated or something haha. I have had it dump my character to a masturbation animation. Do you use Lovers Hook and if so do you have it set to only use known positions? If so that may be preventing it from going to a different animation. Indeed, that is the intended behavior. Perhaps the DDBeltedSolo animation wasn't registered upon mod initialization for you. Another user reported that that happened for him. I'm going to add an option to the MCM menu to reregister animations in a future version. I haven't tested with Lovers Hook, so that could be it as well. Do you see "DDBeltedSolo" under the list of sexlab animations?
volfin Posted October 21, 2013 Posted October 21, 2013 I have had it dump my character to a masturbation animation. Do you use Lovers Hook and if so do you have it set to only use known positions? If so that may be preventing it from going to a different animation. No, I don't have Lover's Hook. I tried it again just now, This time I didn't get stuck, but instead was left 'humping air'. As soon as I tried to move, the humping animation stopped. The other two kept on going. It may be the getting stuck part was just some of the usual Havok goofiness when avatars pile on each other.
Min Posted October 21, 2013 Author Posted October 21, 2013 No, if you received the message "Could not find valid solo scene", then the mod gave up while starting a solo scene for your actor earlier. Can you post/pm me the log of your attempts?
Guest Posted October 22, 2013 Posted October 22, 2013 Anyone getting a CTD after the Bethesda logo animation? when I activate this mod I am greeted by the CTD. Any suggestions on how to solve this? Edit: nvm i made a stupid mistake mixed up files in a folder. By the way thanks for the mod.
Fredfish Posted October 22, 2013 Posted October 22, 2013 @kky3977 If you get a CTD after the Bethesda logo animation try running TES5Edit ( http://skyrim.nexusmods.com/mods/25859/? ) It should point out which mod is failing and why
mogon Posted October 22, 2013 Posted October 22, 2013 @Min Thank You for this nice mod. The little descriptions of the devices adding a intersting and tickling feeling while using them :-) a little suggestion: It would be nice to have devices enchantable, or make them enchanted allready. Maybe the chastity-belt, bra and plugs may give a little speech-boost (+5) and the restraints (as typical slave-equipment) could raise stamina/stamina-regeneration or, better, lift carryweight. If you make them enchantable you can maybe limit the enchanting-possibility to the same branches? again: thanks for the mod
Srende Posted October 22, 2013 Posted October 22, 2013 Liking the update. Is there a way to force the DDBeltedSolo animation to be registered with Sexlab? (apart from doing clean save that is.) For some reason it didn't happen on one character, and there didn't seem to be an option for it in the MCM menu. Perhaps the DDBeltedSolo animation wasn't registered upon mod initialization for you. Another user reported that that happened for him. I'm going to add an option to the MCM menu to reregister animations in a future version. I haven't tested with Lovers Hook, so that could be it as well. Do you see "DDBeltedSolo" under the list of sexlab animations? For now I solved it by resetting the animations in sexlab, manually registering animations from other mods and then saving and reloading to see if it would manage to register the animation here. It did and it works now. Also, the arousal level doesn't seem to stay locked on NPCs wearing a belt.
whitesmg Posted October 22, 2013 Posted October 22, 2013 occur a error ArousalThreshold passed invalid lookup string! massage showing when equipping belt, though I think AROUSED well installed. whats the problem?
Min Posted October 22, 2013 Author Posted October 22, 2013 Liking the update. Is there a way to force the DDBeltedSolo animation to be registered with Sexlab? (apart from doing clean save that is.) For some reason it didn't happen on one character, and there didn't seem to be an option for it in the MCM menu. Perhaps the DDBeltedSolo animation wasn't registered upon mod initialization for you. Another user reported that that happened for him. I'm going to add an option to the MCM menu to reregister animations in a future version. I haven't tested with Lovers Hook, so that could be it as well. Do you see "DDBeltedSolo" under the list of sexlab animations? For now I solved it by resetting the animations in sexlab, manually registering animations from other mods and then saving and reloading to see if it would manage to register the animation here. It did and it works now. Also, the arousal level doesn't seem to stay locked on NPCs wearing a belt. Glad that you resolved the animations issue for your install. I still don't know why that occurred. The arousal level should be locked for belted NPC's as well, as the filter code does not distinguish between PC's/NPC's. Can you reproduce the issue, and send me your log? All lines beginning with [zad]: are relevant. occur a error ArousalThreshold passed invalid lookup string! massage showing when equipping belt, though I think AROUSED well installed. whats the problem? Hmm. That sounds like I could have made a typo somewhere. In version 2.0, we added quite a few interaction messages that vary based on current arousal level, so it is possible that I introduced an error. I didn't see the problem with a cursory glance. What was your arousal level at when you received that message?
Srende Posted October 22, 2013 Posted October 22, 2013 Glad that you resolved the animations issue for your install. I still don't know why that occurred. The arousal level should be locked for belted NPC's as well, as the filter code does not distinguish between PC's/NPC's. Can you reproduce the issue, and send me your log? All lines beginning with [zad]: are relevant. Nevermind, looks like it was just the one NPC. The character had the rendered version equipped, but not the inventory one. So used both equip and unequipitem on the inventory one and that seems to have fixed it.
whitesmg Posted October 22, 2013 Posted October 22, 2013 occur a error ArousalThreshold passed invalid lookup string! massage showing when equipping belt, though I think AROUSED well installed. whats the problem? Hmm. That sounds like I could have made a typo somewhere. In version 2.0, we added quite a few interaction messages that vary based on current arousal level, so it is possible that I introduced an error. I didn't see the problem with a cursory glance. What was your arousal level at when you received that message? just level 3 by time passed 24 game hours
Srende Posted October 22, 2013 Posted October 22, 2013 One thing I noticed while fiddling around with the plugs on different characters, they worked on one, but didn't seem to have the script on them on the other. I realized the difference was that when they were working I had added them through console, and not crafted them. So I checked with CK and it seems that the plug recipes create the "base" item straight from the assets, where as the other recipes create the xxxxInventory items that I think you actually have working with the scripts.
Min Posted October 22, 2013 Author Posted October 22, 2013 So I did. I was rather tired when working on that component, heh. Whoops! New version is up, 2.0.2 Renamed quests to fix a bug that occurred for some users. Fixed erroneous plug recipes Fixed several dialogue typos
Veladarius Posted October 22, 2013 Posted October 22, 2013 So I have been working on a leveled list for this to add items to people and loot. The one item I have added are fake keys so you don't know if the key you found will work or not until you try it and real keys will require rarer items to craft. Currently this is how I have things divided: Set Level Groups: Basic: Iron Belt, Plug Set (Primitive and Iron plugs), Collar Set (individual cuffs/collars) and fake keys Moderate (10): Chastity Set (Padded Belt and Bra), Soul Gem plug, plug set (all), real keys High (20): Complete Outfit (belt, bra, all in 1 cuff set) and plug set (inflatable and soul gem) Master (30): a full set of items and keys I set the leveled lists up in a layered setup as so: Overall - contains all 4 sets and determines what level they appear at: was added to different loot lists for people and chests. The starting chance to appear is equal to any other item in that list Chance to appear by set type - Items are determines what the chance of different sets from the Set Level Group types to appear. Currently I have it at a 15% chance for each set to appear from a Set Level Group (ie for Basic you have a 15% chance for a belt, one or more of the listed plugs, one or more of the listed collar/cuffs and/or one or both fake keys). Chance of smaller sets from Set Groups to appear - Smaller sets within each set have a chance to appear (chastity set, cuff set , plug set, restraint set etc). Currently I have this at 50% for each item set so you may get nothing or up to all the items. While it seems that if the game determines that an item may be there (depending on the original loot list chance) and give you a 15% chance at a 50% chance of something(s) being there may seem small but the chance to get something has been added to all the peoples loot lists and all the chest lists you get a lot of chances. Also as your level increases so does your chance for things to appear. Yes it is kind of complicated and I created 17 leveled lists but in the end I only had to add 1 list to 17 of Skyrims leveled lists. I am testing things now to see how the distribution of items looks in game and if anything needs adjusted. To use this it has its own esp and just gets added to the leveled list of a bashed patch to work so it does not replace the original esp.
nokou Posted October 22, 2013 Posted October 22, 2013 So I have been working on a leveled list for this to add items to people and loot. The one item I have added are fake keys so you don't know if the key you found will work or not until you try it and real keys will require rarer items to craft. Currently this is how I have things divided: Set Level Groups: Basic: Iron Belt, Plug Set (Primitive and Iron plugs), Collar Set (individual cuffs/collars) and fake keys Moderate (10): Chastity Set (Padded Belt and Bra), Soul Gem plug, plug set (all), real keys High (20): Complete Outfit (belt, bra, all in 1 cuff set) and plug set (inflatable and soul gem) Master (30): a full set of items and keys I set the leveled lists up in a layered setup as so: Overall - contains all 4 sets and determines what level they appear at: was added to different loot lists for people and chests. The starting chance to appear is equal to any other item in that list Chance to appear by set type - Items are determines what the chance of different sets from the Set Level Group types to appear. Currently I have it at a 15% chance for each set to appear from a Set Level Group (ie for Basic you have a 15% chance for a belt, one or more of the listed plugs, one or more of the listed collar/cuffs and/or one or both fake keys). Chance of smaller sets from Set Groups to appear - Smaller sets within each set have a chance to appear (chastity set, cuff set , plug set, restraint set etc). Currently I have this at 50% for each item set so you may get nothing or up to all the items. While it seems that if the game determines that an item may be there (depending on the original loot list chance) and give you a 15% chance at a 50% chance of something(s) being there may seem small but the chance to get something has been added to all the peoples loot lists and all the chest lists you get a lot of chances. Also as your level increases so does your chance for things to appear. Yes it is kind of complicated and I created 17 leveled lists but in the end I only had to add 1 list to 17 of Skyrims leveled lists. I am testing things now to see how the distribution of items looks in game and if anything needs adjusted. To use this it has its own esp and just gets added to the leveled list of a bashed patch to work so it does not replace the original esp. curious question but all the goodies in the mod your talking about ... is this the same mod that gets updated here, or your private version?
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now