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

Project1

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

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

[复制链接]
回帖奖励 32 星屑 回复本帖可获得 2 星屑奖励! 每人限 1 次

Lv3.寻梦者

梦石
0
星屑
3350
在线时间
848 小时
注册时间
2012-10-14
帖子
175
跳转到指定楼层
1
发表于 2022-2-18 10:10:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

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

想完成一个这样效果的技能,会造成五次伤害,前面四次100伤害,最后一次1000伤害。
问题在于伤害公式中好像不能直接使用 v[1]=0,v[1]++这种运算。

Lv3.寻梦者

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

分支里可以赋值,


if(v[1]){if(v[1]==2){v[1]=0;1000;}else{v[1]+=1;100;};}else{v[1]=1;100;}

总结,过于复杂的伤害公式,要用if else语句;并且,变量是需要赋值才能用的(起码伤害公式这里是这样)

这里是真的实测了,说法应该没毛病了,啧
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
40688
在线时间
7541 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

13
发表于 2022-2-18 18:10:12 | 只看该作者

回帖奖励 +2 星屑

楼上已经解决了问题,我来补充一点说明
极其不建议在伤害公式里对变量做修改,即使这样可以满足你目前的需求
建议做法是在技能效果里加公共事件,在公共事件里修改

公式只用来做伤害计算,而不是技能效果的执行,如果有其他插件脚本使用了【伤害计算】这个过程,你的
变量就会因此而变化一次,产生意料之外的后果。

点评

修改变量是为了检测接下来是第几段伤害。打出10,10,10,10,100这种最后一段大招一样的效果,一般会使用一个独立的变量专门计数。  发表于 2022-2-18 18:15
不用别人的插件更好,从根本上解决问题,毕竟,别人的插件,终究不是自我定制,引擎本身的细节已经够难搞了  发表于 2022-2-18 18:15
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3350
在线时间
848 小时
注册时间
2012-10-14
帖子
175
12
 楼主| 发表于 2022-2-18 17:48:08 | 只看该作者
任小雪 发表于 2022-2-18 10:29
v[1]>4?v[1]=0;1000:v[1]=v[1]+1;100

解决了,还了个写法就通过了。我也看不出之前问题在哪。。

点评

回头我也研究一波,感觉很容易出问题啊,要是弄了类似设置  发表于 2022-2-18 18:30
我试了..开始不赋值伤害只有打出100  发表于 2022-2-18 18:23
这样吗?那你试试不用v[n]的写法,用$game那个?  发表于 2022-2-18 18:21
不是开始赋值问题,可能就是单纯不能在分支里执行赋值  发表于 2022-2-18 18:20
那可能变量一开始还是不存在的,得多少赋值一个,虽然看起来是0  发表于 2022-2-18 18:18
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35783
在线时间
10617 小时
注册时间
2009-3-15
帖子
4785
11
发表于 2022-2-18 14:33:12 | 只看该作者
本帖最后由 soulsaga 于 2022-2-18 18:21 编辑
llkrm 发表于 2022-2-18 13:42
大佬可以发个你的公式吗。我参考找下问题。


JAVASCRIPT 代码复制
  1. v[1]++;v[1]=v[1]>1? 0:v[1];v[1]==0?1000:100


你的公式改成这样就通过了..

点评

更新了脚本..之前的有问题..  发表于 2022-2-18 18:21
通过了。感谢! 不知道我那种写法问题出在哪,整懵了。  发表于 2022-2-18 17:43
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3350
在线时间
848 小时
注册时间
2012-10-14
帖子
175
10
 楼主| 发表于 2022-2-18 13:42:37 | 只看该作者
soulsaga 发表于 2022-2-18 13:36
我测试过公式里V可以运算的

大佬可以发个你的公式吗。我参考找下问题。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35783
在线时间
10617 小时
注册时间
2009-3-15
帖子
4785
9
发表于 2022-2-18 13:36:47 | 只看该作者
本帖最后由 soulsaga 于 2022-2-18 13:38 编辑
llkrm 发表于 2022-2-18 13:36
v[101]>3?1000:100

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


我测试过公式里V可以运算的
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3350
在线时间
848 小时
注册时间
2012-10-14
帖子
175
8
 楼主| 发表于 2022-2-18 13:36:13 | 只看该作者
soulsaga 发表于 2022-2-18 13:31
你可以先试一下就写一个运算

v[101]>3?1000:100

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

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
35783
在线时间
10617 小时
注册时间
2009-3-15
帖子
4785
7
发表于 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 ...


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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3350
在线时间
848 小时
注册时间
2012-10-14
帖子
175
6
 楼主| 发表于 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)

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-2-17 01:10

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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