工程参考/副本一览

来自天龙知识库
Waylee​(留言 | 贡献)2026年10月26日 (一) 17:04的版本 (新增活动一览(152 条活动时间表)与副本一览(583 个副本场景、11 个副本脚本))
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航跳到搜索
副本一览
583 个副本场景 · 72 种 · 11 个副本脚本

副本不是一张表配出来的,而是场景模板 + 一段 Lua 脚本 + 一个任务号三件套。玩家找 NPC 接任务,脚本校验队伍后动态创建一个副本实例,把人传进去,实例里跑自己的心跳和关卡逻辑,打完结算、销毁。

本页分两块:先讲 11 个有脚本实现的副本怎么玩,再列全部副本场景清单。

副本什么时候开、在哪个场景开,由活动表控制,见 活动一览;副本系统与活动系统的分层关系见 活动系统。

副本是怎么跑起来的

11 个副本脚本用的是同一套模板,从接任务到销毁的链条是固定的:

  1. 玩家与副本 NPC 对话,`OnEnumerate` 列出可接的任务,`CheckAccept` 校验条件:必须有队伍、必须是队长、附近队友人数够、队友都没接过。
  2. 通过后 `OnAccept` 发任务,任务号写死在脚本里(珍珑 1053、木人巷 1054、水牢 1055)。
  3. 玩家点进入,`MakeCopyScene` 用 `LuaFnSetSceneLoad_Map` 指定地图文件,把副本参数写进实例的 0 到 10 号槽,再调 `LuaFnCreateCopyScene` 创建实例。
  4. 创建成功后人被传进去,副本按 `TickTime` 秒一次回调 `OnCopySceneTimer`;怪物死亡触发 `OnKillObject`,玩家进区域触发 `OnEnterZone`,死亡触发 `OnHumanDie`。
  5. 打完 `OnSubmit` 结算。实例在没人时按 `NoUserTime` 保留一段时间后回收,或走 `CloseTick` 次关闭倒计时销毁。

副本实例有数量上限,创建失败时脚本提示「副本数量已达上限,请稍候再试!」。

副本类型用一组编号区分,定义在 `Public/Data/Script/ScriptGlobal.lua`:`FUBEN_EXAMPLE` 999、`FUBEN_MURENXIANG` 996、`FUBEN_SHUILAO` 995、`FUBEN_ZHENGLONG` 994、`FUBEN_WEDDING` 等,传进副本 0 号槽供运行时判断。

三个环式副本:珍珑棋局、木人巷、水牢

这三个是同一套模板的三份实例:接任务、进副本、清怪、推进一环、清完所有环结算。差别只在环数、奖励和难度分档。

项目 珍珑棋局 木人巷 水牢
脚本号 401000 401010 401020
任务号 1053 1054 1055
NPC 珍珑 木人 水牢
地图 zhenlong.nav xingxiu.nav shuilao.nav
环数 13 环 9 环 7 环
每环金钱 7777 8888 9999
最少人数 1 人 3 人(硬编码) 1 人
存活时限 30 分钟(360 次心跳 × 5 秒) 同左 同左
任务目标 杀死全部怪物 杀死全部怪物 杀死全部怪物

木人巷的地图文件是 xingxiu.nav(星宿海),不是按副本名命名的,改地图时别想当然。

珍珑棋局的等级分档

`MakeCopyScene` 先算队伍平均等级(附近队友等级求和除以人数),再按档位决定这局刷哪一组怪:

队伍平均等级 怪物组
≤ 10 第 1 组
≤ 15 第 2 组
≤ 20 第 3 组
≤ 25 第 4 组
≤ 30 第 5 组
≤ 35 第 6 组
≤ 40 第 7 组
≤ 45 第 8 组
≤ 50 第 9 组
> 50 不刷怪(脚本没有对应档)

同一段逻辑还做三件事:从棋谱池随机挑一局(`mListCount` 当前配的是 1,也就是只有一种棋谱)、记录已经下了多少步、把队伍号存进副本数据供后续校验。

副本的公共参数槽

副本实例带一组数据槽,脚本靠它在心跳之间传状态:

槽号 存什么
0 副本类型编号(`FUBEN_*`)
1 副本事件脚本号
2 定时器已调用次数
3 副本入口场景号
4 副本关闭标志,0 开放、1 关闭
5 离开倒计时次数
6 队伍号
7 已杀怪数量
8 选用的棋谱编号
9 已经下了的步数
10 当前怪物组编号

任务侧另有 6 个槽记录进度:0 号已完成环数、1 号当前环是否完成、2 号副本场景号、3 号接任务时的队伍号、4 号杀死任务怪数量、5 号完成用时(秒)。

另外八个副本

脚本号 名称 地图 特点
401001 珍珑棋局(活动版) zhenlong.nav 分两个时段开放:11:30 到 14:30、20:30 到 22:00;带新手棋局模式
401030 婚庆典礼 wedding_1/2/3.nav 心跳 5 秒一次、上限 500 次(约 41 分钟);三张礼堂图对应普通、高级、豪华
402030 镜湖水寨(剿匪) jiaofei.nav NPC 齐煞云;帮派福利性质的效率副本,进副本会扣数值、死亡在入口复活
402040 牡丹碗(蹴鞠) cuju.nav 949 行,是四个蹴鞠脚本(`cuju_1/2/4`)的主入口
402046 飘渺 — 只有 76 行,靠区域触发:矩形范围 x 123 到 127、y 170 到 173
402047 涿鹿古战场(帮战) zhuluKVK.nav NPC 周然,任务名「前往涿鹿古战场」;1877 行,是最大的副本脚本,存活只给 60 次心跳、无人保留 10 秒
402102 拯救灵兽(野猪 protect) petisland_2.nav 进副本保护灵兽,与 402105 共用一套流程
402105 野猪岔路(野猪 catch) zhenshoulan.nav 捕获向玩法,与 402102 配对

