设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 748|回复: 13
打印 上一主题 下一主题

[有事请教] 请问一下mz里是否可以做元素反应相关的设计?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
243
在线时间
12 小时
注册时间
2011-2-9
帖子
17
跳转到指定楼层
1
发表于 2024-4-21 21:55:01 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
求教各位大佬,有什么插件可以实现元素反应吗?

Lv1.梦旅人

梦石
0
星屑
243
在线时间
12 小时
注册时间
2011-2-9
帖子
17
13
 楼主| 发表于 2024-5-7 16:08:03 | 只看该作者
catxiaolang 发表于 2024-4-22 20:14
我尝试用visu插件实现过。visu skill states core 里面有js标签可以实现状态被添加/移除/过期时执行自定义 ...

好的,我先研究研究,还是有点复杂的。元素反应这玩意儿真是个大问题
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
243
在线时间
12 小时
注册时间
2011-2-9
帖子
17
12
 楼主| 发表于 2024-5-7 16:05:12 | 只看该作者
sunhihi 发表于 2024-4-22 09:25
原生的情況下屬性是有缺陷的
1. 當你有雙屬性時他只會計算加成較高的那個
2.做不到將屬性附加攻擊特效也一 ...

是的,其实原生的这个属性基本只能做最简单的伤害加成,其他的东西是一点都做不了……暂时只能先阉割一部分技能设计了。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
243
在线时间
12 小时
注册时间
2011-2-9
帖子
17
11
 楼主| 发表于 2024-5-7 16:03:59 | 只看该作者
清澈淌漾 发表于 2024-4-22 00:00
写好几个状态 比如 caoshi 和 fadian
在【电】技能生效前  如果身上有可以发生反应的元素  
触发另一个效果 ...

我现在的逻辑就是这么想的,多写几个逻辑事件了,不过实际尝试中还是需要阉割一下这部分。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1111
在线时间
208 小时
注册时间
2023-7-14
帖子
86
10
发表于 2024-4-22 20:14:02 | 只看该作者
本帖最后由 catxiaolang 于 2024-4-22 21:57 编辑

我尝试用visu插件实现过。visu skill states core 里面有js标签可以实现状态被添加/移除/过期时执行自定义脚本。

实现逻辑是当添加状态a时检查目标身上是否存在状态b,如果有的话执行对应状态的消耗和反应效果。

诸如冻结的反应在脚本里写添加相应状态就可以了。

产生一段额外伤害的反应则是通过先添加一个代表反应的临时状态c,再用技能附带的事件移除它,将状态c移除时的效果做成反应效果来实现的。
(如果没有状态c,而是把反应直接写在a附带的脚本里,则可能会遇到结算Bug,导致反应伤害覆盖掉技能原本的伤害。)
当然也可以直接用原版的效果把额外伤害伤害并入属性有效度(易伤)



visu skill states core 中相关功能的帮助文本的汉化:

=== JavaScript备注标签:On Add/Erase/Expire ===

使用JavaScript代码,您可以创建在状态被添加、擦除或过期时触发的自定义效果。

---

<JS On Add State>
code
code
</JS On Add State>

- 适用对象:状态备注
- 当状态被添加时,运行此备注标签中添加的代码。
- 'user' 变量指代当前主动的战斗者。
- 'target' 变量指代受到此状态影响的战斗者。
- 'origin' 变量指代应用此状态的源头。
- 'state' 变量指代当前正在受到影响的状态。

---

<JS On Erase State>
code
code
</JS On Erase State>

- 用途:状态标签
- 当一个状态被删除时,运行此标签中添加的代码。
- 'user'变量指的是当前正在行动的战斗者。
- 'target'变量指的是受此状态影响的战斗者。
- 'origin'变量指的是施加此状态的人。
- 'state'变量指的是当前受影响的状态。

---

<JS On Expire State>
code
code
</JS On Expire State>

- 用于:状态注释标签
- 当状态已过期时,运行此注释标签所添加的代码。
- 'user' 变量指代当前行动的战斗者。
- 'target' 变量指代受到该状态影响的战斗者。
- 'origin' 变量指代施加此状态的来源。
- 'state' 变量指代当前正在受影响的状态。


PS:诸如燃烧这样的DOT效果也可以通过这个插件实现(RM原版的DOT只能基于敌人自身最大生命值,无法基于施法者属性)

