54 lines
2.9 KiB
Markdown
54 lines
2.9 KiB
Markdown
# 移动戒指(203 服务端)
|
||
|
||
物品 70058 通过 special_item_group 10031 的 `sig_use` 触发 `ring_warp`。
|
||
戒指不限等级、次数,不消耗物品,也没有自身冷却。传送仍遵守服务端的 `pc.can_warp()` 检查。
|
||
百店老板娘的商城出售此物品(`../npc-shops/item-mall`,1 金币)。
|
||
|
||
2026-09-30 补齐 203 的 `newcibn/map/index` 全部 **65 张地图**,包括活动、战争和测试地图。
|
||
目录及坐标来自实际服务器的 `index`、`Setting.txt`、`Town.txt`、`npc.txt`,保存在 `maps.json`。
|
||
部分地图名称采用中文描述,目录名和地图编号用于唯一对应。
|
||
|
||
| 分类 | 数量 | 操作 |
|
||
| --- | ---: | --- |
|
||
| 各国村庄 | 6 | 传送至各国一村、二村 |
|
||
| 野外地图 | 13 | 传送至地图出生点 |
|
||
| 洞穴与副本 | 15 | 普通洞穴传送;受限副本传送至原有入口 |
|
||
| 公会地图 | 6 | 公会领地及公会村庄 |
|
||
| 活动与战争 | 20 | 列出地图及原有入场方式,保留报名、婚礼及战争流程 |
|
||
| 测试地图 | 5 | 所有人可查看;仅 GM 可传送 |
|
||
|
||
每页最多 5 个地点,包含上一页、下一页、返回分类;选择传送后再确认。
|
||
受限副本编号为 66、71、72、73、208、216、217、351。蜘蛛洞三层先经一层守卫进入二层;
|
||
流放二层和蓝龙巢穴先经流放洞窟入口进入,戒指不绕过通行证、血石、组队及副本入场条件。
|
||
活动地图只显示入场说明,避免进入尚未开放或未分配给玩家的场景。
|
||
资源活动地图 101 的服务器 Town.txt 坐标在地图边界外,目录记录保留原值,未用于传送。
|
||
|
||
## 修改与验证
|
||
|
||
修改 `maps.json` 后执行:
|
||
|
||
```sh
|
||
python3 tools/server/ring-warp/generate.py
|
||
python3 tools/server/ring-warp/tests/test_ring.py SERVER_LIBLUA_DIRECTORY LIVE_MAP_INDEX
|
||
```
|
||
|
||
测试使用 40250 服务端的 Lua 5.0 源码构建临时解释器,执行生成的真实任务函数。
|
||
检查地图覆盖、坐标边界、GBK 编码、全部 65 个地点的选择,以及翻页、取消、传送限制和 GM 权限。
|
||
可增加第三个参数 `COMPILED_OBJECT_ROOT`,直接验证服务器 qc 生成的两个任务对象。
|
||
|
||
## 安装
|
||
|
||
从此目录在服务器执行:
|
||
|
||
```sh
|
||
sh install.sh --quest-only # 仅更新任务;每个 game core 重载任务或重启 game
|
||
sh install.sh # 同时安装物品名、移除等级限制;首次安装需重启 db/game
|
||
```
|
||
|
||
安装前备份任务源码、两个任务对象、物品表至 `/root/backup-ringwarp/<时间>`。
|
||
先在隔离目录编译并检查结果,再替换 ring_warp 的两个对象;不会清空其他任务对象。
|
||
`--quest-only` 不更改物品表或数据库,不需要重启 db/auth。
|
||
任务转换成 GBK;拒绝包含反斜杠字节的编码,避免 qc 解析异常。
|
||
|
||
203 已于本次部署仅重启四个 game core,db/auth 保持运行。此次是服务端任务更新,已有客户端重登后即可使用。
|