Skip to content

小功能设计-升级时可选随机奖励

===概述===

示例图

升级时可选随机奖励 的效果如下图。

示例工程

考虑到示例工程中的插件太多了,群友单独拿出来会遇到各种问题。

这里我建立了单独的解谜设计工程,并放入了集合中,方便熟悉用法。

小型示例工程集合链接: https://pan.baidu.com/s/1Z60Fht7alAGZymWOle68PQ提取码: 3r5e

另外,示例中的插件一直在更新,而打包工程中的插件不一定会同步更新哦。

灵感来源

2025年11月23日,作者我写好了选择项窗口的插件,有个群友很快就用起来了。

(参考的文档“15.对话框 > 关于选择项窗口.docx”的章节“设计一个随机抽卡的多选项框”。)

我看他设计的内容感觉还不错。如下图。

可以考虑开一个坑,详细介绍一下这个功能怎么设计ヽ(*。>Д<)o゜。

===升级时可选随机奖励 - 实现===

基础插件

如果要从零开始设计,需要用到下图的插件:

注意,该文档只说明 整体设计思路。

对于具体 插件指令和配置项 ,需要去示例中 公共事件 看看。

你也可以去看看文档:“15.对话框 > 关于选择项窗口.docx”的章节“设计一个随机抽卡的多选项框”。

基础配置

具体注意示例下面的地方:

1)地图事件

位于 对话框管理层,有直接用 选择项窗口+素材库 起草功能的事件作为参考。

也可以去看看小工程中的事件。或者后面章节:可选随机奖励

2)图标设置

素材库插件用到了图标。属性加成也用到了 图标+文本 显示。

3)资源文件夹

留意下面两个文件夹:“Assets__ActorAttribute”和“Menu__textBigImg”。

4)公共事件

留意示例中的公共事件71。

公共事件设置了并行,每秒监听一次,可见后面章节:升级的时机监听

5)变量设置

监听升级时用到了 开关96和变量77。

并且变量24作为临时变量使用。

6)角色设置

注意,示例中的量子妹的角色id为5,而小工程的量子妹角色id为1。

跨工程复制指令时,也要注意角色id变化的问题:示例复制时的缺失

7)插件指令

插件指令主要用到了 选择项窗口 插件的指令。

通过这些指令来实现 随机抽取属性 的功能。

可选随机奖励

1)素材准备 - 素材库

示例中,提供了方便的素材库插件。

你可以将示例的文件夹 Assets__ActorAttribute 直接复制过来使用。

初始起草配置,需要下面插件。(注意记得加一下 对话框优化核心)

素材库插件会自动关联并配置上基本属性的图标、资源图片、文本设置。

在游戏中测试 大图片字符 时,如下图。

2)素材准备 - 直接配置

除了使用素材库,你可以直接手动配置大图片字符。

如下图,在插件中绑定大图片字符。

然后通过窗口字符显示出来即可。

但这样操作比较麻烦,后续如果要批量修改,工作量会很大。

3)选项设置

窗口字符确认生效后,现在加上选择项窗口插件。

Drill_DialogChoiceBox 对话框 - 选择项窗口

这里准备8个选项,对应了8个基本能力值,然后随机排列。

生命上限、魔法上限、物理攻击、物理防御、魔法攻击、魔法防御、幸运、敏捷。

完成设置后,在游戏中测试,随机效果如下图。

接下来,把选项限制为4个。(指令“添加到隐藏列表”,可见 选择项的隐藏管理

然后设为横向平铺。

设置后效果如下图。

最后,加上文本居中插件。

Drill_DialogTextAlign 窗口字符 - 文本居中

将选项的文本设置为好看的样子,如下图。

这个过程使用窗口字符,自己慢慢微调。选项的宽度会被最长的文本撑开,选项的高度会被行数
和大图片撑开。

如果你觉得文本太长了,你也可以使用 \str[] 来控制显示长文本。

需要字符串插件:

Drill_CoreOfString 系统 - 字符串核心

使用方法如下图。(字符串插件能拼接多个文本,怎么方便怎么来)

4)奖励功能实现

奖励功能直接使用 事件指令“增减能力值” 即可。

由于这里奖励的是 玩家领队,所以需要使用变量21获取到角色id,然后赋值。