<JS type Slip Damage>
code
code
damage = code;
</JS type Slip Damage>

- 用于:状态注释
- 该代码用于确定在每个再生阶段对受影响单位造成多少持续伤害。
- 将'type'替换为'HP'、'MP'或'TP'。
- 将'code'替换为计算持续伤害的具体公式。
- 'user'变量表示状态来源单位。
- 'target'变量表示受到伤害的受影响单位。
- 'state'变量表示当前受影响的状态。
- 'damage'变量是最终要造成的持续伤害值。
- 当这些状态通过行动效果应用时,持续伤害的计算是一次性的,在应用时进行计算,并将伤害缓存以便于未来的再生计算中使用。
- 因此,请勿在此处包含游戏机制,比如添加状态、增益、减益等,因为此注释标签仅用于计算。请使用VisuStella Battle Core的<JS Pre-Regenerate>和<JS Post-Regenerate>注释标签来处理游戏机制。
- 被动状态和带有<JS Slip Refresh>注释标签的状态不受一次性计算的影响,它们在每个再生阶段都会重新计算。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7119
在线时间
1304 小时
注册时间
2018-9-29
帖子
503
9
发表于 2024-4-22 09:25:50 | 只看该作者
本帖最后由 sunhihi 于 2024-4-22 09:37 编辑

原生的情況下屬性是有缺陷的
1. 當你有雙屬性時他只會計算加成較高的那個
2.做不到將屬性附加攻擊特效也一起變化的效果(特效綁死了技能)
3.如果你想做到精準同時分析 手持長劍 職業為劍士攻擊 附加火屬性 攻擊 水屬性的 魚類魔物
這種極為複雜的種族 職業 屬性 體型大小 通通做不到

當然有大神可以利用公式, 事件弄出來, 但是你有這麼複雜的變化, 對應的是你也會有龐大的技能庫, 然後就會累死你

yep插件能不能解決這堆問題我不知道,畢竟我沒有餘力去研究yep 畢竟他們家的東西到MZ就變成 VisuStella(收費又加密) 了

我自己是有寫一套可以處裡這種情況的插件, 但是並沒有考慮與yep插件或是VisuStella相容

点评

是的,超级麻烦……我今早看到楼上几位的回复基本都集中在「状态形成特定组合时自动转移到新状态」这个层面,嗯也能做不少事就是了。  发表于 2024-4-22 11:43
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
26
在线时间
701 小时
注册时间
2021-3-24
帖子
549
8
发表于 2024-4-22 00:00:18 | 只看该作者
写好几个状态 比如 caoshi 和 fadian
在【电】技能生效前  如果身上有可以发生反应的元素  
触发另一个效果 比如 超市+发电=导电,移除两个效果,追加上导电的特效
如果没有 挂上属性相对的效果

全家活光光~
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1376
在线时间
199 小时
注册时间
2023-6-10
帖子
14
7
发表于 2024-4-21 23:25:01 | 只看该作者
可以采用yep(visu)状态核心插件,具体可以这么写:
在b状态的备注中:
<Custom Apply Effect>
if (user.isStateAffected(a)){
user.removeState(a);
user.removeState(b);
user.addState(c);
}
</Custom Apply Effect>
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
243
在线时间
12 小时
注册时间
2011-2-9
帖子
17
6
 楼主| 发表于 2024-4-21 23:15:15 | 只看该作者
小秋橙 发表于 2024-4-21 22:49
整个rm系列的元素属性之间并不原生支持相生相克什么的,只有“有效度”也就是“史莱姆弱火而抗冰”之类的性 ...

不对,也不太行,不过大概的逻辑还是能作出来的,就是公共事件库可执行的东西比较少。还需要再研究研究
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
243
在线时间
12 小时
注册时间
2011-2-9
帖子
17
5
 楼主| 发表于 2024-4-21 23:02:43 | 只看该作者
小秋橙 发表于 2024-4-21 22:49
整个rm系列的元素属性之间并不原生支持相生相克什么的,只有“有效度”也就是“史莱姆弱火而抗冰”之类的性 ...

我刚刚尝试了一下,公共事件可以做这样的逻辑,已经尝试出我举例的元素反应了~只不过需要自己一个一个写就是了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 10:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表