Mod Unity [Secret Flasher Manaka] Custom Missions 1.1.9 & Version 2 Beta

5.00 star(s) 1 Vote

Maorate

Newbie
Oct 4, 2025
20
60
13
Code:
thread = CreateThread("main")
main:
    actionListener = CreateListenerLocal("listenAction")
    printListener = CreateListenerLocal("listenPrint")


flag = false
listenAction:
    if _state.Action == "Tebura"
        flag = true


listenPrint:
    if flag
        flag = false
        SetAction("None")
        Log("\n")
        i = 0
        while i < _state.Cosplay.Count()
            Log(_state.Cosplay[i])
            i = i + 1
When I tested with the above code, if I have Manaka put on some clothes and then take off a few, I get some abnormal duplicate logs:

[Info :Custom Missions v2] m_cosplay_school_gal_blazer
[Info :Custom Missions v2] m_cosplay_school_gal_shirt_winter
[Info :Custom Missions v2] m_cosplay_school_gal_shoes
[Info :Custom Missions v2] m_cosplay_school_gal_shoes

However, after I restart the game, the duplicate parts disappear. Could this be a bug?
 

JJHDYYDS

New Member
Sep 14, 2025
5
0
1
Plugin_IncuffableManaka - v1.0.1

Version 1.0.1

Now can stand up when crouching and handcuffed by holding the ring menu.

Version 1.0.0

Still cuffable...

But this mod actually just allowed Manaka to do any pose when handcuffed.
Through some poses without hand animation seems weird, like saying "May Force be with you" and masturbate with FORCE.

This mod also allow to crouch down when handcuffed, but getting up by the same crouch button isn't supported.
Players can dash through, if they can. ("Walker" Skill: Huh?)

Ps: Source code included, but might be not so helpful for those unfamiliar with BepInEx modding.

View attachment 5423189 View attachment 5423194 View attachment 5423195 View attachment 5423197

Ps: Source code included, but might be not so helpful for those unfamiliar with BepInEx modding.
Pss: I didn't removed that text "Unable to act" so that everyone knows Manaka is handcuffed. (This is not about I am lazy or haven't found out the corresponding code, really.)

The real challange to mod this game is IL2CPP and the problem to figure out most caller-callee relationships, especially for a student. This might not but a big problem to some real indie game developers or modders, and v2 mod is quite precious to learn from. Thank you Crisp, without your efforts modding this game so systematically won't be possible. Wishing you success with your next version of the mod.

Pss: The real challenge is not being a good writer and can only do some coding.
When I was I using this mod,found that when handcuffs were fastened to an object and I made any movement, I was no longer restricted by the handcuffs and could move freely. Could this be modified so that when handcuffed to an object, no actions can be made, but when fastened behind the body, actions can be made? I don't understand these codes very well and have no idea how to make the modification.
 

Al Kohlick

Newbie
Oct 26, 2025
18
23
64
Very nice mod! Together with NPC behavior mod, it makes SFM a lot more engaging to play.

I believe I found a bug in this mod. Here are my setup: SFM v1.1.3, NPC behaviour mod v1.1.4, Assault v1.3.3.

Steps to reproduce:

1. setup Assault mod with teleport to home to false, teleport to a map of your choice, stripe everything, handcuff on.

2. Enter any map, equip normal handcuff, get caught and sexed.

3. Manaka will then be teleported to a random map of your choice. You will notice that both normal handcuff and keyed handcuff are on.

View attachment 5459561

4. Collect all items using Manaka's laptop and unlock yourself. The normal handcuff stays on and there appears to be no way to put it on nor unlock it.

View attachment 5459562

Maybe reset the cuff status before teleporting would fix this bug?
Not really related to the current topic, but I had to say it : that's one cute Manaka you built there :D(y)
 
  • Like
Reactions: eltiachan and twoer

cactuar

Member
Modder
Mar 31, 2018
199
3,007
518
Code:
thread = CreateThread("main")
main:
    actionListener = CreateListenerLocal("listenAction")
    printListener = CreateListenerLocal("listenPrint")


flag = false
listenAction:
    if _state.Action == "Tebura"
        flag = true


listenPrint:
    if flag
        flag = false
        SetAction("None")
        Log("\n")
        i = 0
        while i < _state.Cosplay.Count()
            Log(_state.Cosplay[i])
            i = i + 1
When I tested with the above code, if I have Manaka put on some clothes and then take off a few, I get some abnormal duplicate logs:

