Skip to content

Repository files navigation

MOD_RuntimeMap — 艾露莎小地图插件

在《世間知らずの猫エルーシャ》的地图场景按 M 键,打开当前地图的实时渲染视图。

地图由 $dataMap 与 tileset 实时绘制,不使用任何预拼接图片——所以迷宫、宝箱、门、任务箭头的位置都是当前这一局的真实状态,包括已经打开过的宝箱和被事件改掉的地形。

按键:M 开关 版本:0.7.1 作者:真红

目标游戏

世間知らずの猫エルーシャ (RPG Maker MV, NW.js 0.93, EnigmaVB) v1.04 パッケージ版

插件是纯 RMMV 代码,不使用 require / fs / process 等 NW.js 专属 API,因此打包版(经注入器加载)与解包版(nw.exe 直跑)行为一致

功能

渲染内容

类别 说明
图块 下层(z=0/1)与上层(z=2/3)分别绘制,含 A1–A4 自动图块、A5、B–E,另有阴影位与桌沿补正
远景图 parallaxName 指定的远景按原尺寸平铺
图块事件 tileId > 0 的事件始终渲染
门 / 闸门 图像名命中 door gate shutter ドア
宝箱 图像名命中 chest 宝箱
对象角色 ! 前缀命名的行走图(isObjectCharacter
箭头 矢印 移動用矢印 arrow
任务标记 事件页注释含 MOD:QG: 的事件
环境装饰 白名单内的图像名(见下方「渲染白名单」)

NPC 与敌人的行走图不在白名单内,不渲染——否则整张图会糊成一片人形色块。

事件按 y → x → eventId 排序绘制以保证前后遮挡关系,并按事件优先级分层:优先级 0/1 画在上层图块之下,优先级 2 画在上层图块之上

玩家位置

地图上的红点 + 白色描边 + 十字准星,始终绘制在最顶层。

多语言 UI

标题栏显示地图名与当前坐标,底栏显示操作提示,并在底栏左侧标注当前语言。

界面文案支持简体中文 / 英文 / 日文三种语言,由一套外置语言包系统驱动(文案不硬编码在插件里)。详见下文「语言包」。

  • 打开地图后,按 Tab 可在三种语言间循环切换;选择写入 localStorage,下次启动直接生效。
  • 未手动切换时,语言按 auto 逻辑判定:日语系统 → 日文,中文系统 → 中文,其余系统 → 英文
  • 语言包缺失时自动回退到插件内置的同套文案,功能不受影响,只是不能切换。
  • 字号自适应:底栏「语言提示(左)+ 操作提示(右)」共用一行,会按两段宽度之和加间隙自动缩字号,因此日文、英文这类较长文案不会在中缝互相压字。顶栏同理按可用宽度收缩。基准字号为顶栏 16px、底栏 14px,需要微调改源码顶部的 TITLE_FONT_SIZE / FOOTER_FONT_SIZE 即可。

操作

操作 按键
打开 / 关闭地图 M(或 Esc
关闭地图 鼠标右键
缩放 鼠标滚轮,或 Q / W
平移 方向键,或鼠标拖动
快速平移 Shift + 方向键(双倍速度)
切换语言 Tab(在小地图界面内循环切换 中 / 英 / 日)

打开时自动缩放到「整张图刚好铺满窗口」并居中显示(小图放大到 1.0 倍封顶,不会拉伸)。缩放以玩家位置为锚点,所以放大后视口会跟着玩家走。缩放范围为整图铺满到 4 倍,每档 1.25 倍。

方向键是按住连续平移(每帧 22 px,按地图缩放比例换算),不是一格一格跳。

Esc 走的是 RMMV 的 cancel 键位,所以 XInsert、小键盘 0 同样能关闭。

安装

方式 A:注入器导入(推荐,打包版游戏)

  1. 游戏目录已安装艾露莎注入器ElushaInjector.exe
  2. 打开注入器 → 导入 / 拖放 dist/MOD_RuntimeMap-0.7.1.elsmod
  3. 打开插件开关 → 启动游戏

方式 B:解包模式手动安装

  1. 复制 dist/src/MOD_RuntimeMap/www/js/plugins/ 下全部内容到游戏 www/js/plugins/ (含 MOD_RuntimeMap.jsdata/MOD_RuntimeMap_真红/lang/ 语言包)
  2. www/js/plugins.js$plugins 数组末尾加一行:
{"name":"MOD_RuntimeMap","status":true,"description":"","parameters":{"language":"auto"}}
  1. nw.exe 启动游戏

插件参数

参数 类型 默认值 说明
language select auto 默认语言。zh / en / ja,或 auto(跟随系统:ja→日文,zh→中文,其余→英文)。小地图界面内按 Tab 可临时切换,且会被记住

参数通过 PluginManager.parameters('MOD_RuntimeMap') 读取。若找不到同名插件,会自动尝试 MOD_RuntimeMap_JA,方便按语言分发不同文件名的版本。

语言包

文案外置在插件 data 目录下,遵循插件开发文档 §5.3 的 data/<插件名>_<作者>/ 路径规范:

files/www/js/plugins/data/MOD_RuntimeMap_真红/
├── plugin.json
└── lang/
    ├── _index.json    语言清单与切换顺序:["zh","en","ja"]
    ├── zh.json        {"code":"zh","name":"简体中文","texts":{...}}
    ├── en.json
    └── ja.json

加载顺序为三级兜底:fs(www/js/plugins/…)fs(mods/…)XHR(js/plugins/…),全失败则使用插件内置的同套文案。因此即便语言包读不到,小地图仍能正常显示。

  • 新增语言:复制一份 <code>.json,在 _index.jsonorder 里加入新码即可,无需改动引擎代码。
  • 修改文案:直接编辑对应 <code>.jsontexts 字段,重新打包生效。

渲染白名单

要增删渲染的环境物件,直接编辑源码里的两个常量(MOD_RuntimeMap.js 约 516 行起):

var RENDERABLE_IMAGE_NAMES = [      // 精确匹配图像名
  'Nature', 'Rural_TileC', 'Damage2', 'y46V6pT',
  '$魔法陣', '$魔法陣2',     // 魔法阵(监狱塔牢房封印等)
  '$馬車', '$馬車2',         // 马车
  '$拘束',                   // 拘束台
  '$boss01', '$boss02'       // 地标性 BOSS(史莱姆大巢、魔王城)
];
var RENDERABLE_IMAGE_PATTERNS = [   // 正则匹配同族图像
  /^RTPRecreation/i,         // RTP 家具/摆设系列(XP/VX2/2k3)
  //                     // 触手环境装饰(遗迹、巢穴)
];

改完重新打包即可,不需要动别的地方。

打包

python tools/build_elsmod.py                    # 重建全部插件
python tools/build_elsmod.py MOD_RuntimeMap     # 只重建小地图

产物输出在 dist/,源码副本在 dist/src/。脚本会自动把 JS 头注释的 @authorplugin.json、data 目录名三处同步,并做结构与 zip 校验。

.elsmod 就是 zip,包内结构:

MOD_RuntimeMap-0.7.1.elsmod
└── www/js/plugins/
    ├── MOD_RuntimeMap.js
    └── data/MOD_RuntimeMap_真红/
        ├── plugin.json
        └── lang/
            ├── _index.json
            ├── zh.json
            ├── en.json
            └── ja.json

项目结构

├── mods/MOD-03-runtime-map/          # 原始 MOD 目录(含已弃用的注入器 bootstrap)
│   └── files/www/js/plugins/
│       ├── MOD_RuntimeMap.js                    # ← 插件本体
│       ├── MOD_RuntimeMap_PackedBootstrap.js    # ✗ 注入器专用,已弃用
│       └── MOD_RuntimeMap_OrigEventInformation.js  # ✗ 原版插件备份,已弃用
├── dist/                             # 可分发产物
│   └── MOD_RuntimeMap-0.7.1.elsmod
├── tools/build_elsmod.py             # 打包脚本
└── 开发资料/插件开发文档.md             # 插件开发规范

插件信息

字段
名称 MOD_RuntimeMap
版本 0.7.1
作者 真红
游戏版本 1.04
依赖
冲突

注意事项

  • 占用 M 键:插件把按键码 77 映射为 modRuntimeMap。若同时装了别的占用 M 的插件,后加载的一方会覆盖映射。
  • 菜单可用时才生效:沿用 RMMV 的 isMenuEnabled() 判断,在禁用菜单的事件演出中按 M 不会打开地图。
  • 首帧等待:地图较大时,打开瞬间需要等 tileset 与事件行走图加载完成(isReady() 挡住渲染),通常不到一秒。
  • 本仓库根目录下的 README.txt(日文)、injector.exehookdll.dlldeploy.ps1地図MOD起動-パッケージ版.bat 都是注入器时期的遗留物,与插件本体无关。

相关链接

About

elusha-runtime-map

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages