Jump to content

Recommended Posts

Posted
On 3/2/2025 at 11:39 PM, randomDudeHere said:

 

I'll look through the logs and do some debugging to see what issues there are. The stuff I've seen may be NAF acting up or another mod acting up. If I see anything, I'll update the thread.

 

Did some further testing. Took me a while since I was... uh... a little distracted. Tends to happen a bit when testing these mods.

I've seen two main issues from NAF/NAFicator. The first issue happens with NAF and AAF Violate, possibly MSMA SJ. What will happen is that when actors are being moved into the scene, they will become frozen. This results in the scene playing out with only some or one (the player) actor. Alternatively, one or more of the actors may be stuck in the same animation. So even if you change positions (animations), the actor will still continue to play out their first animation. This last problem is something I've seen with AAF (the last version before 2.0). but only happens if the actor has a weapon still equipped. I'll need some time and... erm... focus to figure out if the problem is with MSMA SJ or NAF/NAFicator as I've not noticed this problem before. This only happens during a AAF Violate event. The only solution I've found is to disable DD/KFT restraints (as it may be part of the issue), and use Violate to only take care of a small number of enemies.

The second issue is that if you try to cancel out of a scene too quickly, MSMA SJ will not be able to detect that the scene ended. Meaning it will continue acting as if the player is still in a scene. This might be a NAFicator issue or timing issue. But, luckily the solution is to start another scene through something like SH, Violate, Prostitution, etc. and give it some time before trying to end the scene. SJ will be able to detect when that scene ends. Reloading has caused crashes for me.

Posted (edited)

v0.7230  -seamless update from the previous version

A bit larger as now includes some music files 

  •  Detected and treated edge case when sex fight challenges were continuing after the AAF animations had ended (It could happen on animations force-ended with End too quickly) . 
  •  Due to popular demand, extended the Sexfight Synthethic sounds mute setting from the old 0. 1 range , now it can go up to 2, to mute even more of the synthetic sounds in sexfight, (leaving mostly only the moans).
  •  MCM page with some music controls.
  •  Script clean-up and other smaller QoL fixes.
  • Higher level bimbos can' t use solo AAF animations to bring their arousal back down to perfect 0  anymore . Unless they have a real partner  in that anim, their arousal hops back  BimboLevel*12, (unless what they had was higher anyway)
  •  Added some partial bimbo solves for the Sanctuary chores that Sturgis makes you do after you save him from the raiders. Talk with him again after he asks you to build beds or to build water pumps and he will offer you a quicker way to get ahold of the needed materials. His friend Wedge runs a caravan nearby and has need of some specific skills. The goal here is to have Wedge provide all materials needed for the Sanctuary "chores" in exchange for certain services. If those services are done above and beyond ( yes it involves sex and above and beyond means  getting him to mind-blowing or galactic orgasms via Sexfight), he will also provide rarer or more  materials and/or caps.  Don't worry you can' t kill him via Sexfight, not even by accident. Unfortunately I had to scrap more than half of what I had built for it in this release as apparently the papyrus script compiler  (the one  ran via the CK)  does not like at all quests with many tiny fragment scripts;   I had to cut a lot of the script-fragment-dependent dialogues to have something functional. So right now I only released the parts for beds and water pumps, (not food, Defense or Power) All of this is my training for the more complex things later on, on SJ's island in act2.

 

Edited by MSM_Alice
Posted

Hello everyone, is there a Russian translation somewhere for this mod? Can you tell me? I am writing as a translator.((Всем привет а есть русский перевод где нибудь на этот модик не подскажите пишу переводчиком.))

Posted

I was looking for a translation of this mod into Russian, but I couldn't find it anywhere. I translated it myself, but it doesn't work for me. The conversation starts at the beginning of the mod, but it doesn't register in the menu. There is no sex fight. I'm trying to find a translation error. Sorry, I'm writing through a translator

Posted (edited)
9 hours ago, vladpol said:

I was looking for a translation of this mod into Russian, but I couldn't find it anywhere. I translated it myself, but it doesn't work for me. The conversation starts at the beginning of the mod, but it doesn't register in the menu. There is no sex fight. I'm trying to find a translation error. Sorry, I'm writing through a translator

