🎮 Z.A.T.O. Visual Novel Dialogue Extractor
视觉小说台词自动提取助手 (Python Script)
这是一个专为视觉小说 《Z.A.T.O. // I Love the World and Everything in It》 编写的 Python 辅助脚本。它可以利用 Ren’Py 引擎的剪贴板辅助功能,自动将游戏台词提取并保存为干净的 Markdown (.md) 格式,方便翻译、归档或语言学习。
核心特性:智能降噪、自动去重、LOG 熔断保护、热键控制。
✨ 功能特点 (Features)
- 🛡️ 智能降噪 (Smart Noise Cancellation):
- 自动识别并过滤游戏 UI 杂音(如
Settings,Save Slot,Auto forward等)。 - 基于正则表达式 (Regex) 过滤动态系统信息(如页码、音量条)。
- 内置“必杀短语”库,精准拦截系统弹窗。
- 自动识别并过滤游戏 UI 杂音(如
- 🔄 双重去重机制 (Dual-Layer Dedup):
- 物理层:监控剪贴板变动,防止 CPU 空转。
- 逻辑层:防止因中间夹杂噪音(如鼠标滑过按钮)导致同一句台词被重复记录。
- 🔥 LOG 熔断保护 (Log Meltdown Protection):
- 自动检测超长文本(默认 > 350字符)。防止打开游戏历史记录 (LOG) 时,大量重复文本刷屏。
- ⌨️ 全局热键控制:
- F10:一键 暂停/继续 录制(方便切出游戏查词或复制文本)。
- Shift + Esc:安全退出脚本(避免与游戏内的
Esc菜单键冲突)。
- 📝 格式化输出:
- 自动处理 Windows 换行符 (
\r\n)。 - 输出带时间戳的 Markdown 引用格式,清晰易读。
- 自动处理 Windows 换行符 (
🛠️ 安装与依赖 (Installation)
1. 环境要求
- Python 3.x
- Windows 系统 (推荐,因使用了
pyperclip对 Windows 换行符的特定优化)
2.🚀 使用指南 (Usage):
安装依赖库:
在终端中运行以下命令:
pip install pyperclip keyboard |
启动脚本: 在终端中运行脚本:
python zato_extractor.py |
看到终端提示 🟢 录制中 即表示准备就绪。
进入游戏: 打开《Z.A.T.O.》并进入游戏画面。
开启引擎辅助: 在游戏内按下 Shift + C。 这是 Ren’Py 引擎的快捷键,开启后游戏会自动将当前台词复制到剪贴板。
开始游玩: 正常点击鼠标游玩即可。脚本会在后台自动将台词写入 zato_script.md 文件。
控制录制:
- 需要暂停录制(例如要切出来复制东西)时,按
F10。 - 结束游玩时,按
Shift + Esc退出脚本。
⚙️ 配置 (Configuration)
你可以直接打开 .py 文件修改顶部的配置区域:
# 输出文件名 |
❓ 常见问题 (FAQ)
Q: 为什么脚本没有记录台词? A: 请确保游戏内已按下 Shift + C(通常会听到提示音或看到左上角提示 “Clipboard Voice Enabled”)。
Q: 为什么我的终端里出现了一个白色的输入框? A: 这是 Windows CMD 窗口的特性。如果你按下了某些快捷键(如 F9),CMD 会暂停脚本。请按 Esc 关闭该框,建议使用 F10 作为控制键。
Q: 这个脚本支持其他游戏吗? A: 理论上支持所有基于 Ren’Py 引擎开发的游戏。但不同游戏的 UI 噪音词库不同,你可能需要修改脚本中的 STRICT_BLOCKLIST(黑名单)来适配其他游戏。
📜 开源协议 (License)
MIT License. 仅供学习交流使用。 游戏文本版权归原作者 Nopanamaman (Ferry) 所有。
源代码:
import pyperclip |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 寒酥梦的温暖小窝(施工中ing)!

