Project1

标题: 【求助】va变量b如何随变量a增加 [打印本页]

作者: 老子降临    时间: 2021-1-10 19:49
标题: 【求助】va变量b如何随变量a增加
本帖最后由 老子降临 于 2021-1-13 20:50 编辑

注意是rpgmaker va 我以为发这个区就没人会搞错。

1询问一个变量相关的内容。
比如我让a变量的数据=战斗次数
想设计a变量每加1,
则变量b加1.
请问有人知道这个事件如何写么??

虽然看了这个:
https://rpg.blue/thread-406656-1-1.html

但这里没写战斗数据如何清零
不过我也不想清零战斗数据。

不是很懂脚本,请教大家了。

2还有就是变量之间如何相加之后将结果增加到第三个变量上?

有截图,或者能说清楚也行。目前看到的都没能有什么帮助

作者: 灯笼菜刀王    时间: 2021-1-10 21:04
c = a
a = 当前战斗次数
b += a - c
作者: 灯笼菜刀王    时间: 2021-1-10 21:05
c = a
a = 当前战斗次数
b += a - c
作者: 老子降临    时间: 2021-1-10 21:10
灯笼菜刀王 发表于 2021-1-10 21:05
c = a
a = 当前战斗次数
b += a - c

你这个最后一部游戏里怎么写啊。
作者: PLeaseS    时间: 2021-1-11 12:02
事件啊
a+的同时+b
作者: 老子降临    时间: 2021-1-11 17:20
PLeaseS 发表于 2021-1-11 12:02
事件啊
a+的同时+b

就是不知怎么弄这个才问的啊。
作者: 老子降临    时间: 2021-1-13 00:27
灯笼菜刀王 发表于 2021-1-10 21:05
c = a
a = 当前战斗次数
b += a - c

仔细看了霞
你这个
a=c
a-c
这不是零么?也没做到
a+1 时b+1啊
作者: alexncf125    时间: 2021-1-13 01:10
本帖最后由 alexncf125 于 2021-1-13 01:56 编辑

问一下...能用脚本回答么...
能用的话...我三分钟给你写出来...

RUBY 代码复制
  1. module ABS
  2.   A = 1     #a变量
  3.   B = 2     #变量b
  4.   #S = 3#开关
  5. end
  6.  
  7. class Game_Variables
  8.   alias :variable_id_value :[]=
  9.   def []=(variable_id, value)
  10.     @data[ABS::A] = 0 unless @data[ABS::A]
  11.     @data[ABS::B] = 0 unless @data[ABS::B]
  12.     last_value = @data[variable_id]
  13.     variable_id_value(variable_id, value)
  14.     if last_value != @data[variable_id] && variable_id == ABS::A# && !$game_switches[ABS::S]#开关
  15.       @data[ABS::B] = @data[ABS::B] + @data[ABS::A] - last_value
  16.     end
  17.   end
  18. end



作者: 涅炎    时间: 2021-1-13 01:16
本帖最后由 涅炎 于 2021-1-13 01:44 编辑

如果我没理解错误题主意思的话。

第一个问题:(感谢楼下坛友 alexncf125 的指正)


第二个问题:

红圈里的数字代表变量编号。
【使用代码】
$game_variables[2] + $game_variables[3]
作者: alexncf125    时间: 2021-1-13 01:26
本帖最后由 alexncf125 于 2021-1-13 01:44 编辑
涅炎 发表于 2021-1-13 01:16
如果我没理解错误题主意思的话。

第一个问题:



1号变量(0) = 战斗次数(0)
经过第一场战斗
1号变量(0) -= 战斗次数(1)     #0-1 = -1
13号变量(0) += 1号变量(-1)     #0+(-1) = -1
1号变量(-1) = 战斗次数(1)

经过第一场战斗后,变量的值:
1号变量是 1
13号变量是 -1

1号变量(1) = 战斗次数(1)
经过第二场战斗
1号变量(1) -= 战斗次数(2)     #1-2 = -1
13号变量(-1) += 1号变量(-1)     #-1+(-1) = -2
1号变量(-1) = 战斗次数(2)

经过第二场战斗后,变量的值:
1号变量是 2
13号变量是 -2

总结...你这图有点问题...
第三个变量操作应该是 -= 而不是 +=

负负才得正嘛...


作者: 老子降临    时间: 2021-1-13 10:52
alexncf125 发表于 2021-1-13 01:10
问一下...能用脚本回答么...
能用的话...我三分钟给你写出来...

谢谢前辈了。
1.于这个代码 #S = 3#开关 是这里开关定义为3号开关,还是没开开关呢?
如果要由开关决定这一关联的启动和结束,要怎么改呢???
(就是当开关开启时,这个a+1 b才+1?)
2.这个代码实现的是保证让当a+1时,b就+1么???
不包括a取值为战斗次数??
3。如果要实现a+1时b+2要怎么改呢?(这个只是好奇,不回答也行)
作者: alexncf125    时间: 2021-1-13 11:11
本帖最后由 alexncf125 于 2021-1-13 15:34 编辑
老子降临 发表于 2021-1-13 10:52
谢谢前辈了。
1.于这个代码 #S = 3#开关 是这里开关定义为3号开关,还是没开开关呢?
如果要由开关决定这 ...


把「#S = 3#开关」和「# && !$game_switches[ABS::S]#开关」中, 红色的两个#删掉, 就会有开关功能了
3号开关关闭时,a+1 b会+1
3号开关开启时,a+1 b不会+1

这个代码实现的是保证当a有变动时,b 增加 (a的新值 減 a的旧值)
包括a取值为战斗次数

第15行改成
@data[ABS::B] = @data[ABS::B] + 2 * (@data[ABS::A] - last_value)
作者: 老子降临    时间: 2021-1-13 20:49
alexncf125 发表于 2021-1-13 11:11
把「#S = 3#开关」和「# && !$game_switches[ABS::S]#开关」中, 红色的两个#删掉, 就会有开关功能了
3号 ...

十分感谢,我接下来就去实际测试一下。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1