Project1

标题: RGSS3脚本问题——RGSS3代码如何获取RMVA游戏变量 [打印本页]

作者: BLUEONE    时间: 2021-8-15 09:51
标题: RGSS3脚本问题——RGSS3代码如何获取RMVA游戏变量
本帖最后由 BLUEONE 于 2021-8-16 10:54 编辑

RMVA游戏变量指的是事件所使用的变量
作者: alexncf125    时间: 2021-8-15 09:57
本帖最后由 alexncf125 于 2021-8-15 10:16 编辑

$game_variables[x]
x指变量的ID(不含开头的0, 即比如0046时, x取46)
作者: BLUEONE    时间: 2021-8-15 10:02
alexncf125 发表于 2021-8-15 09:57
$game_variables[x]
x指变量的ID

谢谢大佬
作者: BLUEONE    时间: 2021-8-15 11:17
alexncf125 发表于 2021-8-15 09:57
$game_variables[x]
x指变量的ID(不含开头的0, 即比如0046时, x取46)

呃。。。又打扰了。
如何让在事件里使用脚本读取该事件的X,Y呢?
作者: KB.Driver    时间: 2021-8-15 12:08
本帖最后由 KB.Driver 于 2021-8-15 12:12 编辑
BLUEONE 发表于 2021-8-15 11:17
呃。。。又打扰了。
如何让在事件里使用脚本读取该事件的X,Y呢?


事件内部的脚本可以这样:
e = get_character(0)
e.x
e.y

需要一行以内也可以直接
get_character(0).x



通用的情况下,可以这样:
e = $game_map.events[n] # n是地图事件的编号
e.x
e.y

需要一行以内也可以直接
$game_map.events[n].x # n是地图事件的编号
作者: alexncf125    时间: 2021-8-15 12:11
BLUEONE 发表于 2021-8-15 11:17
呃。。。又打扰了。
如何让在事件里使用脚本读取该事件的X,Y呢?

事件里使用脚本读取该事件的X
$game_map.events[@event_id].x

事件里使用脚本读取该事件的Y
$game_map.events[@event_id].y
作者: BLUEONE    时间: 2021-8-16 06:58
新问题:
如何让变量代替数字序号读取数组内容?
作者: alexncf125    时间: 2021-8-16 08:02
数组 = ["a", "b", "c"]
$game_variables[1] = 2
内容 = 数组[$game_variables[1]]
p 内容 # => "c"
作者: BLUEONE    时间: 2021-8-16 08:34
本帖最后由 BLUEONE 于 2021-8-16 08:43 编辑
alexncf125 发表于 2021-8-16 08:02
数组 = ["a", "b", "c"]
$game_variables[1] = 2
内容 = 数组[$game_variables[1]]


但为什么 $switch[get_character(0).id -=66] = 0 会报错呢?是不是因为数组【】里的内容不能是变量?
(所有问题都是你答真不好意思)

捕获.PNG (4.24 KB, 下载次数: 39)

调试结果:nill

调试结果:nill

作者: alexncf125    时间: 2021-8-16 08:44
BLUEONE 发表于 2021-8-16 08:34
但为什么 $switch[get_character(0).id -=66] = 0 会报错呢?是不是因为数组【】里的内容不能是变量?
( ...

$switch = Array.new(100)
$switch[get_character(0).id - 66] = 0
p $switch
作者: BLUEONE    时间: 2021-8-16 10:05
本帖最后由 BLUEONE 于 2021-8-16 10:23 编辑
alexncf125 发表于 2021-8-16 08:44
$switch = Array.new(100)
$switch[get_character(0).id - 66] = 0
p $switch


得出结论 参数的自运算不能加 =
but!它又双叒叕不行了!
if $switch[0]==1 会报错!

作者: BLUEONE    时间: 2021-8-16 10:25
本帖最后由 BLUEONE 于 2021-8-16 10:52 编辑
alexncf125 发表于 2021-8-16 08:44
$switch = Array.new(100)
$switch[get_character(0).id - 66] = 0
p $switch


print $switch 不会报错,但就是$switch在if 语句会报错

赋值到另一个临时变量上报的错一摸一样


得出结论 事件里的条件分歧的脚本行不能输入 if

我想我在脚本方面毛事没有了

谢谢各位

捕获.PNG (6.96 KB, 下载次数: 41)

捕获.PNG

作者: BLUEONE    时间: 2021-8-16 11:08
本帖最后由 BLUEONE 于 2021-8-16 11:33 编辑

提问结束。




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