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

Project1

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

[有事请教] 怎样做一个增加其他技能威力的被动技能

[复制链接]

Lv2.观梦者

梦石
0
星屑
714
在线时间
224 小时
注册时间
2009-2-19
帖子
227
跳转到指定楼层
1
发表于 2022-11-9 19:30:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
比如做一个火焰精通被动,可以增加火球术的威力。
我记得以前好像在哪里见过,但是找不到了!
[img][/img]

Lv3.寻梦者

梦石
0
星屑
2866
在线时间
446 小时
注册时间
2016-9-26
帖子
1223
2
发表于 2022-11-9 21:17:33 | 只看该作者
本帖最后由 任小雪 于 2022-11-9 21:20 编辑

方法1:伤害公式使用公共变量。
方法2:该技能用脚本调整伤害公式,data文件里的技能文件的数据要实现保存。
建议使用方法1,所谓被动技能是装饰,关键是你怎么控制相关公共变量
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1583
在线时间
560 小时
注册时间
2010-10-16
帖子
103
3
发表于 2022-11-10 12:23:59 | 只看该作者
<Custom Confirm Effect>
if(this.isDamage() && this.item() && this.item().damage){
if((this.item().damage.elementId == 2)){
value +=Math.floor(value*0.30);
}
}
</Custom Confirm Effect>

如果使用火系魔法时,伤害提升30%。
不过需要YEP系列的BUFF核心和被动插件。

点评

不好意思,我只能看懂一点点,请问这个代码是增加单个技能的威力还是增加全部属性为火的技能?我的目的是只增加某单个技能威力就行  发表于 2022-11-11 09:48
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
714
在线时间
224 小时
注册时间
2009-2-19
帖子
227
4
 楼主| 发表于 2022-11-11 09:43:13 | 只看该作者
任小雪 发表于 2022-11-9 21:17
方法1:伤害公式使用公共变量。
方法2:该技能用脚本调整伤害公式,data文件里的技能文件的数据要实现保存 ...

感谢提供思路,我不太会代码,请问在计算公式中加入某个变量代码是怎么写?
比如a.atk * 4 - b.def * 2 + 5号变量,这个变量怎么写出来。
[img][/img]
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1583
在线时间
560 小时
注册时间
2010-10-16
帖子
103
5
发表于 2022-11-11 16:33:23 | 只看该作者
fnhjjrrk 发表于 2022-11-10 12:23
if(this.isDamage() && this.item() && this.item().damage){
if((this.item().damage.elementId == 2)){
...

<Custom Confirm Effect>
if (value > 0 && this.item() && this.item().id === 13) {
  var bonus = Math.ceil(value*0.30);
  value += bonus;
}
</Custom Confirm Effect>

这个是使用13号技能时,增加30%的伤害。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2866
在线时间
446 小时
注册时间
2016-9-26
帖子
1223
6
发表于 2022-11-11 20:12:58 | 只看该作者
根五 发表于 2022-11-11 09:43
感谢提供思路,我不太会代码,请问在计算公式中加入某个变量代码是怎么写?
比如a.atk * 4 - b.def * 2 + ...

$gameVariables.value(5)

论坛搜索“【新手入门/进阶必备】MV技能伤害公式大全”,
论坛搜索“【RMMV】事件脚本整合”非常好的脚本调用手册“”“MZ脚本调用大全(MV可用)”。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1339
在线时间
69 小时
注册时间
2010-12-22
帖子
124
7
发表于 2022-11-11 22:56:18 | 只看该作者
根五 发表于 2022-11-11 09:43
感谢提供思路,我不太会代码,请问在计算公式中加入某个变量代码是怎么写?
比如a.atk * 4 - b.def * 2 + ...

a.atk * 4 - b.def*2 + v[5]
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1339
在线时间
69 小时
注册时间
2010-12-22
帖子
124
8
发表于 2022-11-12 00:17:47 | 只看该作者
按以下指令放入伤害公式:
( a.atk *2 - b.def ) * ( a.skills().contains($dataSkills[66]) ? 1.5 : 1 )
(拥有66号技能的情况下,伤害为原来的1.5倍,没有66技能的话,是原来的伤害)
如果有多个增加伤害的被动技能就继续往后面叠加就好

附赠你一个团队加强的伤害效果:
( a.atk *2 - b.def ) * ( a=$gameParty.members().some( x=>{return x.skills().some(b=>b.id==66)} ) ? 1.5 : 1 )
(整个队伍中,只有人拥有66号技能,就造成1.5倍伤害,整个队伍中都没有66号技能,造成原来伤害)

点评

大佬冰淇淋啊  发表于 2022-11-14 18:48
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
714
在线时间
224 小时
注册时间
2009-2-19
帖子
227
9
 楼主| 发表于 2022-11-14 09:00:06 | 只看该作者
感谢各位的指点,问题完美解决!
[img][/img]
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 01:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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