[Info :Custom Missions v2] m_cosplay_school_gal_blazer
[Info :Custom Missions v2] m_cosplay_school_gal_shirt_winter
[Info :Custom Missions v2] m_cosplay_school_gal_shoes
[Info :Custom Missions v2] m_cosplay_school_gal_shoes

However, after I restart the game, the duplicate parts disappear. Could this be a bug?
_state.Cosplay doesn't remove the numbered indexes once an item is removed. This is with an outfit on:
Code:
[Info   :Custom Missions v2] Items worn: 8
[Info   :Custom Missions v2] m_cosplay_school_hoodie_ribbon
[Info   :Custom Missions v2] m_cosplay_school_hoodie_necktie
[Info   :Custom Missions v2] m_cosplay_school_hoodie_hoodie
[Info   :Custom Missions v2] m_cosplay_school_hoodie_bag
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shirt
[Info   :Custom Missions v2] m_cosplay_school_hoodie_skirt
[Info   :Custom Missions v2] m_cosplay_school_hoodie_socks
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
And after I remove everything:
Code:
[Info   :Custom Missions v2] Items worn: 8
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
If you dump the variables you'll see this:
Code:
[Info   :Custom Missions v2]     0 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     1 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     2 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     3 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     4 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     5 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     6 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     7 = "m_cosplay_school_hoodie_shoes"
It's not until you restart the game that the numbered indexes get reset.
However, the actual thing that stores whether or not an item is equipped is _state.Cosplay[cosplay here]. You have to check whether the cosplay item is true or not to see if it's actually equipped. FYI if you copy/paste this you have to fix the tab indentation.
Code:
   listenPrint:
        if flag
            flag = false
            SetAction("None")
            Log("\n")
            i = 0
            Log("Items worn: " + _state.Cosplay.Count())
            while i < _state.Cosplay.Count()
                cosplayItem = _state.Cosplay[i]
                #Keep going until we hit a duplicate entry
                if cosplayItem != _state.Cosplay[i+1]
                    #Check if the item is actually worn
                    if _state.Cosplay[cosplayItem] == true
                        Log(cosplayItem)
                    i = i + 1
                #Quit once we have duplicate entries
                else
                    i = _state.Cosplay.Count()       
                    if _state.Cosplay[cosplayItem] == true
                        Log(cosplayItem)
 
Last edited:
  • Like
Reactions: twoer

Al Kohlick

Newbie
Oct 26, 2025
18
23
64
Ok, I did it, except for the "disallow Manaka getting home without having all equipments collected" part.

And it is indeed scary, being literally fucked up and constrained and sent to random places. -- So I changed the mod's name to Aftermath. (But names can be changed as anybody want, it only affect saving states specifically to the mod.

Maybe lossing some of the RP but not the whole would be better. Or may be "disallow getting home" would be a choice for motivation.

Update: v1.3.2

- Configs can only be changed at home now.
- The penalty mode for those who still want RP penalty but don't want to lose all RP. Penalty is cumulative, it will be severe after about 3 to 4 times. Only returning home can reset it.
- Toys can be configured to equipped one at a time or all at once.
- Removed starting point of Convenience Store and Fashion Shop
- Fully configurable target stages for teleportation.
- Added 3 mode to the clothes striping, now can be configured to strip one clothe at a time and what to strip (ALL clothes or just those Casual clothes).

Update: v1.3.3

- Fixed a conner case that teleports items to stage origin. Now in such stages items simply drop at same position as Manaka.

Ps, Line 201 describes where the key should be dropped:
Code:
                    randomPos = CreateList(stage=_state.Position.stage, x=_state.Position.x, y=_state.Position.y, z=_state.Position.z)
Can be edited to move slighty:
Code:
                    randomPos = CreateList(stage=_state.Position.stage, x=_state.Position.x+0.05, y=_state.Position.y, z=_state.Position.z)
to prevent complete overlap of item interaction areas.

But I haven't tested what amount should be reasonable, so I will leave it here.

If anyone find out or have some new idea, posting new version of this script is welcome. This script is always in Public Domain.

All items are dropped in same stage before teleportation if any, but the compass will be incorrect in stages like stores.
I may be dumb, but I haven't figured out how to make Aftermath work. Where am I supposed to put the Main.code file? :unsure:

[EDIT] Nevermind, I could sort it. In fact, the trick is to put the whole "Aftermath" folder and its contents under the "CustomMission2" folder. I guess it's the same technique for all custom missions using the same format.

