lapponia Posted July 24, 2015 Posted July 24, 2015 Here's one thing that annoys me a bit, and also couple ideas: From FemaleActor_Male_HandJob_Rape_Stage2.txt, 3rd Person:(this is just an example, this problem appears in thousands of cases) "Will the {ACTIVE} be satisfied with this? What if he wants {PRIMARY} to suck him?", This can show up as this:"Will the Imperial Soldier be satisfied with this? What if he wants Sonja to suck him?". Or this:"Will the Ulfric be satisfied with this? What if he wants Sonja to suck him?", Article "the" shouldn't not appear in the latter case, not when {ACTIVE} is an named NPC. At the moment, the article is hardcoded into the description files, but it would be nice if we could make it dynamic. Here's one solution: 1. Replace all entries (quickly done with batch find-replace) of "the {ACTIVE}" with "{THE_ACTIVE}"2. Add String THE_ACTIVE_NAME_TOKEN = "{THE_ACTIVE}"3. Change the GenerateStandardTokenMap function Int Function GenerateStandardTokenMap(String primaryName, String activeName = "", Bool isActiveActorUnique = false) Int mapId = JMap.object() If activeName JMap.setStr(mapId, ACTIVE_NAME_TOKEN, activeName) if isActiveActorUnique JMap.setStr(mapId, THE_ACTIVE_NAME_TOKEN, "the " + activeName) else JMap.setStr(mapId, THE_ACTIVE_NAME_TOKEN, activeName) EndIf EndIf JMap.setStr(mapId, PRIMARY_NAME_TOKEN, primaryName) AddAllSynonymTokensToMap(mapId) Return mapId EndFunction 4. In places where you call GenerateStandardTokenMap and it contains activeName, you'd do this: Bool isActiveActorUnique = false If activeActor.GetLeveledActorBase().IsUnique() isActiveActorUnique= true Int mapId = GenerateStandardTokenMap(primaryFemaleName, activeName, isActiveActorUnique) EndIf In some animations like in those where the player is a male and he is having sex with a female, he is the activeActor. I'm not sure if playable races (vanilla or custom races) are flagged as unique. You could solve this by changing the above example a bit: Bool isActiveActorUnique = false If activeActor.GetLeveledActorBase().IsUnique() && activeActor != PlayerRef isActiveActorUnique= true With small changes to the above solution we can apply this fix also for those cases where {PRIMARY} is the generic NPC. Unfortunately, we cannot quickly fix the existing descriptions as "the" should not appear every time a generic {PRIMARY} is mentioned. But this would at least provide a way for any new (or edited) descriptions to be correct. The old entries can always fixed bit by bit. I'm not 100% sure if IsUnique() works in every case, but I think that is only good way to make a distinction between named and generic NPCs. Maybe checking if they are in the leveled actor list in which case they are not unique. Another option to all this would be to prune the article at later stage, but you might need to change the code a lot more to have access to the actorRef. Well, maybe you could make a global variable that contains the actorRef, but I'm not sure how that would work with threading (multiple) scenes with Apropos would work, maybe make an array and couple it with an ID? Doing it this way might make sense if you have any ideas how this could be useful in other ways. ... Another thing that would add to the immersion is to make masturbation and W&T descriptions more dynamic. In some cases the actor has fantasies, but that might not reflect their sexuality: "I'm so hot, so overcome by lust... Alduin himself could present his {COCK} right now and I'd gladly take it." An example for female actors: in DisplayFemaleActorMasturbationMessage we would check their sexual preference and pass to db.RetrieveFemaleMasturbationDescription -> db.RetrieveMasturbationDescription, in which we would add extra suffix to the full path. "male" and "female", maybe even "creature". The description files and their content for masturbation scenes would be split into 2-3 files, depending their context. Or rather, the entries would be copied and synonyms would be changed (with some minor changes to the wording) and if one doesn't feel like rewriting then you would delete the unfitting descriptions. Sexlab already keeps track of number of sex partners (men, women, creatures) and also sexual orientation that is calculated from that (but that doesn't take creatures into consideration). These could be used to figure out what they prefer the most, but it would be cool if masturbation fantasies would revolve around the last partner (who could even be referenced by real name if unique) instead of being based on general preferences. This would also be needed for W&T improvements that I'll explain soon. Even better idea would be to do a scan which (if any) actors nearby are naked/having sex and as masturbation is triggered by high arousal, making references to those other actors would make most sense. Then new words like {PASSIVE_RACE, PASSIVE_RACES} (which could either be man/men or woman/women or {PASSIVE_NAME} for direct reference. I noticed that Sexlab also used to keep track of sex partners: FormListAdd(PlayerRef, "SexPartners", ActorRef, false). It's still present for the 1.59c but it's been commented out in 1.60. Also, that only applied for player characters. As we already have OrgasmStart we cound add to there a call to new function (or just put the code in DisplayOrgasmStartMessage) and keep track who the actors has had sex with, we don't need to keep a whole history, so just saving the lastPartner would be enough. It could be ActorRef (which has more uses) or partner type (men, women, creature). For masturbation we would have one entry that would only update when the actor has consensual sex. For W&T another record would be kept which would update on both consensual and victim/rape scenes. Now, the problem with W&T is this: you'll sometimes get things of this sort: "That {COCK}... That {HUGE} {COCK} was just inside my {WTANAL} {ASS}...". If the woman just had sex with a creature or another with a strap-on, the above description is not very relevant. This could be used in W&T descriptions to provide contextual descriptions who actually was responsible for the increased W&T. As with the proposed improvements to masturbation messages, the descriptions could be split into 2-3 alternatives, the actual lines would be copied/moved around and synonyms changed with minor edits if needed. I've made a post to the Sexlab development thread, asking if support to these could be added to the Framework. ... + I also now mention how the article problem also applies for {PRIMARY} in some cases.+ Comment how Arousal & Masturbation is linked.
megusta Posted July 26, 2015 Posted July 26, 2015 Hello, is there any way to make Apropos print more than one sentence/phrase for each stage? I guess it would require changing the script entirely, but is it possible?
gooser Posted July 26, 2015 Author Posted July 26, 2015 Hello, is there any way to make Apropos print more than one sentence/phrase for each stage? I guess it would require changing the script entirely, but is it possible? No easily. The widget is designed to hold three lines of text at the default font size. Its not meant for long narration.
Mez558 Posted July 29, 2015 Posted July 29, 2015 Not sure if this has been asked before but is it possible to separate NPC/NPC dialogue from Player dialogue. i.e. having 1st person for player and 2nd or 3rd for NPC? Only ask as I have edited mine to be race specific and it would be cool if it only used those for the PC and would use generic ones for NPC/NPC events
gooser Posted July 29, 2015 Author Posted July 29, 2015 Not sure if this has been asked before but is it possible to separate NPC/NPC dialogue from Player dialogue. i.e. having 1st person for player and 2nd or 3rd for NPC? Only ask as I have edited mine to be race specific and it would be cool if it only used those for the PC and would use generic ones for NPC/NPC events Wait, do you use 2nd or 3rd for Player? Because already, NPC will never use 1st person, unless there's a bug somewhere, or if someone edited a file incorrectly. I specifically pick 2nd person (might be 3rd have to check) for all messages not-pertaining to Player.
Reesewow Posted July 29, 2015 Posted July 29, 2015 Not sure if this has been asked before but is it possible to separate NPC/NPC dialogue from Player dialogue. i.e. having 1st person for player and 2nd or 3rd for NPC? Only ask as I have edited mine to be race specific and it would be cool if it only used those for the PC and would use generic ones for NPC/NPC events Wait, do you use 2nd or 3rd for Player? Because already, NPC will never use 1st person, unless there's a bug somewhere, or if someone edited a file incorrectly. I specifically pick 2nd person (might be 3rd have to check) for all messages not-pertaining to Player. Yea, pretty sure it already defaults to 3rd person for any scene not involving the PC. If you keep your race specific edits to whatever perspective you use out of 1st or 2nd person, you shouldn't see them show up when the PC isn't involved in a scene (it makes no sense for a scene not involving the PC to use "I" or "you").
Mez558 Posted July 30, 2015 Posted July 30, 2015 Wait, do you use 2nd or 3rd for Player? Because already, NPC will never use 1st person, unless there's a bug somewhere, or if someone edited a file incorrectly. I specifically pick 2nd person (might be 3rd have to check) for all messages not-pertaining to Player. Ah, That had not occurred to me, I use 3rd and have always assumed it just used the option you had selected in MCM for all but from what you say I suspect 3rs is the default for NPC's. I will try 1st, thanks
circ Posted July 30, 2015 Posted July 30, 2015 Does Apropos place a synonyms.txt elsewhere other than Data/Apropos/db? As I've replaced it with custom descriptors and I still get descriptors from vanilla synonyms.txt that don't even exist in the file.
Dinosaurus Posted July 30, 2015 Posted July 30, 2015 Does Apropos place a synonyms.txt elsewhere other than Data/Apropos/db? As I've replaced it with custom descriptors and I still get descriptors from vanilla synonyms.txt that don't even exist in the file. It seems like now Apropos beta primarily (or only?) reads synonyms from the "bdsm" db folder. So go to Apropros>db>bdsm and do your synonym.txt there ~ then it'll work.
circ Posted July 30, 2015 Posted July 30, 2015 I've replaced that too and I still get instances of for example the word 'derierre' (typo too btw) showing up.
Fredfish Posted July 30, 2015 Posted July 30, 2015 There is "derierre" in Apropos Custom 160315 patch, maybe that's your problem?
gooser Posted July 30, 2015 Author Posted July 30, 2015 I've replaced that too and I still get instances of for example the word 'derierre' (typo too btw) showing up. Turn on Debug in MCM. Then under Message Preferences click REFRESH to rebuild the in-game database. Post the Apropos0.log file.
ButchDiavolo Posted July 30, 2015 Posted July 30, 2015 Does Apropos place a synonyms.txt elsewhere other than Data/Apropos/db? As I've replaced it with custom descriptors and I still get descriptors from vanilla synonyms.txt that don't even exist in the file. It seems like now Apropos beta primarily (or only?) reads synonyms from the "bdsm" db folder. So go to Apropros>db>bdsm and do your synonym.txt there ~ then it'll work. I had problems with customizing the descriptors (and other file) as well. Turned out that when you delete lines, somehow it is no longer recognised (at least that is how I interpreted it) So take the original txt files and customize it again, making sure you keep the same amount of lines, then go to Json Validation to see if it will work. Validating the files is very easy: copy and paste the contents of the txt file into the validation screen. If all is well, it will return a green "ok" result. Otherwise it will say where the problem is with a red result. See if that helps you. - Moo. P.S. another thing, when you replaced the original txt files, remember to load them into Apropos by going to the "Messages" tab in MCM and click refresh! As the OP says, synonyms, descriptors etc are loaded ONCE when you first installed Apropos and stored in your save-files and not loaded again. So to get Apropos to load your custom files, don't forget to REFRESH!
circ Posted July 31, 2015 Posted July 31, 2015 I've replaced that too and I still get instances of for example the word 'derierre' (typo too btw) showing up. Turn on Debug in MCM. Then under Message Preferences click REFRESH to rebuild the in-game database. Post the Apropos0.log file. Not seeing any apropos log files in any location. Validator says synonyms.txt is fine. Knew about the refresh thing but will try the last suggestion later.
ButchDiavolo Posted July 31, 2015 Posted July 31, 2015 I've replaced that too and I still get instances of for example the word 'derierre' (typo too btw) showing up. Turn on Debug in MCM. Then under Message Preferences click REFRESH to rebuild the in-game database. Post the Apropos0.log file. Not seeing any apropos log files in any location. Validator says synonyms.txt is fine. Knew about the refresh thing but will try the last suggestion later. You can check if it is loading the custom files when refreshing by turning on debug to console. Then click refresh. wait a few seconds and op then console. If it is loading the custom files, you will see the lists of synonyms etc being loaded. if not, you will see a line saying something like "synonyms.txt is not recognized" (paraphrasing here). You can find the apropos files in your \Documents\My Games\Skyrim\Logs\Script\User directory. So not in the steam directory. - Moo.
jtwo Posted August 3, 2015 Posted August 3, 2015 I'm pretty new here, so I apologize haha I installed the new beta and it worked great, but once I added on the textures Sexlab Defeat stops working. I'm novice at best when it comes to modding, but I can't see any connection between the too. However, I've removed the textures multiple times and it resolves the problem. I'm going to try it with the older version of apropos and see if that fixes things. Tried it with the older version and the problem persists, so maybe it's a conflict with J containers and Defeat's new version. I'm lost lol Can't imagine how the two are related. I'm using the latest version of Defeat, and have no issues. When you say stops working you need to be more specific. Do you go into bleedout state? Can you surrender? My bad here are some more details- The character will go into a downed state with arms bound behind back, which is different than the normal animation played. The character will remain like that and enemies will then attack a few moments later.
gooser Posted August 3, 2015 Author Posted August 3, 2015 I'm pretty new here, so I apologize haha I installed the new beta and it worked great, but once I added on the textures Sexlab Defeat stops working. I'm novice at best when it comes to modding, but I can't see any connection between the too. However, I've removed the textures multiple times and it resolves the problem. I'm going to try it with the older version of apropos and see if that fixes things. Tried it with the older version and the problem persists, so maybe it's a conflict with J containers and Defeat's new version. I'm lost lol Can't imagine how the two are related. I'm using the latest version of Defeat, and have no issues. When you say stops working you need to be more specific. Do you go into bleedout state? Can you surrender? My bad here are some more details- The character will go into a downed state with arms bound behind back, which is different than the normal animation played. The character will remain like that and enemies will then attack a few moments later. I'm sorry, but Apropos has nothing to do with the selection or determination of animations.
Stunami Posted August 3, 2015 Posted August 3, 2015 Any news on what you're planning for the next version? Just curious really.
Licki Posted August 13, 2015 Posted August 13, 2015 I'd like to say that I'm enjoying Apropos. I like the Dialogue and the Wear and tear tracking and effects. But a couple questions: I have slave tats installed and Apropos is recognizing it. I can even use slave tats directly and place the tears and such on my khajiit. But the automatic stuff from Apropos isn't working. Are these supposed to happen only at advanced stages of wear and tear? I've tested with several aggressive rapes against her, even gotten gang-banged by guys taking multiple turns in the same encounter. Apropos hasn't applied any textures. Anyone else getting this? Also, is there a way (or maybe something in the works) to increase the font size of the texts Apropos posts?
Dinosaurus Posted August 13, 2015 Posted August 13, 2015 I'd like to say that I'm enjoying Apropos. I like the Dialogue and the Wear and tear tracking and effects. But a couple questions: I have slave tats installed and Apropos is recognizing it. I can even use slave tats directly and place the tears and such on my khajiit. But the automatic stuff from Apropos isn't working. Are these supposed to happen only at advanced stages of wear and tear? I've tested with several aggressive rapes against her, even gotten gang-banged by guys taking multiple turns in the same encounter. Apropos hasn't applied any textures. Anyone else getting this? Also, is there a way (or maybe something in the works) to increase the font size of the texts Apropos posts? If you read the "Spoiler" about Wear & Tear right in the first post you'll have your answer. WEAR AND TEAR ABUSE TEXTURES (OPTIONAL FEATURE) EXPERIMENTAL! - Only works if you have Slavetats installed (version 1.05). See: http://www.loverslab.com/files/file/619-slavetats/ - Applies a VERY SPECIFIC set of textures!!! These textures are provided in the download area for Apropos, "Apropos_Abuse_Slavetats_Textures.7z". - The source mod for these textures is here: http://www.loverslab.com/files/file/835-skintextures/ - Needs to be enabled in MCM. The MCM options are only enabled if Slavetats is detected in your current game loadorder. - New "abuse" Wear and Tear statistics are tracked, parallel to the existing ones, for all body parts. - Three areas are tracked: General abuse (applies to all aggressors), Creatures, and Daedric (currently Seekers, Lurkers, and Dremora races). - General abuse W&T stats map to "After Effects" textures (see MCM) - Creature abuse W&T stats map to "Cuts and Scratches" textures (see MCM) - Daedric abuse W&T stats map to "Daedric Scars" textures (see MCM) - Also, face textures are applied for "Tears and Sobs" which are mapped to general abuse. - Please note that this an experimental feature and I am still working with murfk to improve how Apropos uses Slavetats-as-API. - There may be bugs, and slight perf hit when new decals are being applied (which only happens when W&T states change, e.g. anal wear 7->8) - Some of the textures are only seen at high levels of abuse: General abuse for FACE: - Level 9: Battered face decal - Level 8: Sobbing 2 decal - Level 7: Sobbing 1 decal - Level 6: Tears 3 decal - Level 5: Tears 2 decal - Level 4: Tears 1 decal General abuse for BODY - Level 9: After Effects 4 - Level 7-8: After Effects 3 - Level 6: After Effects 2 - Level 5: After Effects 1 Creature abuse for BODY: - Level 9: Cuts and Scratches 3 - Level 7-8: Cuts and Scratches 2 - Level 5-6: Cuts and Scratches 1 Daedric abuse for BODY: - Level 9: Scars 3 - Level 7-8: Scars 2 - Level 5-6: Scars 1 ^ There i quote it for you.
randomtguy Posted August 14, 2015 Posted August 14, 2015 I'm a huge fan of Apropos, it's an essential part of all my profiles. Can you tell a total noob modder how to set up a script so it reads the vaginal wear and tear values from your mod and randomly applies an effect at high values? Which Apropos scripts do I need to initialize in mine, and what property do I need to give them? As for the code itself, this was my best guess from studying the source files, am I on the right track? Int Function GetWearTearVaginalState(Actor theGirl) AproposActorAlias aproposActor = GetAproposActor(theGirl) If aproposActor Return aproposActor.VaginalWearTearState If aproposActor.VaginalWearTearState >= 6 [then the code for my effect]
microdd Posted August 16, 2015 Posted August 16, 2015 hello just put the mod back to a new game, used it before and it worked well. now i have this problem that the messages do not show up on the screen, instead it's only displayed in console, could you help me with it? ty
ZipZop Posted August 16, 2015 Posted August 16, 2015 Is there any special instructions for adding stages to any of the files in the db folder? MNC has added new many animations with either 6 or 7 stages, trolls for example, and I know Non-SL Animations have some with more stages in the animations that stages in apropos. Also, any special instructions for modifying the Animations Patchups file to include more animations, such as the new ones added through MNC? Or would it be better to manually edit the tags themselves? Please bear with me, I'm new and terrible to scripting. Unless there is a guide out there that explains what I need to do.
karlpaws Posted August 17, 2015 Posted August 17, 2015 Is there any special instructions for adding stages to any of the files in the db folder? MNC has added new many animations with either 6 or 7 stages, trolls for example, and I know Non-SL Animations have some with more stages in the animations that stages in apropos. Also, any special instructions for modifying the Animations Patchups file to include more animations, such as the new ones added through MNC? Or would it be better to manually edit the tags themselves? Please bear with me, I'm new and terrible to scripting. Unless there is a guide out there that explains what I need to do. Neither really take any scripting. If you have a new anim, just make a folder for it by name, and create the files with the same naming pattern. The Patchups file can be edited as well, just make sure you pay attention to the punctuation. You can easily get the animation names and where the files should be by turning on the logging features, and then checking your "My Games\Skyrim\Logs\Script\User\apropos.0.log" file.
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