小熊阿卡74 Posted October 17, 2023 Posted October 17, 2023 21 minutes ago, 小熊阿卡74 said: You can design a hotkey, and after pressing it, everything you wear will be seen as exposed by people Just like switching modes
Kanlaon Posted October 23, 2023 Posted October 23, 2023 Hello, thanks for your great mod. I'm just starting to deal with keywords and ratings and have a beginner's question about the script. I noticed the following: Function calculateSkimpyRating(Actor a) int prevLowerRating = sakr_val_skimpyRatingLowerBody.GetValueInt() int prevUpperRating = sakr_val_skimpyRatingUpperBody.GetValueInt() int newLowerRating = calculateUpperRating(a) int newUpperRating = calculateLowerRating(a) Is it intended like this or is it one of those spins that sometimes occur unintentionally ? Regards ?
DTESSurvivor Posted October 25, 2023 Posted October 25, 2023 Any thoughts to adding jackets to SAKR? I bring it up due to the way they can go over tops. Thank you for your mod.
sen4mi Posted November 13, 2023 Posted November 13, 2023 On 9/24/2023 at 3:42 AM, ebbluminous said: SexLab Aroused (or at least some versions of it) use this method. Works totally fine for me. A slightly more advanced idea: You equip item(s), go to MCM and select keyord(s) then hit a save button so you selections are available on a new game. Saves trying to build keyowrd datbases for everything in the game and players can build their own overtime. I have been thinking about building that mechanism. I have not yet figured out how to implement it - how to attach keywords to armors from within the game. I am probably overlooking something Really Obvious. (I have also had some difficulties getting MCM to behave, but that is a separate issue, and I suspect I know the cause of this problem.) But I think something like this would be critical,. I am making choices in bodyslide about which armors to build (and which zaps to apply) which would need to be reflected in game. And unless I can build something which inspects the results from Bodyslide to figure out which keywords to apply, any prepackaged keywords would be wrong for some clothing. (And then there's the thing where we can modify clothing/armors using the armor bench.) For now, though, I use this mod's "Debug" pane to set skimpiness. (This means studying the other panes to determine how to describe my equipped clothing and sometimes reading the source code to figure out how that would be rated. This also means that I sort of ignore quick equipment swaps.) One step up from this would be an MCM setup where I choose the keywords which describe my current outfit. (They would not be saved anywhere, but this would save me from having to figure out the rating manually. (This could also eventually serve to be the base for a mechanism which saved keywords to armors.)
vaultbait Posted November 13, 2023 Posted November 13, 2023 30 minutes ago, sen4mi said: I have not yet figured out how to implement it - how to attach keywords to armors from within the game. I am probably overlooking something Really Obvious. Maybe have a look at how Roggvir's No-Strip Items Manager works? A quick skim of NoStrip.psc indicates it's relying on AddKeywordToForm() which I think is a native function provided by LLFP's F4SE plugin. 38 minutes ago, sen4mi said: And then there's the thing where we can modify clothing/armors using the armor bench. For this, you can specify an Add Keyword property to the corresponding OMOD for the modification you're attaching. For now this can only be done with a plugin altering each OMOD record, but I have my fingers crossed that RobCo Patcher's OMOD support will eventually grow to include adding properties rather than merely changing existing ones as it does now.
sen4mi Posted November 13, 2023 Posted November 13, 2023 1 hour ago, vaultbait said: Maybe have a look at how Roggvir's No-Strip Items Manager works? A quick skim of NoStrip.psc indicates it's relying on AddKeywordToForm() which I think is a native function provided by LLFP's F4SE plugin. That, with DelKeywordFromForm looks like it should work. But if I understand the comments in https://www.loverslab.com/files/file/4317-devtestbeta-ll-fourplay-community-f4se-plugin-v43-2023-05-06/ correctly, these keywords associations do not get added to the save. MCM supports a storage mechanism, but I don't think it would work for my thousands of armor pieces, so ... I'm not quite sure how to manage saving this configuration. (Also, ... I do not know how to get a list of OMOD items in a piece of armor. (And ... inventing a comprehensible process for associating keywords with an armor's omod collection seems... doable but challenging.))
vaultbait Posted November 13, 2023 Posted November 13, 2023 3 hours ago, sen4mi said: That, with DelKeywordFromForm looks like it should work. But if I understand the comments in https://www.loverslab.com/files/file/4317-devtestbeta-ll-fourplay-community-f4se-plugin-v43-2023-05-06/ correctly, these keywords associations do not get added to the save. Again, if you look at Roggvir's approach, you'll see there's a Quest with an attached script and it has a FormList property (lots of them actually because it does this for each gender/race but ignore that detail for the sake of this example). It remotely registers for the Actor.OnPlayerLoadGame event and then reapplies the desired keywords each time the game is loaded. I don't know how time-consuming that's going to be if, like you say, you have thousands of Forms to extend, but it's a place to start and then you can always benchmark it to see if it's really a problem. 3 hours ago, sen4mi said: I do not know how to get a list of OMOD items in a piece of armor. ObjectReference.GetAllMods
sen4mi Posted November 14, 2023 Posted November 14, 2023 2 hours ago, vaultbait said: Again, if you look at Roggvir's approach, you'll see there's a Quest with an attached script and it has a FormList property (lots of them actually because it does this for each gender/race but ignore that detail for the sake of this example). It remotely registers for the Actor.OnPlayerLoadGame event and then reapplies the desired keywords each time the game is loaded. I don't know how time-consuming that's going to be if, like you say, you have thousands of Forms to extend, but it's a place to start and then you can always benchmark it to see if it's really a problem. ObjectReference.GetAllMods Hmm... I suppose I could maintain a form list for each skimpy armor keyword. And, unless there's something which cares about sakr keywords on npcs, I could wait for OnEquip to add/del keywords on each piece of armor. (I presume that equipped armor is visible in OnPlayerLoadGame.) I think would prevent the approach I was considering for omod handling, but omod handling was already going to need to wait. Thank you.
vaultbait Posted November 14, 2023 Posted November 14, 2023 12 hours ago, sen4mi said: And, unless there's something which cares about sakr keywords on npcs, I could wait for OnEquip to add/del keywords on each piece of armor. (I presume that equipped armor is visible in OnPlayerLoadGame.) Sure, you could take a look at how SAKR handles OnEquip/OnUnequip events itself, or I also have a heavily optimized approach in Milking Human Kindness (its development pre-dates the existence of SAKR, so I kept the internal nudity tracker as a fallback for users who don't have SAKR installed). Keep in mind that those events can come in rapid succession, so you definitely want to batch them up or implement some sort of mutex/queue scheme to avoid unnecessarily reevaluating the equipped item state multiple times when no new events have come in between queued evaluations.
sen4mi Posted November 14, 2023 Posted November 14, 2023 (edited) On 11/14/2023 at 9:54 AM, vaultbait said: Sure, you could take a look at how SAKR handles OnEquip/OnUnequip events itself, or I also have a heavily optimized approach in Milking Human Kindness (its development pre-dates the existence of SAKR, so I kept the internal nudity tracker as a fallback for users who don't have SAKR installed). Keep in mind that those events can come in rapid succession, so you definitely want to batch them up or implement some sort of mutex/queue scheme to avoid unnecessarily reevaluating the equipped item state multiple times when no new events have come in between queued evaluations. That's interesting. If I can get momentum on this (and getting started requires tackling a bunch of little issues), this suggests I might need to be concerned about sakr handling the gear before I can slap keywords on it. But it looks like sakr waits 1.5 seconds for things to calm down before it does its work, so I think I am ok there. The other issue this seems to raise is introducing processing delays from over-processing. I am currently hoping to add my own keyword to the armor to indicate that it's been processed, and bailing out without inspecting the keyword configuration form lists in that case. I am hoping also that waiting until I am done reapplying keywords to a piece of armor before applying that loaded keyword will be sufficient. (The abnormal cases I worry about here are cancelled processing from overload, and a potential threading issue where the same event gets triggered multiple times in different threads on the same piece of armor. I don't know about any primitives to use to deal with that too many instances of the same event problem, so I am hoping I can safely ignore it. And, if I can ignore it, I think the best way to handle cancelled processing would be to allow the player to restart that processing.) Anyways... thanks for your help. ---- Edit: this project will require developing in flash. The only example of a mod which does anything like the kind of MCM interface that I see being needed here is https://www.nexusmods.com/fallout4/mods/56195 I've managed to track down some of the tools necessary for flash development, but I have not yet tracked down relevant documentation. Anyone with clues, pointers or actual fallout 4 flash development experience who has time to deal with my confused explorations is welcome to throw useful information in my direction. Edited December 1, 2023 by sen4mi it's never easy
Kanlaon Posted December 12, 2023 Posted December 12, 2023 (edited) Question of a Noob: Wouldnt it be better and much faster (no checking of 10 keywords) to handle the event OnItemequipped in this way ? Event OnItemEquipped(Form akBaseObject, ObjectReference akReference) ;/ if akBaseObject.hasKeyword(ObjectTypeAlcohol) || akBaseObject.hasKeyword(ObjectTypeChem) || akBaseObject.hasKeyword(ObjectTypeCaffeinated) return endif if akBaseObject.hasKeyword(ObjectTypeDrink) || akBaseObject.hasKeyword(ObjectTypeExtraCaffeinated) || akBaseObject.hasKeyword(ObjectTypeFood) return endif if akBaseObject.hasKeyword(ObjectTypeNukaCola) || akBaseObject.hasKeyword(ObjectTypeStimpak) || akBaseObject.hasKeyword(ObjectTypeWater) || akBaseObject.hasKeyword(ObjectTypeWeapon) return endif /; if akBaseObject as armor ; I often had problems with the is operator that is why using the older as ! queuePlayerRatingRebuild() endif endEvent Regards Edited December 12, 2023 by Kanlaon
vaultbait Posted December 12, 2023 Posted December 12, 2023 8 minutes ago, Kanlaon said: Question of a Noob: Wouldnt it be better and much faster (no checking of 10 keywords) to handle the event OnItemequipped in this way ? Event OnItemEquipped(Form akBaseObject, ObjectReference akReference) ;/ if akBaseObject.hasKeyword(ObjectTypeAlcohol) || akBaseObject.hasKeyword(ObjectTypeChem) || akBaseObject.hasKeyword(ObjectTypeCaffeinated) return endif if akBaseObject.hasKeyword(ObjectTypeDrink) || akBaseObject.hasKeyword(ObjectTypeExtraCaffeinated) || akBaseObject.hasKeyword(ObjectTypeFood) return endif if akBaseObject.hasKeyword(ObjectTypeNukaCola) || akBaseObject.hasKeyword(ObjectTypeStimpak) || akBaseObject.hasKeyword(ObjectTypeWater) || akBaseObject.hasKeyword(ObjectTypeWeapon) return endif /; if akBaseObect as armor ; I often had problems with the is operator that is why using the older as ! queuePlayerRatingRebuild() endif endEvent Regards I brought it up early on as well, attempting to cast as Armor is the way most mods I'm aware of go about it (it's what I implemented in the nudity tracker for Milking Human Kindness before SAKR was an option). And if there is a desire to still skip certain Armor objects by Keyword (Pip-Boy effects, AAF no-strip keywords, even user-supplied overrides), stick them in a new formlist object called something like KeywordSkipList and then check with: If akBaseObject as Armor && !akBaseObject.HasKeywordInFormlist(KeywordSkipList)
Kanlaon Posted December 12, 2023 Posted December 12, 2023 6 minutes ago, vaultbait said: I brought it up early on as well, attempting to cast as Armor is the way most mods I'm aware of go about it (it's what I implemented in the nudity tracker for Milking Human Kindness before SAKR was an option). And if there is a desire to still skip certain Armor objects by Keyword (Pip-Boy effects, AAF no-strip keywords, even user-supplied overrides), stick them in a new formlist object called something like KeywordSkipList and then check with: If akBaseObject as Armor && !akBaseObject.HasKeywordInFormlist(KeywordSkipList) I guess in this special case all checked keywords are for consumables, except the weapons. I changed my version already. (My keyboard has problems with the "j" so sometimes it is missing)
vaultbait Posted December 12, 2023 Posted December 12, 2023 9 minutes ago, Kanlaon said: I guess in this special case all checked keywords are for consumables, except the weapons. I changed my version already. (My keyboard has problems with the "j" so sometimes it is missing) Aha, yes found it a few pages back (I agree this would be a significant efficiency improvement given how often the event fires): 1
truman1990 Posted December 18, 2023 Posted December 18, 2023 (edited) I want to create perk that is more potent based on general skimpy rating. I thought about creating conditions (like if skimpy rating global > 60/80 then to stuff differently). I see there is no global for overall rating. For now I am using lower body rating. Will it work? Edited December 18, 2023 by truman1990
vaultbait Posted December 18, 2023 Posted December 18, 2023 4 hours ago, truman1990 said: I want to create perk that is more potent based on general skimpy rating. I thought about creating conditions (like if skimpy rating global > 60/80 then to stuff differently). I see there is no global for overall rating. For now I am using lower body rating. Will it work? For perk entrypoints, you really want ActorValues rather than GlobalValues (updates of the latter tend not to be reflected quickly/consistently by the game engine). If SAKR doesn't incorporate an AV for this (pretty sure it doesn't), then you're probably best off having an activated quest script registering for SAKR's update events and reflecting them into an AV you've created for your perk mod. You can take a look at the ProxySAKR script in Milking Human Kindness for an example. It has a nudity AV which gets updated whenever SAKR signals a change, and then some of the perks defined in MilkingHumanKindness.esp rely on that AV to scale their effects.
hyperk2 Posted January 3, 2024 Posted January 3, 2024 I downloaded this mod and got things up and running, but I've been wondering, are there any mods that currently actually utilize the 'skimpy' rating? Mods like sexual harassment will use this mod to determine if you're exposed/nude or not, but I don't believe the degree of skimpyness (?) is taken into account at all. 1
jbezorg Posted February 5, 2024 Posted February 5, 2024 Keyword suggestion sakr_kwd_topTagBoobsExposed e.g. something like the DD corset top.
DTESSurvivor Posted March 2, 2024 Posted March 2, 2024 I apologize if this was asked before, but I have across a puzzle in my wardrobe and I would like to ask your opinion. Please note I regularly use FO4edit to add the keywords already, I am not asking for a 'how-to" but which keywords you would use for the half-jacket that this character is wearing. The jacket is a common example of modern fashion, but I'm just not sure how to rank it. Also, what would rank an open jacket in regular lengths and ankle lengths. Also, how would you rank slit dresses? One or two leg, wide or narrow slit?
Nazghul2 Posted March 7, 2024 Posted March 7, 2024 On 3/31/2023 at 8:22 PM, twistedtrebla said: It can be easily extendable to NPCs but will have performance implications. So I’m not going to go there until there’s an actual need for it, like a mod that wants to use that feature. Hi I tried this mod and I really like the concept (also made some conversion to integrate various popular armor and clothing with the robco patcher, like eli's compendium and NCR rangers, some tactical armors... all because I noticed if they are not tagged you are considered completely naked! XD ). I use mainly mods for when you can romance a NPC and go with lover's embrace, but I also found a mod on nexus that is sort of funny, is called "Flirty commonwealth" where sometimes npcs make comments to you that range from the light, jokingly flirty remarks to sort of heavy (eg raiders). but that is the extent of it. It came natural to me to think it would be really cool if it could be integrated with your mod, so that npc flirty comments would be triggered by your attire rather than just randomly (I am okay if I pass by in a sequin dress, but sounds odd if I am in hazmat suit or power armor to get complimented... unless you have xray vision!). The Cherry on top would be if after the NPC comment is triggered you could get an option initiate a flirty dialogue with an easy charisma check (but I think there are workarounds already if you want to do that ). Anyway great job! (If anyone is interested I can share my conversion for the robco patcher, but be warned they are mostly full covering clothes!)
the.witcher Posted March 27, 2024 Posted March 27, 2024 (edited) I think from time to time SAKR stops working - the stats don't update whenever i check them with the hotkey. Is there any way to restart SAKR? via console? Bump? Reinstalling SAKR doesn't seem to help ;/ Spoiler Edited March 31, 2024 by the.witcher
Nazghul2 Posted April 2, 2024 Posted April 2, 2024 On 3/27/2024 at 9:23 AM, the.witcher said: I think from time to time SAKR stops working - the stats don't update whenever i check them with the hotkey. Is there any way to restart SAKR? via console? Bump? Reinstalling SAKR doesn't seem to help ;/ Hide contents You might have something that counts as outfit or armor. did you try if the same happens on a fresh character?
the.witcher Posted April 3, 2024 Posted April 3, 2024 On 4/2/2024 at 3:52 PM, Nazghul2 said: You might have something that counts as outfit or armor. did you try if the same happens on a fresh character? I think i just killed that game. I am a guilty resaver user. taught me my lesson. it function without issue on the new game. i removed resaver shortcut. magically nothing breaks in my game now for more than 15 hours. Also, not modding mid-play seems to be a good tip
vaultbait Posted April 3, 2024 Posted April 3, 2024 2 hours ago, the.witcher said: I think i just killed that game. I am a guilty resaver user. taught me my lesson. it function without issue on the new game. i removed resaver shortcut. magically nothing breaks in my game now for more than 15 hours. Also, not modding mid-play seems to be a good tip I've never used Resaver, but from what I've heard it's far less safe to use on Fallout 4 saves (in particular that the game makes use of unattached script instances, unlike Skyrim, so if you "clean" them you'll destroy your save). Apparently you can still use it for some select FO4 save surgery tasks, but only if you really know what you're doing. 1
AdmaK Posted April 5, 2024 Posted April 5, 2024 (edited) This may seem like a stupid question, but is "sakr_kwd_pantsHotPants" actually supposed to be used as a tag in conjunction with "sakr_kwd_pantsShorts" like you would for example with "sakr_kwd_pantsTagTight"? I created a patch for myself for HN66's EasyGirl & TRS and attached this keyword to all hotpants items but when my character wears them, her skimpy rating is at 100 for lower torso. Switching to pants or adding a thong or whatever else changes the rating, so it's not that the system isn't working... Everything else I added keywords to works just fine... It just doesn't seem to recognise the hotpants keyword as I assumed it should... Have other people had this? Do I just use "sakr_kwd_pantsShorts" and add "sakr_kwd_pantsTagTight" to up the skimpy value? EDIT: My own post inspired a bit more testing... It seems that the only keyword that works for me with pants is the "sakr_kwd_pantsLong" keyword. It seems to completely ignore any other Pants keyword for some reason. All MCM values are still at the defaults... It just doesn't seem to react to the others at all. It seems to work fine for other items... tops, bras, panties etc with associated tags making the expected adjustments. Is this unique to me somehow or are other people experiencing this as well? Further EDIT! NOOB ERROR - Please ignore me. I found the problem. I had forgotten to flag my patch in Vortex, so it was loading before (and being overwritten by) the main mod file I am working on... Just thought I'd pop this in here in case anyone else has a similar problem and searches for a solution. Edited April 6, 2024 by AdmaK
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