Also, I had messed up the main installation. The "CustomMissions2" folder had actually to go under the main SFM folder. Not under BepInEx or Plugins. Hope at least someone may learn from my mistakes. :FacePalm:
 
Last edited:

Crisp2002

Newbie
Jun 30, 2025
92
422
123
Version 2 Build Beta 1.2 (0.4.2)
- fixed custom images getting destroyed and not loaded again on scene change (and subsequently messing up the messenger)
- fixed taken off cosplay items not being removed from _state.Cosplay list

I tried to save some time by reusing the list, but it seems it backfired. I have to change it in the future anyways and try different ways to check what is actually the fastest. In the meantime I've changed it so it recreates the list when it's changed.


Btw, instead of while i < _state.Cosplay.Count() you should either save the value of Count() in a local variable or do while _state.Cosplay[i] != null
Because Count() already iterates through the list each time to get the value.
I thought about using a normal value "Count" inside the list, that gets updated automatically. But that would mean you could either set it yourself and create wrong numbers or not be allowed to set it at all, in any list.
And while an internal hidden value would solve that, I also wanted to allow filling a list like this:
Code:
list[0] = ...
list[1] = ...
list[2] = ...
And still get the correct Count.
That is why I made it like it is.
 
Last edited:

Crisp2002

Newbie
Jun 30, 2025
92
422
123
Crisp2002 Since you're immersed in NPC stuff right now, it's probably a good time to ask:
How hard would it be to expose information about existing NPCs to v2 missions? Not spawn or manipulate them, but maybe just get a list of the positions and states of the NPCs already on the map?

For context, I'd like to make the "NPCs pick up and mess with your dropped items" mod, and I think the whole thing could just be a v2 mission if only there was a way to know where NPCs are. For example, if I could call a GetNPCs() function that returned a list of NPC objects with x/y/z and state data of each NPC, I could iterate through that, compare to _state.DroppedItems, see if any NPCs are very close to any of the dropped items, and then move the item away and trigger any other logic based on that. That would be enough for the basic mod, and then it could be spruced up later if you get NPC manipulation working (stopping them, triggering animations on them, etc).
Getting the current state shouldn't be a problem. They all have an ID, so you can identify them. But NPCs get regularly destroyed, either when they reach their target exit or you leave the stage. So they don't really move to a different stage and don't preserve their state when you switch stages. Though it would be interesting to have NPCs carry your stuff to a different stage and you have to search for it.

