查看: 2707|回复: 8

[有事请教] 请教如何实现原有的伤害附加元素伤害【已解决】

[复制链接]
梦石
0
星屑
538
在线时间
53 小时
注册时间
2023-3-4
回帖
16
发表于 2023-3-5 01:00:31 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 rmmzxs 于 2023-3-7 20:14 编辑

求大佬们给点思路和方向,大概效果是类似暗黑类游戏,一个装备或者技能可以给与攻击附加一定的元素伤害,在原有的伤害基础上能附加一定的元素伤害
例如原本一个普通攻击可以打出10点物理伤害,技能或者装备可以附加2点火焰伤害,最终打出来的伤害就是10点物理+2点火焰伤害,一共12点伤害
梦石
0
星屑
83
在线时间
14 小时
注册时间
2023-2-27
回帖
11
发表于 2023-3-5 12:15:46 | 显示全部楼层
我也想要这种效果,帮顶
回复

使用道具 举报

梦石
0
星屑
3081
在线时间
236 小时
注册时间
2021-4-22
回帖
203
发表于 2023-3-5 22:37:14 | 显示全部楼层
插件没见过类似的。
有想到一个方式没实践过,你可以试试
就是给每个角色预留一个变量,把这个变量加进技能伤害公式里。或者用VisuStella动作序列给每个技能都额外写一段变量+伤害
如果这个做的话,你的每个角色技能都要是独立不共用的
回复

使用道具 举报

梦石
0
星屑
538
在线时间
53 小时
注册时间
2023-3-4
回帖
16
 楼主| 发表于 2023-3-5 22:52:39 | 显示全部楼层
dabaxhei 发表于 2023-3-5 22:37
插件没见过类似的。
有想到一个方式没实践过,你可以试试
就是给每个角色预留一个变量,把这个变量加进技能 ...

给角色预留一个变量,把附加伤害全部加进去,调用公式的时候用上,确实是个思路,感谢大佬指点。不过好像要处理多元素伤害还是有点难

动作序列插件没用过,RMMZ刚开始摸没几天,很多经典插件和现在主流插件都不了解,有空我去看看这个插件的功能

顺便再请教一下,测试游戏时想看控制台,是F12那个类似浏览器开发者界面的窗口吗,然后如果我要在控制台输出内容,应该调用哪个函数
回复

使用道具 举报

梦石
0
星屑
538
在线时间
53 小时
注册时间
2023-3-4
回帖
16
 楼主| 发表于 2023-3-6 14:43:30 | 显示全部楼层
摸索了一天脚本,实际效果已经可以实现了,但是视觉效果没能解决,请教一下伤害数字结算飞出来调用的是哪个函数,想做成分开的结果显示,先跳出10的物理伤害再跳出2的火焰伤害,一个action好像只能绘制一次伤害,自动调用最后一次伤害
回复

使用道具 举报

梦石
0
星屑
83
在线时间
14 小时
注册时间
2023-2-27
回帖
11
发表于 2023-3-6 18:33:32 | 显示全部楼层
可以分享下你现在是怎么设置的吗?
回复

使用道具 举报

梦石
0
星屑
6808
在线时间
461 小时
注册时间
2012-2-19
回帖
37
发表于 2023-3-7 11:19:18 | 显示全部楼层
使用vs战斗核心插件Battle Core VisuStella MZ
装备状态备注使用:
  1. <JS Post-Damage as User>
  2. //结算原本伤害弹窗
  3. target.startDamagePopup();
  4. target.clearResult();
  5. //计算额外附加伤害
  6. var dam = 伤害公式;
  7. //取得目标属性有效度
  8. var ele = target.elementRate(id);
  9. //计算伤害
  10. dam = Math.floor(dam * ele);
  11. //执行伤害
  12. target.gainHp(-dam);
  13. //播放动画
  14. $gameTemp.requestAnimation([target],动画id);
  15. <JS Post-Damage as User>
复制代码

技能使用:
  1. <JS Post-Damage>
  2. //结算原本伤害弹窗
  3. target.startDamagePopup();
  4. target.clearResult();
  5. //计算额外附加伤害
  6. var dam = 伤害公式;
  7. //取得目标属性有效度
  8. var ele = target.elementRate(id);
  9. //计算伤害
  10. dam = Math.floor(dam * ele);
  11. //执行伤害
  12. target.gainHp(-dam);
  13. //播放动画
  14. $gameTemp.requestAnimation([target],动画id);
  15. </JS Post-Damage>
复制代码

没测试过,但是应该可以
回复 1 0

使用道具 举报

梦石
0
星屑
538
在线时间
53 小时
注册时间
2023-3-4
回帖
16
 楼主| 发表于 2023-3-7 20:12:36 | 显示全部楼层
Tdow 发表于 2023-3-6 18:33
可以分享下你现在是怎么设置的吗?

7L大佬的方法可行
回复

使用道具 举报

梦石
0
星屑
538
在线时间
53 小时
注册时间
2023-3-4
回帖
16
 楼主| 发表于 2023-3-7 20:13:40 | 显示全部楼层
sundeshuo 发表于 2023-3-7 11:19
使用vs战斗核心插件Battle Core VisuStella MZ
装备状态备注使用:

太强了,这个插件确实可以,方便好多,谢谢大佬提供思路,代码稍微改一点就能达到效果,万分感谢
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部