Project1

标题: 1:自定义变量只能活在内存里? [打印本页]

作者: 心中有爱    时间: 2011-11-29 12:38
标题: 1:自定义变量只能活在内存里?
本帖最后由 心中有爱 于 2011-11-29 12:46 编辑

在脚本编辑器里 我定义了一个全局的开关数组 $alibaba = [false,false,false,false]

可以在事件中使用和修改

可一旦关闭游戏 全部数组元素又都变成false


求 高手指点


存档  - 》 退出游戏  -》读取进度  然后已经为true的值又会变成false dsu_plus_rewardpost_czw
作者: 凌童鞋    时间: 2011-11-29 12:47
本帖最后由 凌童鞋 于 2011-11-29 12:51 编辑

全局变量一般是不参与存档的,除了游戏的变量和开关…
你如果想存住就要修改存档那部分把你的变量也存进去…
作者: 月夜神音    时间: 2011-11-29 13:24
其实可以这样的做法
$game_variables[1] = [false,false,false,false]
$alibaba = $game_variables[1]
读取的时候调用一下就可以不必保存其他全局变量了
作者: DeathKing    时间: 2011-11-29 13:27
参考Scene_File中write_save_data和read_save_data。

你需要的,是在推出游戏时,把他们写入一个转储(Dump)文件(也就是所谓存档文件),下次启动时读取他们。也可以参考RGSS内建函数load_data和save_data的用法,Marshal模块提供了简易而快速的操作途径(能够转储大多数的数据)。
作者: 心中有爱    时间: 2011-11-29 18:06
月夜神音 发表于 2011-11-29 13:24
其实可以这样的做法
$game_variables[1] = [false,false,false,false]
$alibaba = $game_variables[1]

你这个方法对新人最实用了 不过我还是喜欢研究深入一点 所以认可你楼下同志的回答了 你别见怪

其实我选择的时候也蛮犹豫那   


心中有爱于2011-11-29 20:28补充以下内容:
哈哈 大成功  经过努力研究 我成功定义了一个哈希表类  这还是受到独立开关那个系统类的启发

if $udata["alibaba"] == nil
  $udata["alibaba"] = [false,false,false,false]
end


作者: DeathKing    时间: 2011-11-29 23:12
心中有爱 发表于 2011-11-29 18:06
你这个方法对新人最实用了 不过我还是喜欢研究深入一点 所以认可你楼下同志的回答了 你别见怪

其实我 ...

以前是可以认可多人的,现在有了自动认可,就没有了这个功能。其实也不必太过于在意,大家都是讨论嘛。

我要指出的是,你的这种做法可是和你的最初意图不一样哦。


作者: 心中有爱    时间: 2011-11-30 00:28
DeathKing 发表于 2011-11-29 23:12
以前是可以认可多人的,现在有了自动认可,就没有了这个功能。其实也不必太过于在意,大家都是讨论嘛。

...

系统自带的那些数组  用来rpg剧情需要 一个一个的拿来按顺序使用的  都是单线剧情发展的逻辑

而整体的数据规划方面 就用udata 用起来方便 写代码也省事




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