查看“︁工程参考/副本一览”︁的源代码
来自天龙知识库
←
工程参考/副本一览
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
__NOTOC__ <div class="lua-reference"> <div class="lua-lead"> <div role="heading" aria-level="2" class="lua-h1">副本一览</div> <div class="lua-sub">583 个副本场景 · 72 种 · 11 个副本脚本</div> </div> 副本不是一张表配出来的,而是'''场景模板 + 一段 Lua 脚本 + 一个任务号'''三件套。玩家找 NPC 接任务,脚本校验队伍后动态创建一个副本实例,把人传进去,实例里跑自己的心跳和关卡逻辑,打完结算、销毁。 本页分两块:先讲 11 个有脚本实现的副本怎么玩,再列全部副本场景清单。 == 副本是怎么跑起来的 == 11 个副本脚本用的是同一套模板,从接任务到销毁的链条是固定的: # 玩家与副本 NPC 对话,`OnEnumerate` 列出可接的任务,`CheckAccept` 校验条件:'''必须有队伍、必须是队长、附近队友人数够、队友都没接过'''。 # 通过后 `OnAccept` 发任务,任务号写死在脚本里(珍珑 1053、木人巷 1054、水牢 1055)。 # 玩家点进入,`MakeCopyScene` 用 `LuaFnSetSceneLoad_Map` 指定地图文件,把副本参数写进实例的 0 到 10 号槽,再调 `LuaFnCreateCopyScene` 创建实例。 # 创建成功后人被传进去,副本按 `TickTime` 秒一次回调 `OnCopySceneTimer`;怪物死亡触发 `OnKillObject`,玩家进区域触发 `OnEnterZone`,死亡触发 `OnHumanDie`。 # 打完 `OnSubmit` 结算。实例在没人时按 `NoUserTime` 保留一段时间后回收,或走 `CloseTick` 次关闭倒计时销毁。 副本实例有数量上限,创建失败时脚本提示「副本数量已达上限,请稍候再试!」。 副本类型用一组编号区分,定义在 `Public/Data/Script/ScriptGlobal.lua`:`FUBEN_EXAMPLE` 999、`FUBEN_MURENXIANG` 996、`FUBEN_SHUILAO` 995、`FUBEN_ZHENGLONG` 994、`FUBEN_WEDDING` 等,传进副本 0 号槽供运行时判断。 == 三个环式副本:珍珑棋局、木人巷、水牢 == 这三个是同一套模板的三份实例:接任务、进副本、清怪、推进一环、清完所有环结算。差别只在环数、奖励和难度分档。 {| class="wikitable" ! scope="col" style="width:14%" | 项目 ! scope="col" | 珍珑棋局 ! scope="col" | 木人巷 ! scope="col" | 水牢 |- | 脚本号 | <code>401000</code> | <code>401010</code> | <code>401020</code> |- | 任务号 | 1053 | 1054 | 1055 |- | NPC | 珍珑 | 木人 | 水牢 |- | 地图 | <code>zhenlong.nav</code> | <code>xingxiu.nav</code> | <code>shuilao.nav</code> |- | 环数 | 13 环 | 9 环 | 7 环 |- | 每环金钱 | 7777 | 8888 | 9999 |- | 最少人数 | 1 人 | 3 人(硬编码) | 1 人 |- | 存活时限 | 30 分钟(360 次心跳 × 5 秒) | 同左 | 同左 |- | 任务目标 | 杀死全部怪物 | 杀死全部怪物 | 杀死全部怪物 |} 木人巷的地图文件是 <code>xingxiu.nav</code>(星宿海),不是按副本名命名的,改地图时别想当然。 === 珍珑棋局的等级分档 === `MakeCopyScene` 先算'''队伍平均等级'''(附近队友等级求和除以人数),再按档位决定这局刷哪一组怪: {| class="wikitable" ! scope="col" style="width:26%" | 队伍平均等级 ! scope="col" | 怪物组 |- | ≤ 10 | 第 1 组 |- | ≤ 15 | 第 2 组 |- | ≤ 20 | 第 3 组 |- | ≤ 25 | 第 4 组 |- | ≤ 30 | 第 5 组 |- | ≤ 35 | 第 6 组 |- | ≤ 40 | 第 7 组 |- | ≤ 45 | 第 8 组 |- | ≤ 50 | 第 9 组 |- | > 50 | 不刷怪(脚本没有对应档) |} 同一段逻辑还做三件事:从棋谱池随机挑一局(`mListCount` 当前配的是 1,也就是只有一种棋谱)、记录已经下了多少步、把队伍号存进副本数据供后续校验。 === 副本的公共参数槽 === 副本实例带一组数据槽,脚本靠它在心跳之间传状态: {| class="wikitable" ! scope="col" style="width:10%" | 槽号 ! scope="col" | 存什么 |- | 0 | 副本类型编号(`FUBEN_*`) |- | 1 | 副本事件脚本号 |- | 2 | 定时器已调用次数 |- | 3 | 副本入口场景号 |- | 4 | 副本关闭标志,0 开放、1 关闭 |- | 5 | 离开倒计时次数 |- | 6 | 队伍号 |- | 7 | 已杀怪数量 |- | 8 | 选用的棋谱编号 |- | 9 | 已经下了的步数 |- | 10 | 当前怪物组编号 |} 任务侧另有 6 个槽记录进度:0 号已完成环数、1 号当前环是否完成、2 号副本场景号、3 号接任务时的队伍号、4 号杀死任务怪数量、5 号完成用时(秒)。 == 另外八个副本 == {| class="wikitable" ! scope="col" style="width:11%" | 脚本号 ! scope="col" style="width:17%" | 名称 ! scope="col" style="width:17%" | 地图 ! scope="col" | 特点 |- | <code>401001</code> | 珍珑棋局(活动版) | <code>zhenlong.nav</code> | 分两个时段开放:11:30 到 14:30、20:30 到 22:00;带新手棋局模式 |- | <code>401030</code> | 婚庆典礼 | <code>wedding_1/2/3.nav</code> | 心跳 5 秒一次、上限 500 次(约 41 分钟);三张礼堂图对应普通、高级、豪华 |- | <code>402030</code> | 镜湖水寨(剿匪) | <code>jiaofei.nav</code> | NPC 齐煞云;帮派福利性质的效率副本,进副本会扣数值、死亡在入口复活 |- | <code>402040</code> | 牡丹碗(蹴鞠) | <code>cuju.nav</code> | 949 行,是四个蹴鞠脚本(`cuju_1/2/4`)的主入口 |- | <code>402046</code> | 飘渺 | — | 只有 76 行,靠区域触发:矩形范围 x 123 到 127、y 170 到 173 |- | <code>402047</code> | 涿鹿古战场(帮战) | <code>zhuluKVK.nav</code> | NPC 周然,任务名「前往涿鹿古战场」;1877 行,是最大的副本脚本,存活只给 60 次心跳、无人保留 10 秒 |- | <code>402102</code> | 拯救灵兽(野猪 protect) | <code>petisland_2.nav</code> | 进副本保护灵兽,与 402105 共用一套流程 |- | <code>402105</code> | 野猪岔路(野猪 catch) | <code>zhenshoulan.nav</code> | 捕获向玩法,与 402102 配对 |} == 全部副本场景(72 种)== `SceneInfo.ini` 里 `type=1` 的场景共 '''583 个''',去重后 72 种。同名多份的是不同难度或不同层数的模板,比如光明洞、桃花阵、塔林各 3 份。 {| class="wikitable" ! scope="col" style="width:14%" | 副本 ! scope="col" style="width:20%" | 场景号 ! scope="col" style="width:8%" | 份数 ! scope="col" | 地图文件 |- | 聚贤庄 | 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 |} <div class="lua-note">场景清单只说明「有这块场地」,不代表都有脚本。上面 11 个脚本对应的副本才是能玩通的;清单里其余场景多为模板预留,或者由活动、任务脚本按需调用,没有独立的副本流程。</div> == 想改一个副本 == {| class="wikitable" ! scope="col" style="width:22%" | 改什么 ! scope="col" | 动哪里 |- | 改环数、奖励、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 行左右的标准模板,只管对话与事件列表)。改完重新加载脚本即可,但已经开着的副本实例不会跟着变。 </div>
返回
工程参考/副本一览
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
创建账号
登录
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
搜索
工具
链入页面
相关更改
页面信息