There's also a police uniform version of an NPC (though only female, I think). But someone had the idea to, instead of going game over when you are seen, increase the police presence in that area and have them patrol. And if you are caught by the police (that might even case you) you get the game over.
To do that in my mod, I would need more functions to change the base functionality. But even as a standalone mod I fear that it would cause problems with other mods that change NPC behavior. :(
If we don't agree on some conventions at least. Like, I could probably change the ID of a custom NPC to something like 100000+x. And so an ID over 100000 could be an indicator to leave the NPC alone. Or maybe make it a million, the possible IDs should go up to over 2 billion. You probably wouldn't reach such a high ID in a normal game session.
 

Idontknow511

Newbie
Oct 18, 2021
61
24
43
That's vanilla. You need to Enable Sex in the options menu, reach max rank to purchace the skill, and find a man who won't ignore you. Also the second picture is literally everything, 2 positions, the ability to make the guy invisible, and you can spin.
Shame really. I wished there were more animations to choose from and some futa sex options. maybe it could be modded into the game?
 
  • Disagree
Reactions: Al Kohlick

Maorate

Newbie
Oct 4, 2025
20
60
13
_state.Cosplay doesn't remove the numbered indexes once an item is removed. This is with an outfit on:
Code:
[Info   :Custom Missions v2] Items worn: 8
[Info   :Custom Missions v2] m_cosplay_school_hoodie_ribbon
[Info   :Custom Missions v2] m_cosplay_school_hoodie_necktie
[Info   :Custom Missions v2] m_cosplay_school_hoodie_hoodie
[Info   :Custom Missions v2] m_cosplay_school_hoodie_bag
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shirt
[Info   :Custom Missions v2] m_cosplay_school_hoodie_skirt
[Info   :Custom Missions v2] m_cosplay_school_hoodie_socks
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
And after I remove everything:
Code:
[Info   :Custom Missions v2] Items worn: 8
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
[Info   :Custom Missions v2] m_cosplay_school_hoodie_shoes
If you dump the variables you'll see this:
Code:
[Info   :Custom Missions v2]     0 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     1 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     2 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     3 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     4 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     5 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     6 = "m_cosplay_school_hoodie_shoes"
[Info   :Custom Missions v2]     7 = "m_cosplay_school_hoodie_shoes"
It's not until you restart the game that the numbered indexes get reset.
However, the actual thing that stores whether or not an item is equipped is _state.Cosplay[cosplay here]. You have to check whether the cosplay item is true or not to see if it's actually equipped. FYI if you copy/paste this you have to fix the tab indentation.
Code:
   listenPrint:
        if flag
            flag = false
            SetAction("None")
            Log("\n")
            i = 0
            Log("Items worn: " + _state.Cosplay.Count())
            while i < _state.Cosplay.Count()
                cosplayItem = _state.Cosplay[i]
                #Keep going until we hit a duplicate entry
                if cosplayItem != _state.Cosplay[i+1]
                    #Check if the item is actually worn
                    if _state.Cosplay[cosplayItem] == true
                        Log(cosplayItem)
                    i = i + 1
                #Quit once we have duplicate entries
                else
                    i = _state.Cosplay.Count()      
                    if _state.Cosplay[cosplayItem] == true
                        Log(cosplayItem)
Thanks. This feature isn't documented, a bit of a gotcha, haha.
 
  • Like
Reactions: twoer
Mar 1, 2018
16
25
22
Combined previous 3 mods, rewritten most of the logic and ui.
*Items not in the same stage wouldn't be shifted.
**Different kind of items have their own shifting timer.
***After reading some details of the Messager API now I feel like an idiot.
****I hope there can be a thread.Sleep(seconds) API or something to save CPU time.
View attachment 5416434 View attachment 5416435
I think I'm dumb, how do I actually use this mod?
 

StephenLana13

Member
Nov 16, 2018
100
106
241
Shame really. I wished there were more animations to choose from and some futa sex options. maybe it could be modded into the game?
https://f95zone.to/threads/secret-flasher-manaka-npc-mod-behavior-1-1-4.270271/ this mod lets any NPC Chace you and have sex with you as an alternative to being sent home with no pay. This includes women so all female NPCs become futa solving one of your wishes. It only uses the standing position when caught but there's a config file created in a folder in the base folder that you can edit to allow cowgirl but there's no texture under the skirts.
 
  • Like
Reactions: Al Kohlick
Jun 24, 2018
115
224
170
I made a new custom mission that is 90% Aftermath by cherry_sigma but rather than being triggered for messing up and getting caught you can now call it yourself from your phone for some bonus RP. its not a replacement for aftermath but an alternative and like cherry_sigma's its public domain (like all my other missions too). any bugs are probably mine unless they happen in aftermath too.

DIAL A KIDNAPPER

Feeling too comfortable with your daily routine? Need to spice things up AND earn some extra credits? Dial-a-Kidnapper is here! We'll add a little… unexpected adventure to your evening. Think of us as your friendly neighborhood chaos coordinators, and your new source for bonus income!

We handle the surprise relocation, the... ahem... wardrobe adjustments, the blindfold and the toys. You just focus on getting home safely. Successfully completing a Dial-a-Kidnapper challenge earns you RP depending on which of our wonderful services you pick.

Dial-a-Kidnapper: Adventure, Excitement, and Rewards!

* Your escapades may be recorded for quality assurance and training purposes. All toys must be provided by the customer.



The rp gain is probably very exploitable so dont do that unless you want to its your game im not your parent.
 
Last edited:

AveryGuilt

New Member
Aug 4, 2021
1
0
11
so i got a shit ton of mods and one of them breaks something and made a lot of missions despawn from the game i get this error when I'm in the apartment. does anyone know what might have caused this? I'm semi illiterate in reading these.
 

hebi57

New Member
Sep 2, 2020
3
2
13
Hello, I have correctly installed the mods and many missions, I just wanted to know what the key is to remove the panties and bra, because I haven't found it.
 
  • Like
Reactions: hglewd

nezumitori

Active Member
Nov 19, 2021
598
521
222
Hello, I have correctly installed the mods and many missions, I just wanted to know what the key is to remove the panties and bra, because I haven't found it.
you can just..... undress in-game? If you lack flasher levels then do that first.
 
  • Like
Reactions: hebi57
5.00 star(s) 1 Vote