如果队伍中有很多人,某些奖励只能给某个角色,那么你需要加 分支条件,专门判断给哪个角色进行奖励。

5)提示的字符文本

上述功能实现后,会发现一个问题:** 玩家获得属性后,没有任何提示**。

所以,这里要加一下窗口字符提示。

虽然直接写文本最快最容易,

但注意玩家领队是变化的,而且属性也可能会换名词,

所以这里使用 指代字符 来表示。

玩家领队,使用“\p[-2]”;后面第1个玩家队员使用“\p[1]”;第2个使用“\p[2]”。“\dtxt[xxxx文本]”来自素材库的窗口字符定义。

升级的时机监听

1)监听事件起草

前面章节 奖励功能实现 中,提到了多个角色给予奖励的问题。

升级的监听也一样,如果有多个角色,那么就要写多个监听的公共事件。

这里我们先以 量子妹 一个角色为例,用开关构建一个框架。

如上图,公共事件在并行处理中,每秒监听一次。

但是必须要求“永久on的开关”真的是ON。

(进入游戏后,所有开关都初始为OFF,你需要加一个自动执行的事件,强制ON)

另外,由于指令处在 并行处理 中,为了防止执行指令时重复执行,

这里要加一个开关阻塞并行的情况,所以用到了 开关96。

2)监听变量控制

确认开关设置好之后,接下来使用 变量77,

实时监听 量子妹 的等级。

写法如下图,这里套了一个循环,

因为量子妹可能存在连升2级的情况,所以奖励处理就需要执行2次。

所以循环执行n次,去比较 变量和量子妹的等级。

每激活一次奖励处理,变量+1,直到跳出循环。

另外注意,变量初始值为0。

为了确保量子妹升级时才会触发奖励,你也要在初始化事件中,初始化变量值。如下图。

3)奖励处理

并行事件阻塞开关 和 监听变量 设置完毕后,

就可以添加奖励处理了,如下图。

由于开关和变量,都是专门针对 量子妹 这一个角色,

所以增减能力值的时候,也不需要考虑 变量角色 了,直接给量子妹加属性即可。

4)多角色扩展

上述过程中,监听了量子妹的升级情况。

如果有多个角色,每个角色都能领取奖励,

那么上述操作要复制N次,占用N个开关和N个变量。

多角色的 升级奖励 实现,作者我这里就不赘述了,复制粘贴即可。

5)其他设计

当前为 公共事件并行+变量监听 的设计,

玩家在升级后,进入地图能立即给予奖励,整个过程自动执行。

其实除了并行事件,还有更简单的设计方法,事件对话+变量比较 的设计。

建立一个“奖励领取”事件,玩家升级后,让玩家自己去找事件领取奖励。

和那个事件对话时,只要判断一下当前等级,就能触发是否给奖励的功能。

设计方法多种多样,具体看你如何选择。

后续功能扩展

你还可以在获取属性的基础上,添加“可选择数+1”的设定。

具体去看看文档:“15.对话框 > 关于选择项窗口.docx”的章节“设计一个随机抽卡的多选项框”。

===升级时可选随机奖励 - 注意事项===

选择项的隐藏管理

选择项窗口中,三个插件指令的用法如下表:

插件指令可实现抽卡功能实现方法
>选择项窗口 : 下一个窗口-隐藏列表-添加选项 : 选项[1]将某卡从奖池中移除通过开关,初始不执行;开启后执行隐藏。
将某卡加入到奖池通过开关,初始执行隐藏;开启后不执行。(可以用分支条件的”否则”)
>选择项窗口 : 下一个窗口-开启全部选项随机排列随机过程执行指令即可。
>选择项窗口 : 下一个窗口-排列后隐藏列表-添加选项 : 选项[1]增加抽卡数量通过变量+1,变量分支执行多个隐藏指令。
减少抽卡数量通过变量-1,变量分支执行多个隐藏指令。

在“隐藏列表”中“添加选项”,添加了的选项id才会被隐藏。

由于逻辑是反的,所以设计时最好 列清楚 思路。

示例复制时的缺失

如下图,由于示例中“量子妹”的角色id为5,小工程中的量子妹的id为1,

所以不匹配,会出现问号。

记得手动修改这些错误id,否则指令不生效。

贡献者

暂无相关贡献者

页面历史

暂无最近变更历史
最近更新