Thank you!
Right now a lot of the UI strings (aside from the character speech lines) are in the Papyrus scripts themselves, not in the ESP

If you want, I can give you a zip with ALL the source script file from the latest release, but be warned, hunting and changing all strings everywhere will be a very tedious task.

In my mind, the process of making translations easier, like grouping all text lines in the one String manager script (which is there, the architecture for it is already built),  so you don't have to hunt them around), and having them be initialized from an XML file instead  is something that I would do when the mod hits version 0.9-ish 

A - these texts would change often until then.  so it woul be wasteful do do it again and again and again.
B. - there will be fewer placeholders

Edited by MSM_Alice
Posted

On the subject of charming attackers:

 

I think it's not just a matter of putting them in the player faction - I think that that should stop them from attacking the player. I think you would also need to remove them from their old faction. (Or, maybe, in some obscure cases: factions?) Though there might be workarounds on this issue based on who has been damaging who?

Posted (edited)
4 hours ago, sen4mi said:

On the subject of charming attackers


Here's what I do in my local build of this mod for now:

Spoiler

 

Function Purify(Actor target)
	if target.IsInCombat()
		target.StopCombatAlarm()
		target.StopCombat()
	endif
	
	if !target.IsEssential()
		;for non-essential it will kill and resurrect back
		;reason for that is to progress quests that rely on kill-counts
		target.SetProtected(false)
		target.kill()
		Utility.Wait(0.2)
		target.resurrect()
	endif
	
	target.RemoveFromAllFactions()
	target.SetRelationshipRank(PlayerRef, 3) ;won't do much for templated actors tbh, mostly for quick check
	Faction root = Game.GetFormFromFile(0x0001C21C, "Fallout4.esm") as Faction
	if root
		target.AddToFaction(root)
	endif
EndFunction

 

-- ideally, it should also check the initial hostility because removing from all faction can be an ultimate middle finger to non-hostile "usual" NPCs and even cause them to start fighting each other. I disabled it for now though - because Violate does make actors non-hostile (obviously) before the deed rendering this sort of check moot. It'd require some more careful check or smart integration with Violate that would determine hostilities before that mod pacifies the bunch. I just didn't care to do it much yet.

Edited by Operand
Posted (edited)

@sen4mi
@Operand
Thank you so much. I shall analyze this carefully.

