查看: 6300|回复: 4

[有事请教] 一个关于YEP状态核心插件状态叠加的问题

[复制链接]
梦石
0
星屑
227
在线时间
52 小时
注册时间
2021-3-19
回帖
9
发表于 2021-5-5 20:30:49 | 显示全部楼层 |阅读模式
悬赏50星屑未解决

我使用教程里的代码没有效果,可以叠加层数但不能叠加效果是什么缘故呢?比如我设置每层的效果是提升3%的生命回复,但叠加一层与多层的效果一致,均为3%
这是使用的代码
<Custom Apply Effect>
user._stockpile = user._stockpile || 0;
user._stockpile += 1;
user._stockpile = Math.min(user._stockpile, 3);
user.setStateCounter(stateId, user._stockpile);
</Custom Apply Effect>

<Custom Remove Effect>
user._stockpile = 0;
user.setStateCounter(stateId, user._stockpile);
</Custom Remove Effect>

梦石
0
星屑
227
在线时间
52 小时
注册时间
2021-3-19
回帖
9
 楼主| 发表于 2021-5-6 13:05:31 来自手机 | 显示全部楼层
本帖最后由 Muyutong 于 2021-5-6 13:06 编辑

我测试后发现这段代码本身并不能实现叠加属性,最后用G_stateparama这个插件实现固定属性叠加,用YEP_baseparamacontrol插件的增加属性指令实现时(我放在状态添加效果里),状态移除效果里写上减少属性,期望的效果是1+1+1,实际效果是1+2+3
回复

使用道具 举报

梦石
0
星屑
227
在线时间
52 小时
注册时间
2021-3-19
回帖
9
 楼主| 发表于 2021-5-6 13:10:54 来自手机 | 显示全部楼层
本帖最后由 Muyutong 于 2021-5-6 18:32 编辑

我想到的解决办法是去掉stacks*100*user. level,改成user. level*100,实现增加固定属性值,每一层就增加等级*100点属性,状态移除时去除stacks*user*100点属性应该是正常的
代码如下<Custom Apply Effect>
user._stockpile = user._stockpile || 0;
if(user._stockpile <=2)
{var damage = 0;
damage = 5*user.level;
user.addAtk(damage)}
user._stockpile += 1;
user._stockpile = Math.min(user._stockpile, 3);
user.setStateCounter(stateId, user._stockpile);
</Custom Apply Effect>

<Custom Remove Effect>
var damage = user._stockpile;
damage = 5*user._stockpile;
damage = damage*user.level;
user.minusAtk(damage);
user._stockpile = 0;
user.setStateCounter(stateId, user._stockpile);
</Custom Remove Effect>

实现了每层每等级五点攻击力,可叠加的一个攻击力增加状态
回复

使用道具 举报

梦石
0
星屑
55
在线时间
10 小时
注册时间
2021-4-24
回帖
3
发表于 2021-5-7 21:52:40 | 显示全部楼层
程序直接复制在注释栏就可以了吗
回复

使用道具 举报

梦石
0
星屑
227
在线时间
52 小时
注册时间
2021-3-19
回帖
9
 楼主| 发表于 2021-5-8 00:33:20 | 显示全部楼层
15227015827 发表于 2021-5-7 21:52
程序直接复制在注释栏就可以了吗

对的,写在状态注释栏里,同时必须 有YEP状态核心插件和基础参数插件
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部