全部副本场景(72 种)

`SceneInfo.ini` 里 `type=1` 的场景共 583 个,去重后 72 种。同名多份的是不同难度或不同层数的模板,比如光明洞、桃花阵、塔林各 3 份。

副本 场景号 份数 地图文件
聚贤庄 36、68 2 juxian.scn、juxian_1.scn
燕子坞 37、69、190 3 yanzi.scn、yanzi_1.scn…
一品堂 38、70 2 yipin.scn、yipin_1.scn
叛军营地 42 1 _pingpan_1.scn
木人巷 43 1 murenxiang.scn
珍珑棋局 44 1 zhenlong.scn
水牢 45 1 shuilao.scn
沙漠要塞 46 1 shamo.scn
宋辽边境 47 1 songliao.scn
野外匪寨 48 1 yewai.scn
竹林 49 1 zhulin.scn
光明洞 51、90、99 3 guangmingdong.scn、guangmingdong_1.scn…
逍遥谷底 52、91、100 3 gudi.scn、gudi_1.scn…
灵性峰 53、92、101 3 lingxingfeng.scn、lingxingfeng_1.scn…
丐帮酒窖 54、93、102 3 jiujiao.scn、jiujiao_1.scn…
桃花阵 55、94、103 3 taohuazhen.scn、taohuazhen_1.scn…
塔林 56、95、104 3 tongrenxiang.scn、tongrenxiang_1.scn…
五神洞 57、96、105 3 wushendong.scn、wushendong_1.scn…
墓穴 58 1 muxue.scn
塔底 59、98、107 3 tadi.scn、tadi_1.scn…
折梅峰 60、97、106 3 zhemeifeng.scn、zhemeifeng_1.scn…
集市 63 1 jishi.scn
矿场 64 1 kuangchang.scn
牧场 65 1 muchang.scn
书阁 66 1 shuge.scn
市集 67、108、109 3 shiji.scn、shiji_1.scn…
擂鼓山 78、85 2 leigu.scn、leigu_1.scn
万劫谷 79、84 2 wanjie.scn、wanjie_1.scn
苍茫山 80、83 2 cangmang.scn、cangmang_1.scn
工地 110 1 gongdi.scn
校场 111 1 jiaochang.scn
衙门 112 1 yamen.scn
三春幻境 113 1 huanjing_1.scn
三夏幻境 114 1 huanjing_2.scn
三秋幻境 115 1 huanjing_3.scn
三冬幻境 116 1 huanjing_4.scn
边关阵地山头 117、118、119… 4 bianguan_1.scn、bianguan_2.scn…
考场 124 1 kaochang.scn
贼寇营地 127 1 zeiying.scn
少林寺 130 1 shaolin_1.scn
丐帮总舵 131 1 gaibang_1.scn
光明殿 132 1 mingjiao_1.scn
武当山 133 1 wudang_1.scn
天龙寺 134 1 tianlong_1.scn
凌波洞 135 1 xiaoyao_1.scn
峨嵋山 136 1 emei_1.scn
星宿海 137 1 xingxiu_1.scn
天山 138 1 tianshan_1.scn
比武会场 152 1 dataosha.scn
普通礼堂 153 1 wedding_1.scn
高级礼堂 154 1 wedding_2.scn
豪华礼堂 155 1 wedding_3.scn
擂台 184、187、191… 482 leitai_2.scn、leitai_1.scn
镜湖匪寨 189 1 jiaofei.scn
玄雷坡 403 1 xuanmuchang.scn
毒障泽地 404 1 dumuchang.scn
熔岩之地 405 1 huomuchang.scn
玄武岛 406 1 petisland_3.scn
楼兰藏宝洞 407 1 loulanxunbao.scn
逐鹿 408 1 zhuluKVK.scn
生死擂台 410 1 shengsileitai.scn
缥缈峰 416 1 piaomiao.scn
帮会驻地 417 1 protectguild.scn
足球场 428 1 zuqiuchang.scn
篮球场 429 1 lanqiuchang.scn
排球场 430 1 paiqiuchang.scn
野猪农场 514 1 zhenshoulan.scn
圣兽山 515 1 petisland_2.scn
牡丹碗 516 1 cuju.scn
藏经阁 923 1 cangjingge.scn
皓月洲 1024 1 mantuofb.scn
曼陀山庄 1026 1 mantuoshanzhuang_1.scn
场景清单只说明「有这块场地」,不代表都有脚本。上面 11 个脚本对应的副本才是能玩通的;清单里其余场景多为模板预留,或者由活动、任务脚本按需调用,没有独立的副本流程。

想改一个副本

改什么 动哪里
改环数、奖励、NPC 名字 脚本头部的 `g_MissionRound`、`g_MoneyBonus`、`g_Name`
改地图 `LuaFnSetSceneLoad_Map` 的参数,地图必须在 `SceneInfo.ini` 里配过
改等级分档 `MakeCopyScene` 里那段 `if mylevel<=N` 的链
改进入条件 `CheckAccept`,常见的是队伍人数 `g_LimitMembers` 与队长校验
改无人回收时间 `g_NoUserTime`(秒)、`g_CloseTick`(心跳次数)
改任务文案 脚本头部的 `g_MissionInfo`、`g_MissionTarget`、`g_ContinueInfo`、`g_MissionComplete`

副本脚本都在 `Public/Data/Script/event/fuben/`,配套 NPC 脚本在 `obj/fuben/`(96 行左右的标准模板,只管对话与事件列表)。改完重新加载脚本即可,但已经开着的副本实例不会跟着变。