Jump to content

lapponia

Members
  • Posts

    36
  • Joined

  • Last visited

Recent Profile Visitors

527 profile views
  1. Correct. There is currently no support for Male x Male or Male x Creature in the code nor does Apropos come with any descriptions for those type scenes. What you mainly get is Male PC and Female NPC stuff. But I've made my own port of Apropos which does support Male masturbation, Male x Male, Male x Male with the player on top, Male x Creature with W&T and all that jazz and there's someone who has already written scenes for most of it. When we've finished up cleaning up the code and descriptions we can release it and hopefully Gooser can incorporate that into Apropos Classic and/or the upcoming Apropos 2.0 or whatever it will be called
  2. Some time ago you tried to solve the capitalization issue with Apropos: https://www.loverslab.com/topic/24777-jcontainers/page-3?do=findComment&comment=688432 And as you know, the underlying issue is the way Skyrim caches Strings: https://github.com/NightQuest/SKSE/blob/master/Data/Scripts/Source/StringUtil.psc In AproposDescriptionsDb.psc, ReplaceTokens() function you have this: AproposDescriptionsDb.psc, Function ReplaceTokens If (tokenValue == "") result = result + TrimEnd(beforeToken) Else result = result + beforeToken + tokenValue; EndIf Here's what I did: If (tokenValue == "") result = result + TrimEnd(beforeToken) Else If StringUtil.GetNthChar(tokenValue, 0) == " " String str1 = StringUtil.Substring(tokenValue, 1, 2) String str2 = StringUtil.Substring(tokenValue, 3) result = result + beforeToken + str1 + str2 Else result = result + beforeToken + tokenValue EndIf EndIfWhile String synonym = "pussy" won't work (you'll end up with "Pussy"), you can have " pussy" which works just fine. I renamed the problematic synonyms in synonyms.txt to have a leading white space and then I'll just feed the synonym in two parts into the result String. I guess a symbol like hashtag (#) would work as well, that would also make it more apparent when reviewing the synonym list. I tried doing result = result + beforeToken + StringUtil.Substring(tokenValue, 1) but that won't work as the SubString will basically resolve to "Pussy". Neither will StringUtil.GetNthChar(tokenValue, 1)+ StringUtil.Substring(tokenValue, 2) work as it seems all single characters get capitalized as well. While not very clean, I don't know if there is any other way around this... I mean, you could rename the synonym keys themselves (and any other String definions that might conflict) but it would only solve the problem partially as Skyrim itself defines some strings as do other mods. *** In unrelated matter, have you put any thoughts into these suggestions I posted a while back? https://www.loverslab.com/topic/28123-apropos/page-141?do=findComment&comment=1257110
  3. Couple issues I found: Certain animations with dogs are not displayed. In AproposCommon.psc, you have this: ElseIf animation.HasTag("Canine") Return "Canine" But some animations do not use the "Canine" tag, they just have "Dog". Instead of relying on AnimationPatchups you could just do this: ElseIf animation.HasTag("Canine") || animation.HasTag("Dog") Return "Canine" There's also issue with the font size for the player, you cannot change it. Required additions to AproposConfig.psc: Event OnOptionHighlight(Int option) ElseIf option == _playerFontSizeOID SetInfoText("Sets the PC font size used by the Apropos Message Widget.") Event OnOptionSliderAccept(Int option, Float value) ElseIf option == _playerFontSizeOID Widgets.PlayerFontSize = value as Int SetSliderOptionValue(_playerFontSizeOID, Widgets.PlayerFontSize, "{0} pts.") String Function ExportMCMSettings() JMap.setInt(exportMapId, "Widgets.PlayerFontSize", Widgets.PlayerFontSize) String Function ImportMCMSettings() Widgets.PlayerFontSize = JMap.getInt(importMapId, "Widgets.PlayerFontSize")
  4. seems like you forgot to add {CUMMING} to synonyms.txt? Otherwise, nice update and looking forward for more!
  5. I think the latter, 71.31KB Download DW 2015-11-01.rar is the right one, some of the files are newer inside it.
  6. Earlier I made post to the main Apropos thread I should have put in this thread instead... Here is it again: In short: 1. Fix suggestion to the incorrect use of "the" article ("the Guard" vs "the Ulfric"). 2. Contextual masturbation descriptions 3. Contextual W&T descriptions Ashal added the required functionality to Sexlab Framework 1.60 for the ideas two and three.
  7. List of 5 with no disctinction between? Fair enough as there is only need for the latest partner in the W&T's case and there is no need to know what was the context of that animation. That could be somewhat useful for the masturbation scenes but there's so many existing ways to to make those descriptions even better like the sexual orientation. Even better idea would 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. Just speaking out a loud, I'm not asking for help with this Now that I think about it, those multiple entries you suggested will make it easy to just filter out the creatures with GetRace() as you are not limited with just the most recent partner. This gave me another idea: Now that we are on our way to cover the Five W's ("who" and "when"), do you see any potential tracking "what"? Basically StringList SexAnimations. Knowing the recent SexAnimations would be useful on it's own and these could also be used in some extent to figure out the context from the type of animation. This would allow even further filtering, making the SexPartners more useful/versatile. Apropos could make some use of SexAnimations, but practically any mods that have dialogue could use this to make things more dynamic: enslaver would torment you based on what he made you, spouse could mention how she really loved when you ate her out / how she thought the anal sex was wild last night, city guard could arrest you for public sex, tell you what the exact offence was and give you punishment based the type of act (more severe punishment for beastiality) and maybe arrest also your human partner... I think there are many possibilities especially when you use these together. The longer the list, the more latent actions/reactions you could have. 5 entries seems great for NPCs, but maybe for the PC we could have more? Or is there a need to keep the lists symmetrical? Below are some ideas how the booleans+ActorRef could have been saved on just 1 or 2 lists, but let's go with SexAnimations instead (if you agree on it's usefulness).
  8. I'll bite... In sslActorStats there is AddSex function. I saw that in the latest beta you are commenting out this: FormListAdd(PlayerRef, "SexPartners", ActorRef, false) It was still in the 1.59c. Why is it being removed, due to lack of use or did tthe list just grow too large? Or was there actually a mod that already does this? As we keep track of various stats like when the actor the last had sex, it would make sense to make a record with whom you had sex. In this case, only one entry would be needed (last time) so it wouldn't really be a list. I made a suggestion to Apropos mod that would require something like this. Here's the recapped usage: Masturbation descriptions sometimes include fantasies where the actor is thinking about women (if they are male) and men (if they are a woman), but the entries are currently static and thus the actor's sexuality does not play any part, at least not yet. Now, Sexlab does keep track of sexuality and number of partners but it would be more accurate and contextual if they would dream about man/woman/creature they last had (consensual) sex with, either addressed by name or gender/type. For the W&T feature there is nothing that already exists that could be used, not unless the count of men/women/creatures is tracked and calculation done what has been changed. In Wear & Tear the vagina/anus/mouth changes after sex, depending if it was consensual or not and if it was human or creature with a larger member. The current descriptions are again static, and sometimes does not reflect at all what has happened just a minute ago. ActorRef of the last sex partner would be needed. Here's what values would needed: - Latest ActorRef of the person they had sex with - Latest ActorRef of the person they had sex with as a victim / with agressor - Latest ActorRef of the creature they had sex with - Latest ActorRef of the creature they had sex with as victim / with aggressor This is because sometimes we want only consensual entries with persons/creatures (for masturbation), sometimes just the actual latest (for W&T). Other mods might want to know what was the actual latest person (maybe just the consensual or victim, or ignoring that). To accomplish this, I can only think adding one more entry (or two), A reference which was the actual latest. You Ashal might have a better idea how to do this. It would be easier if the FormList could contain multiple values as then there would be less need for so many lists, but would require new functions. Now, in Apropos case, tracking would also be needed for NPCs. Would be this be out of scope for the Framework, requiring Apropos to keep track of these on it's own (or separate framework mod that would do just that)? Even if you're not going to implement everything that would be needed for this, maybe a light-weight version for other modders?
  9. 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.
  10. Sexlab doesn't support playing creature voices (at least not yet). You could add creature voices as normal voices and instead of VoiceSlot 01 (Female) or VoiceSlot 11 (Male) use Wolf 01 (Creature) naming scheme. Then, make a edit to PickGender function inside the sslVoiceSlots to stop them from being assigned to humans, like: sslBaseVoice function PickGender(int Gender = 1) ; Get list of valid voices bool[] Valid = BoolArray(Slotted) int i = Slotted while i i -= 1 if !StringUtil.Find(Slots[i].Name, "(Creature)" == -1 Valid[i] = Slots[i].Enabled && (Gender == Slots[i].Gender || Slots[i].Gender == -1) endIf endwhile ; Select a random true in the list i = Utility.RandomInt(0, (Slotted - 1)) int Slot = Valid.Find(true, i) if Slot == -1 Slot = Valid.RFind(true, i) endIf return GetbySlot(Slot) endFunction The added 2 lines where: if !StringUtil.Find(Slots[i].Name, "(Creature)" == -1 [...] endIf Now, to get them to actually play during sex animations for the animals will require more extensive changes to scripts. I can look into this, but don't hold your breath. In other news, the problem with playing two sounds at the same time through Extra Voices is gone. I still have no idea how it came to be or how I fixed it...
  11. Okay, thanks for taking time to test this. I did yet another test on my game (re-installed Sexlab Extra Voices) and set both actors to use VoiceSlot 01 (Female), my character played the samples correctly I put in there, but the 2nd character was again random, heard only beeps (didn't put any voices in other slots). I also tried 1.0 again with the male voice slots and it works perfectly. 1.1b has the same problem when using male voice slots, or female + male voice slot. So... it must be on my end. Very puzzling to say the least. I think I'll have to stick with 1.0 for now (and fix the female entries in the CK).
  12. Okay, thanks! Small clarification: you don't have to try to use same voice, just two actors who use whatever voice slots provided by your mod at the same time.
  13. "Work for some", maybe it's related to this new bug/problem I found with the 1.1b version. If both actors are using voice added by Sexlab Extra Voices, the 2nd voice will always be random, it can be from the the vanilla voices, or from Extra voices. This happens even if both are set to use the same voice, in 1.0 this problem didn't exist. Everything seems to be in order in the Sexlab Extra Voices.esp... Although I noticed you now name the sounds and sound descriptors "SexLabExtraVFemale01Hot", SexLabExtraVFemale01HotDescriptor" instead of "SexlabVoiceFemale09Hot", "SexlabVoiceFemale09HotDescriptor". This is of course better solution if Sexlab ever comes with more voices than currently, but could this cause problems with Sexlab? This shouldn't be the case but I can't think any other reason
  14. You need to give more details. Are you using the fix posted couple posts up as currently only the first VoiceSlot works without it. Does the voice you are trying to add (as this mod doesn't provide any of it's own) have folders named "Mild sounds", "Medium sounds" & "Hot sounds"? Are the .wav files named 001.wav, 002.wav, etc? If there weren't 15 wave files in the mod, did you delete all the ones that didn't get replaced?
  15. I tried adding a voice for a "male" and lo and behold, it works. Did some further testing and all the male slots work just fine, even if you change them to be female in sslExtraVoicesFactory.psc. So the problem seems to be in the .esp with the Sound Descriptor? Here's a workaround until this gets fixed. Just put all the female voices you want in the slots 6-10. What I did, was change the Base.Name and Base.Gender into Female so you can use the voices not only for female PC, but also for female NPCs. Sexlab Extra Voices fix.rar
×
×
  • Create New...