MicSnitch
Snitches on whoever is talking - quiet background filtered, loud shouters in red. Toggle with F8. Resolves real nicknames via PhotonView ID.
模組介紹 作者原文
Mic Snitch
Snitches on whoever is talking. Shows the nicknames of every player currently
transmitting voice, right on your screen — so the soundboard spammer on the loading
screen has nowhere to hide.
A working replacement for the old, deprecated See_who_is_talking mod, which stopped
showing names in current R.E.P.O. builds.
What you see
- A list of currently-talking players in the upper-right corner.
- Loud / shouting players — bold red, stay visible for 3 seconds. A sudden
shout always pops out, even when 10 other people are also on the mic.
- Normal speech — soft yellow, fades after ~0.7s.
- Quiet background noise is filtered out by amplitude — open-mic players who are
just breathing into the headset don't pollute the list.
- Sorted with loud people on top.
Hotkey
- F8 — toggle the overlay on/off. When hidden, a faint [F8] Mic Snitch hint
stays in the corner so you never forget the toggle.
Why
In R.E.P.O. voice is proximity-based in a level, but global on loading screens
and in the lobby — that's where someone always blasts a soundboard and you have no
idea who. The old mod hooked the per-player Speaker component to find out.
Problem: when other players run cosmetic mods (MoreHead & co.), their
SetupCosmeticsModdedRPC fails, the Speaker never gets created, and the old mod
sees nothing.
How it's fixed
Mic Snitch hooks RemoteVoiceLink.OnDecodedFrameFloatAction — the per-frame decoded
audio callback at the VoiceClient level, before the player init / Speaker step.
It fires for every remote voice that has a stream, including not-inited players.
From the decoded float samples it computes the peak amplitude, classifies the speaker
(quiet / normal / loud) and resolves the nickname through
PhotonNetwork.CurrentRoom.GetPlayer(actorNumber).NickName, which keeps working even
when a player's local object is broken by RPC errors.
Local mic state is read directly from LocalVoice.IsCurrentlyTransmitting, so your
own name shows when you talk too — works even alone in a lobby for testing.
Everything is resolved via reflection — if a future game patch renames a type, the
mod logs a warning and degrades gracefully instead of crashing.
Install
Use a mod manager (r2modman app) — it handles the BepInExPack
dependency. Manual install: drop MicSnitch.dll into BepInEx/plugins.
Credits
Concept inspired by the original See_who_is_talking by xiaolei. Rebuilt from scratch.
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: