跳到主要内容

编辑房间

随机地牢用的是同一套编辑模式:同样的编辑世界、9 个工具、右键标签编辑点位、菜单编辑器。差别是一个随机地牢有很多间房,每间各自编辑、各自保存。

房间清单​

/cd admin edit <副本>

随机地牢的根目录没有自己的地图,所以 edit 打开的是房间清单(6 排箱子菜单):

  • 每间房一个图标,物品照种类:起点 = 床、战斗 = 铁剑、精英 = 凋零骷髅头颅、首领 = 龙首、宝藏 = 箱子、商店 = 绿宝石、休息处 = 营火、事件 = 附魔台。
  • 说明里有:✔ 地图已存 X×Y×Z 或 ✘ 还没盖、出现楼层与权重、房间名称、有几个问题(太大、没有入口……会直接写出原因)。
  • 点一下:进去编辑这一间。
  • Shift + 右键:切换这间房的种类(战斗 → 精英 → 首领 → 宝藏 → 商店 → 休息处 → 事件),起点房不能换。

最下面一排:

按钮作用
新增房间选一个种类就用范本建立(房间 ID 自动取名,例如 combat_3),直接进去盖地图;要自己取 ID 用 /cd admin rogue room-add
检查设置执行 /cd admin validate <副本>,列出整个随机地牢的问题
预览楼层随机一个种子,在聊天栏列出前 3 层每一步会出现的门(每一步都选第 1 扇)
书(副本信息)房间数、能用的房间数、格子数与间距;还不能开始的话列出原因
测试整场马上用测试模式开一场(正在编辑的话会先存地图、离开编辑;你在队伍里时整队一起进场)
上一页 / 下一页房间超过 45 间时

编辑一间房​

/cd admin edit <副本>:<房间>

例如 /cd admin edit abyss:combat_hall,或在房间清单里点一下。进入时会显示「正在编辑 副本 › 房间(种类)」。

每间房最少要有:

点位工具说明
入口2 床名称是 room.yml 的 spawn(默认 spawn)。传送进来的位置,也是这间房的存档点;没有入口的房间不会出现
出口3 指南针,输入 exit门出现的地方;要分别摆每扇门就另外放 exit1、exit2、exit3(门数上限是几扇就放几个,不够时改回以 exit 为中心排开)
出怪点1 铁锹,输入怪物组名称战斗、精英、首领房的怪物从这里出来

特殊房间另外要一个点位(指南针的快速选项里会列出来):

种类点位(默认名称)放在哪里
商店shop商人站的位置(村民蛋 NPC 工具也可以)
宝藏chest放一个箱子,用指南针右键这个箱子、取名 chest;玩家右键这个箱子领奖励
休息处campfire放一个营火,用指南针右键它、取名 campfire
事件altar放一个当祭坛的方块(例如磁石),用指南针右键它、取名 altar

名称可以在 room.yml 改(shop.npc、reward.point、rest.point、event.point)。

自动补上的怪物组

铁锹输入的怪物组名称在这间房的 monster.yml 还没有时,会自动补一组范本(3 只僵尸)。这间房的第一组会写成 auto-start: true,进房间就出怪;之后补的组是 false,要一波接一波就在上一组的 end 写 monstergroup start <这一组>。

盖房间的建议​

  • 房间别盖太大:起点房以外的房间长宽有上限(environment.border: 16 时 424×424),见 房间大小。
  • 入口朝向就是玩家传送进来时面对的方向,建议朝着房间里面、出口在另一头。
  • 出口前留一点空地:两三扇门会以出口为中心往左右排开,每扇间隔 3 格。

房间的编辑菜单​

快捷栏第 9 格的下界之星(或 /cd admin menu)。和一般副本的编辑菜单一样有点位清单、怪物组、触发组、任务组、脚本组,另外:

  • 最上面的信息显示种类、权重、楼层、名称、这间房自己的怪物组 / 触发 / 任务数量,以及不能用的原因。
  • 存档并测试:保存地图、离开编辑,约 3 秒后用测试模式打这一间(起点房则是测试整场;你在队伍里时整队一起进场)。
  • 检查设置:列出这间房找不到的点位、怪物、脚本,以及整个随机地牢的格子问题。
  • 脚本组:script.yml,加上房间的 start.yml(进房间)与 end.yml 的 clear(清除时)。

房间快速设置​

菜单下半部分直接修改这间房的 room.yml,改完立刻重新读取:

设置点击方式对应设置
种类点击切换:战斗 → 精英 → 首领 → 宝藏 → 商店 → 休息处 → 事件(起点房固定)type
权重左键 +1、右键 −1,Shift 为 ±5(0 = 不会出现)weight
楼层点一下在聊天栏输入:1-3、4+、all、2floors
清除条件点击轮换 groups / mobs / script / enter / event;Shift+右键改回「依种类」clear-when
清除后选祝福点击轮换 default / true / falsedraft
进房间后等几秒点一下在聊天栏输入(例如 2s;default = 用副本的 roguelike.enter-delay)enter-delay
每场最多出现左键 +1、右键 −1(0 = 不限)max-per-run
房间名称点一下在聊天栏输入(可用 & 色码,清空 = 不写)name

切换房间​

菜单最下面一排:

按钮作用
◀ 房间清单回到这个随机地牢的房间清单
上一个房间 / 下一个房间依文件夹名称顺序切到相邻的房间。这一间没保存的方块会留在编辑区,回来可以继续盖(点位本来就是即时保存的)
新增房间输入房间 ID,再选种类
关闭关闭菜单

保存与检查​

/cd admin save 和一般副本一样,把这间房存成 rooms/<房间>/map.schem 与 points.yml。保存后会自动检查,只列出和这间房有关的问题,以及整个随机地牢的格子问题。

常见的提示:

提示怎么办
地图还没存,这间房暂时不会出现/cd admin edit 副本:房间 盖好后 /cd admin save
没有入口点,这间房暂时不会出现用床点一下
地图 X×Z 太大,这间房暂时不会出现把房间盖小、调小 environment.border,或调大 world.slot-spacing
没有出口点用指南针点 exit(没有的话门会出现在入口前面)
clear-when 是 groups,但 monster.yml 没有怪物组新增怪物组,或把 clear-when 改成 enter / mobs
怪物组 X 不会自动开始,也没有脚本叫出它给它 auto-start: true,或在上一组的 end 写 monstergroup start X
clear-when 是 script,但房间里没有任何 room clear / clear 动作补上清除的脚本,否则这间房永远不会清除
商店 NPC / 宝箱 / 营火 / 祭坛 点位找不到用指南针新增那个点位
房间的触发和副本 trigger.yml 同名只是提醒:在这间房里以房间的为准
起点房挡住了所有房间格子 / 格子不够把起点房或最大的房间盖小,或调大 world.slot-spacing

/cd admin rogue rooms <副本> 会一次列出所有房间的状态(✔ / ✘、种类、权重、楼层、大小或原因)与还不能开始的原因。

新增与删除房间​

/cd admin rogue room-add <副本> <房间> <种类>
/cd admin rogue room-remove <副本> <房间> confirm
  • room-add 用这个种类的范本建立 room.yml、monster.yml、start.yml、end.yml、trigger.yml,然后直接进去编辑。种类可以写 start、combat、elite、boss、reward、shop、rest、event。
  • room-remove 把房间文件夹移到 dungeons/.trash/(不会真的删除);这个随机地牢正在进行或有人在编辑时不能删。

编辑中的限制​

  • 有人正在编辑某个随机地牢的任何一间房时,玩家不能开始这个随机地牢,只有 /cd admin test 可以。
  • 保存后,正在进行的场次里还没贴过这间房的,会用新的地图与点位;已经贴过的(门出现时、甚至更早先在背景贴好时就贴了)这一场继续用旧的。房间设置(room.yml 等)要等新开的场次才生效。