Right now I think the safest way to do that (without messing with other sub-systems, is to just make them "Berserk", and activate that mode where they attack whoever is closest, friend or foe.  That combined with the fact that when the player exits, it has a temporary armor boost should be sufficient to make them kill each other while you escape. I can add some temporary invisibility to the player too.



At any rate: the new version: finalized the bimbo optional solutions for Sanctuary Chores Quest (and a bit above)   
All Sturges Sanctuary chores now have Bimbo solves (and they all involve visiting Wedge). 

Dialogue is sensitive to bimbo level and past context, for instance, if you sex-fought raiders when you saved Preston Sturgis and the gang, he will have a bit of a different dialogue when you confront him on his pervy-ness
Also, there are some small differences in dialogue depending on your bimbo level when you take on these challenges. 
Rewards are better (or worse) depending on how well you do in pleasing Wedge (you can use Sexfight, but you can't kill Wedge, not even by accident). 

Taking them on at bimbo level 0 is probably quite difficult (but not impossible), but taking them on at Bimbo level 3 is probably too easy. 
In theory, you should be bimbo level 1 or max 2 
After you are done you can tap Sturges to visit Wedge and friends every 12 in-game hours for some extra cash if you want to, or just flat out tell Sturges that Sanctuary is built up and you have no interest in stripping on camera for resources or caps anymore. 

Script sources too here.
 

 

Edited by MSM_Alice
Posted
9 hours ago, MSM_Alice said:

just make them "Berserk", and activate that mode where they attack whoever is closest, friend or foe.

 

That's just a good old

target.SetValue(AttributeAggression, 3)

 

unfortunately though, it needs to be done after Violate's (or any other mod for that matter) scene/sequence is done. Doing it in the middle will break things badly. And I disliked the "Berserk" part though. I wanted an option to "make them a proper member of society" ( .. of .. sorts).

 

P.S. Thanks for the sources, no more Champolion hackery.

Posted (edited)
2 hours ago, Operand said:

 

That's just a good old

target.SetValue(AttributeAggression, 3)

 

unfortunately though, it needs to be done after Violate's (or any other mod for that matter) scene/sequence is done. Doing it in the middle will break things badly. And I disliked the "Berserk" part though. I wanted an option to "make them a proper member of society" ( .. of .. sorts).

 

P.S. Thanks for the sources, no more Champolion hackery.

I could do that (probably) pretty easily after the official violate end event triggers, which is right after their violate-induced pacification runs out. 

I should probably still keep some reference to all of them for a few minutes, to award xp to the player whenever they  die 

Making them proper members of society I think over-complicated things, has too many implications/ramifications to realistically manage correctly. 

Edited by MSM_Alice
Posted
1 hour ago, MSM_Alice said:

Making them proper members of society I think over-complicated things, has too many implications/ramifications to realistically manage correctly. 

Oh, you don't have to concern yourself with it. To me - I'll just probably check leveled actor / actor base and if it's one of the hostile factions, apply "corrective procedures" like I already do. They will be "productive members of society" - in the sense that they will be permanently non-hostile to PC and stuff like Settlers. They will even fight PC's enemies if prompted. But they will still have their old "habits" aka where they hang out or voice lines. But that's good enough for me.

Posted
4 hours ago, Operand said:

Oh, you don't have to concern yourself with it. To me - I'll just probably check leveled actor / actor base and if it's one of the hostile factions, apply "corrective procedures" like I already do. They will be "productive members of society" - in the sense that they will be permanently non-hostile to PC and stuff like Settlers. They will even fight PC's enemies if prompted. But they will still have their old "habits" aka where they hang out or voice lines. But that's good enough for me.


Do you happen to know of an elegant way to mark an actor in such a way so that it grants its XP on death to the player when they die, even if the player didn't do any damage to them?
VictomActorReference.Kill(PlayerRef)  does not seem to do the trick.

Posted (edited)
34 minutes ago, MSM_Alice said:

Do you happen to know of an elegant way to mark an actor in such a way so that it grants its XP on death to the player when they die

 

Instead of using .kill(), add a SPEL record to your module with a singular MGEF attached to it that's flagged harmful and does over 9000 damage and then use Spell.Cast() as in:

Function Cast(ObjectReference akSource, ObjectReference akTarget = None) native

 

?

 

Spoiler

(the bonus from is could also be that with the right shader you can make it looks like a spectacular finisher)

 

Edited by Operand
Posted (edited)
1 hour ago, Operand said:

 

Instead of using .kill(), add a SPEL record to your module with a singular MGEF attached to it that's flagged harmful and does over 9000 damage and then use Spell.Cast() as in:

Function Cast(ObjectReference akSource, ObjectReference akTarget = None) native

 

?

 

  Hide contents

(the bonus from is could also be that with the right shader you can make it looks like a spectacular finisher)

 


That should work on kill.

It does not work when they go in berserk mode and kill each other though. 

I guess I could go the safe route and populate a list of actor aliases with all the NPCs involved in this, register for On Death events for each of the populated aliases listen to that event, and do things when/if it triggers but... I might be overcomplicating things.  

Edit: I wonder if I  can do something sneaky and have the player deal a significant chunk of non-fatal damage to them (via spell) and then immediately heal that damage, just to the player is recorded as having hand a significant contribution to the kill so the vanilla system does the XP reward without me listening for their OnDeath events and trying to do a parallel compute of XP points.

Edited by MSM_Alice
Posted (edited)
56 minutes ago, MSM_Alice said:

It does not work when they go in berserk mode and kill each other though. 

Uff. If you want PC to score XP from that one (why though?), it's going to be a bit more involved. There are multiple ways to do it, varied in level of hackiness.

 

 

Method 1: native (trying to keep it as much in-game means as possible)

Spoiler

For the XP of an NPC that's the target of the frenzied "would-be-ally" of the PC:

 

1. You mark the target berserk (as I mentioned above, equivalent to console's setav 2bc 3)

2. You subscribe to that target's event OnCombatStateChanged;

3. In that event handler you will get this actor's current combat target

4. You apply the method I've mentioned above with the SPEL record

 

This would make that frenzied NPC into an ultimate killing machine though (as it will kill everything in its wake since the spell kills instantly). If you want it to "fight normally", then you'd need

 

4. In that event handler you set the target as protected, aka target.SetProtected(true)

5. You subscribe to this target's OnEnterBleedout

6. In the handler for OnEnterBleedout you:

   6.a. Heal that NPC - like target.RestoreValue(Health, 1000)

   6.b. Remove the protected flag: target.SetProtected(false)

   6.c. Apply the SPEL method I mentioned above

 

With this you'll emulate "fair fight" and then. The downside is that you're juggling with event handlers and should a third party intervene (for instance, the fight is between raiders and then a deathclaw rolls in), it will not work 100% correctly. This is rather fragile, but should work in most cases.

 

Method 2: just cheese it

Spoiler

For the XP of an NPC that's the target of the frenzied "would-be-ally" of the PC:

 

1. Subscribe to that actor's OnKill event

2. In that handler, you'll get its target (i.e. the one it killed)

3. For that target, you:

   3.a. Resurrect it: target.resurrect()

   3.b. Apply the SPEL method I mentioned before

 

This has a bonus of simplicity and reliability as it won't break regardless of circumstances and it's much easier to manage. The major downside here is that - well, the actor will die, then come back to life and then die again - which would look very odd if PC is present.

 

Method 3: try to predict it

Spoiler

This is similar to method 2, but on step 3, instead of resurrecting the target and killing it, you try to calculate "what would be the XP for PC", so you:

 

3.a. You calculate experience points, see the wiki

3.b. Don't forget to add the counter if you want it: Game.IncrementStat(); however you'd need to check which stat you want to increase as different races track differently.

 

The upside here is that this is probably the best method when it comes to "easy to implement" and "how stable it is". The issue is that a lot of complexity is hidden in that "just calculate experience points" as it depends on perks, the enemy - even luck-based stuff. Worse - if the install has some GMST modifications (as in Game.SetGameSetting*() or mods that do it) on experience, then - well, your prediction will miss the mark.

 

Finally, if you also want XP to roll from the frenzied NPC's death itself too, then simply apply any of the methods above but instead of target use this NPC itself (where applicable)

Edited by Operand
Posted (edited)

There is a thing that I really like though about this frenzied/berserk system vis-a-vis of paralysis, aside combat being less meme-ish.
It offers the player a way to chip away at the tougher opponents that might be beyond the SexFight ability. 




For instance let's say there are five enemies total, for normal ones, and one really tough one, ( beyond combat abilities, and beyond sex fight abilities)
In the current system, even if you somehow paralyze the first weaker four, you can't equip a weapon and kill them post the AAF/Violate scene,  as the big boss will lose their cool and jump back into action. 
With the berserk system though you'd run away you'd make the little NPCs turn on the big NPC, and now you have only one enemy, instead of 5, and with a lower health bar,  so all of a sudden the sex challenge AP costs are now more approachable. 
Now of course there are still edge cases,  for instance, in one one-on-one combat it makes no sense to berserk your one enemy since there's no one else for them to attack, so in that case the current paralysis and death system would be still on,  but when engaging with more than one enemy, it makes sense. 
 

Edited by MSM_Alice
Posted
3 hours ago, MSM_Alice said:


Do you happen to know of an elegant way to mark an actor in such a way so that it grants its XP on death to the player when they die, even if the player didn't do any damage to them?
VictomActorReference.Kill(PlayerRef)  does not seem to do the trick.

You could cheat and have the player do a point of damage to them, and then heal them for a point of damage.

 

Or, to guard against the remote possibility of an actor with only one point of health, you could add one point of max hp, then one point of hp and then have the player damage them for one point of hp?

 

That said, I do not know if the aggro management mechanisms you were talking about here would work properly with either of these approaches (and I haven't tested any of this).

Posted (edited)
1 hour ago, sen4mi said:

You could cheat and have the player do a point of damage to them, and then heal them for a point of damage.

 

If PC does the damage through any means (i.e. damage attributed to PC), that will place PC into combat with the target and could even cause that NPC to re-select PC as the primary AI combat target. Point of damage isn't enough as well, needs to be certain %-age and could depend on user mods (there are mods increasing/reducing those).

 

1 hour ago, sen4mi said:

Or, to guard against the remote possibility of an actor with only one point of health

Not sure how you mean to do it; OnHit is - first - not advisable (spam-heavy and so consumes lots of VM resources), and - second - what if that NPC is Boomer with the Fatman? Yeah, he'll pretty much one-shot whatever target, so forget "track till 1 HP remains".

 

3 hours ago, MSM_Alice said:

It offers the player a way to chip away at the tougher opponents that might be beyond the SexFight ability. 

 

That won't work - not directly at least. If you only want it to "chip away" some HP meaning the frenzied NPC stops being frenzied after damaging some health of its allies - then bad news are: once you made some NPC berserk, all bets are off. You will almost certainly not find a way to stop those it attacked from retaliating even in it is no longer berserk - they will fire back and re-trigger the fight.

 

Even if you try stop such combat .. well, just don't. That frenzied NPC could've thrown a grenade and AoE'd some third party or a "bystander" originally not in its target list, it could fire at an initially protected, or worse - essential NPC, etc, etc. So, just design it around: once it went berserk, either it or its enemies will die.

 

For chipping away health just go with target.DamageValue(Health, number) as that will be much more consistent.

Edited by Operand
Posted (edited)

 

@Operand
I used "Chip Away" only in the sense that probably the weaker ones will die and the stronger ones will probably survive but won't be at full health anymore after,.
Not in the sense that damage will be measured and any artificial action will be taken to limit the  damage.

I have no intention to force-stop that combat once started whatsoever, it will sort out on its own using normal game rules.   


It will fully unfold as it wants to unfold. 

Edited by MSM_Alice
Posted
49 minutes ago, MSM_Alice said:

I have no intention to force-stop that combat once started whatsoever, it will sort out on its own using normal game rules.

Okay, that's for the best.

 

By the way, I recommend using simple HTML tags in your notifications in the mod. It makes it more distinct.

Posted (edited)
2 hours ago, Operand said:

Okay, that's for the best.

 

By the way, I recommend using simple HTML tags in your notifications in the mod. It makes it more distinct.

I had no idea one could do that.
Do you have any examples of it  I could check out?

Edited by MSM_Alice
Posted (edited)
4 hours ago, gena2011131 said:

Привет а есть ли перевод на русский данного мода подскажите пожалуйста!!!

Hello! 
 

The mod itself is still in flux as it is being developed, but if you (or anyone)  want to put in the effort to do a translation for these in-progress versions, they are welcome to do so. 

v0.7233 has all the script sources linked in the post above   ( https://www.loverslab.com/topic/245511-msma-sexual-journey-preludealphasex-fight-gameplay-general-bimbofication/page/12/#findComment-6980654 )   and all the text that is not in the scripts, is  the ESP, and can be loaded with modding tools and translated. 
Look up quest-forms and messages-forms starting with  the string "MSMA"
The text below is Google translated as I sadly do not speak Russian.

 

Здравствуйте!
Это автоматически переведено.

Сам мод все еще находится в процессе разработки, но если вы (или кто-либо другой) хотите приложить усилия для перевода этих версий в процессе разработки, они могут это сделать.

v0.7233 содержит все исходные тексты скриптов, ссылки на которые приведены в сообщении выше ( https://www.loverslab.com/topic/245511-msma-sexual-journey-preludealphasex-fight-gameplay-general-bimbofication/page/12/#findComment-6980654 ) и весь текст, который отсутствует в скриптах в ESP, и может быть загружен с помощью инструментов моддинга и переведен.
Найдите quest-forms и messages-forms, начинающиеся со строки "MSMA"

Edited by MSM_Alice
Posted
14 minutes ago, MSM_Alice said:

Do you have any examples of it  I could check out?

 

You can use quite a bit, really. Stuff like

<b>text</b>
<i>text</i>
<u>text</u>
<p align = 'center'>text</p>
<font face = '$ConsoleFont' size = '30'>text</font>
<font color = '#FF0000'>text</font>

 

will work just fine. Just add it into your text output and see what happens.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...