Project1

标题: 如何让这个脚本在D盘创建一个外部文件? [打印本页]

作者: 兔毛鹿    时间: 2015-10-14 13:09
标题: 如何让这个脚本在D盘创建一个外部文件?
用以下脚本,希望在 D:\ 创建一个TempVariables.rxdata的外部文件用来记录公用变量
进入游戏,给变量7 赋值的时候出错退出,提示:找不到文件 TempVariables.rxdata
  1. $valh = {}
  2. class Game_Variables
  3.   FileVariablesID = [7,8]
  4.   def initialize
  5.     @data = []
  6.   end
  7.   def [](variable_id)
  8.     FileVariablesID.each do |i|
  9.       if variable_id == i
  10.         begin
  11.           valh = load_data("D:/TempVariables.rxdata")
  12.           val = valh[i]
  13.         rescue Errno::ENOENT
  14.           valh={}
  15.           for i in FileVariablesID.each
  16.              valh[i]=0
  17.           end
  18.           save_data(valh, "D:/TempVariables.rxdata")
  19.           retry
  20.         end
  21.         return val
  22.       end
  23.     end
  24.     if variable_id <= 5000 and @data[variable_id] != nil
  25.       return @data[variable_id]
  26.     else
  27.       return 0
  28.     end
  29.   end
  30.   def []=(variable_id, value)
  31.     if variable_id <= 5000
  32.       @data[variable_id] = value
  33.     end
  34.     $valh = load_data("D:/TempVariables.rxdata")
  35.     n = 0
  36.     FileVariablesID.each do |i|
  37.       if variable_id == i
  38.         $valh[i]=@data[variable_id]
  39.         n+=1
  40.       end
  41.     end
  42.     if n > 0
  43.       save_data($valh, "D:/TempVariables.rxdata")
  44.     end
  45.   end
  46. end
复制代码

作者: 喵呜喵5    时间: 2015-10-14 14:33
和问题无关:
我一直觉得这种往自己的安装目录之外生成文件,卸载时还不会将自己生成的文件删除的游戏/软件都是流氓软件
作者: 汪汪    时间: 2015-10-14 16:22
$valh = {} 下面
写一句  save_data($valh, "D:/TempVariables.rxdata")

话说真的有必要这样吗?




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