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

Project1

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

[有事请教] 我设定了一个夫妻技第一次输出必然是0,请问咋回事?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
76
在线时间
21 小时
注册时间
2024-6-24
帖子
11
跳转到指定楼层
1
发表于 2024-7-2 21:46:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
话说有一对夫妻,每当男人不在的时候,女人输出提高十倍。



我使用了一个公共事件,检测老公是否在场,在场变量4=1,不在场变量4=10,从而让输出提高十倍。

然后我将命中调整到120%,对应怪的闪避是5%,也就是说我是必中的。

结果第一回合输出永远是0,显示的是没有造成任何伤害。这是什么意思没看懂,我以前只看到过miss,我必中他又不存在闪避。

从第二回合开始,接下来数据全部都是分毫不差的。(所以我将分散度调整为0,方便测试。)

第一回合你说我变量4没设定默认=0,可能公共事件先打后判定,我的魔法攻击是20,那第一回合的输出就应该是2000+20*30*0那应该=2000,这个0是咋来的?

如果是先加减后乘除也不对,因为从第二回合开始,他显示给我的伤害输出就是先乘除后加减的,一点误差都没有。

请大佬指点下,谢谢。

点评

2000+a.mat*30*(v[4]||0)  发表于 2024-7-3 13:21

Lv4.逐梦者

梦石
0
星屑
6272
在线时间
1397 小时
注册时间
2013-12-3
帖子
300
2
发表于 2024-7-2 21:59:56 | 只看该作者
1 公共事件是在技能释放后才会执行,你第一次放技能的时候这个判定还没有对变量4赋值
2 初始状态下变量的值实机存储的是undefined,并不是0,也就是计算结果可能是2000 + undefined = NaN
你可以尝试下战斗前把变量手动设置一次0再试试 应该第一回合就是2000了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
76
在线时间
21 小时
注册时间
2024-6-24
帖子
11
3
 楼主| 发表于 2024-7-4 07:56:26 | 只看该作者
本帖最后由 szwd1997 于 2024-7-4 07:57 编辑

谢谢HM495,小秋橙两位大佬的回复,我之前没搞懂共通事件的逻辑,采用的无的触发条件,调用的话就会导致变量4的不灵活,也就是说第一次无法监测到底在不在队伍,必须技能触发一次后,才会发动公共事件。

现在我的输出公式还是不变,但是公式效果追加里不调用公共事件,而是一开始游戏就打开薛士辛是否在场的开关,并行处理,并且测试在场不在场都是正常的。

这里还有个问题,为什么我设定自动执行时1个公共事件就卡得没法玩,而设定并行就是完美运行。

我知道自动执行需要一个开关关闭的指令结束掉它的判定,但问题是并行也没结束,依旧是反复判定,为什么并行不卡,而自动执行卡死。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6933
在线时间
465 小时
注册时间
2021-12-4
帖子
498
4
发表于 2024-7-4 08:04:19 | 只看该作者
szwd1997 发表于 2024-7-4 07:56
谢谢HM495,小秋橙两位大佬的回复,我之前没搞懂共通事件的逻辑,采用的无的触发条件,调用的话就会导致变 ...

检测数据库 N 号角色是否为战斗成员可以直接用 $gameActors._data[N].isBattleMember() ,用并行事件效率不好。这样伤害公式可以写成 2000+a.mat*30*($gameActors._data[1].isBattleMember() ? 1 : 10)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-27 22:08

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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