查看: 5038|回复: 36

[有事请教] 请问下在伤害公式里更改变量如何完成

[复制链接]
奖 32 星屑 回复本帖可获得 2 星屑奖励! 每人限 1 次
梦石
0
星屑
3745
在线时间
874 小时
注册时间
2012-10-14
回帖
152
发表于 2022-2-18 10:10:15 | 显示全部楼层 |阅读模式

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

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

×
v[1]>3?(v[1]=0;1000):(v[1]++;100)

想完成一个这样效果的技能,会造成五次伤害,前面四次100伤害,最后一次1000伤害。
问题在于伤害公式中好像不能直接使用 v[1]=0,v[1]++这种运算。
梦石
0
星屑
2866
在线时间
446 小时
注册时间
2016-9-26
回帖
1175
发表于 2022-2-18 10:29:23 | 显示全部楼层

回帖奖励 +2 星屑

v[1]>4?v[1]=0;1000:v[1]=v[1]+1;100

点评

你论坛搜索“伤害公式”,找那个文档下载研究一下吧,可以试试if else 语句,其实,你直接用js本身的写法也可以,只要伤害值放在最后去执行就行  发表于 2022-2-18 11:47
然后,也不排除我手机打字,字符有问题  发表于 2022-2-18 11:43
理论上这句应该是可行的,你试试if else语言?  发表于 2022-2-18 11:41
不行,还是报错。  发表于 2022-2-18 10:41
回复

使用道具 举报

梦石
0
星屑
5725
在线时间
564 小时
注册时间
2017-9-28
回帖
151
发表于 2022-2-18 10:37:41 | 显示全部楼层

回帖奖励 +2 星屑

用yep战斗序列语句控制变量1的值
CHANGE VARIABLE 1 = 0

点评

理论上战斗公式应该能直接运算的。VA就可以。不清楚MV应该怎么运算。  发表于 2022-2-18 10:45
回复

使用道具 举报

梦石
0
星屑
3745
在线时间
874 小时
注册时间
2012-10-14
回帖
152
 楼主| 发表于 2022-2-18 12:17:24 | 显示全部楼层
任小雪 发表于 2022-2-18 10:29
v[1]>4?v[1]=0;1000:v[1]=v[1]+1;100

if语句也是不行,它问题出在战斗公式如何赋值。
以VA为例,a.hp+=1就能恢复1点生命。但是MV的赋值代码是a.gainHp(1)。
所以同理我认为变量赋值也不能单纯的 v[1]+=1。。而是有特殊的运算代码。论坛里mv伤害公式那个我看了没有写变量的运算。

点评

a._hp+=1 回血试试这个?  发表于 2022-2-18 14:00
我这几个月天天写这个,前几天还特地研究过伤害公式,感觉没错才对啊,我甚至把人物隐藏都弄了,比你这个复杂多了,不过,我一般用ifelse  发表于 2022-2-18 13:45
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2022-2-18 13:18:47 | 显示全部楼层

回帖奖励 +2 星屑

可以直接运算的..
不过..MV的V变量默认值不是0 这点跟VA不同
所以你1号变量没有预先赋值不能运算

点评

你说的对..不用赋值  发表于 2022-2-18 15:01
应该不用赋值,变量的话,我给的那个感觉是可以的,不行的话可以试试if else语句,暂时我真的看不出哪里错了  发表于 2022-2-18 13:42
回复

使用道具 举报

梦石
0
星屑
3745
在线时间
874 小时
注册时间
2012-10-14
回帖
152
 楼主| 发表于 2022-2-18 13:30:17 | 显示全部楼层
soulsaga 发表于 2022-2-18 13:18
可以直接运算的..
不过..MV的V变量默认值不是0 这点跟VA不同
所以你1号变量没有预先赋值不能运算 ...

刚刚试了下在游戏里先赋值了101变量为0,然后还是报错来着。。

公式。  v[101]>3?(v[101]=0;1000):(v[101]++;100)

点评

括号里用逗号,不要用分号。分号必错。  发表于 2022-2-23 04:11
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2022-2-18 13:31:44 | 显示全部楼层
本帖最后由 soulsaga 于 2022-2-18 13:36 编辑
llkrm 发表于 2022-2-18 13:30
刚刚试了下在游戏里先赋值了101变量为0,然后还是报错来着。。

公式。  v[101]>3?(v[101]=0;1000):(v[10 ...


你可以先试一下就写一个运算
我觉得是你公式写错了..
不过我也不肯定
回复

使用道具 举报

梦石
0
星屑
3745
在线时间
874 小时
注册时间
2012-10-14
回帖
152
 楼主| 发表于 2022-2-18 13:36:13 | 显示全部楼层
soulsaga 发表于 2022-2-18 13:31
你可以先试一下就写一个运算

v[101]>3?1000:100

这样是能通过。甚至测试不用赋值也能通过。。
加了运算就不能通过。
回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2022-2-18 13:36:47 | 显示全部楼层
本帖最后由 soulsaga 于 2022-2-18 13:38 编辑
llkrm 发表于 2022-2-18 13:36
v[101]>3?1000:100

这样是能通过。甚至测试不用赋值也能通过。。


我测试过公式里V可以运算的
回复

使用道具 举报

梦石
0
星屑
3745
在线时间
874 小时
注册时间
2012-10-14
回帖
152
 楼主| 发表于 2022-2-18 13:42:37 | 显示全部楼层
soulsaga 发表于 2022-2-18 13:36
我测试过公式里V可以运算的

大佬可以发个你的公式吗。我参考找下问题。

点评

一样的,还是报错  发表于 2022-2-18 17:28
v[1]>4?(v[1]=0;1000):(v[1]=v[1]+1;100)  发表于 2022-2-18 13:47
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部