Project1

标题: 新出炉一个用来插补丁脚本的脚本 [打印本页]

作者: 有丘直方    时间: 2017-8-19 19:45
标题: 新出炉一个用来插补丁脚本的脚本
本帖最后由 有丘直方 于 2017-8-19 20:57 编辑

还没测试过嘞,先来水区发一波
  1. # 生成脚本插件
  2. #                               ↓要输出的脚本                                                                                                              ↓文件名
  3. $RGSS_SCRIPTS.select {|content| [].include?(content[1]) }.collect {|content| content[2].force_encoding("utf-8") }.each {|script| File.open(sprintf("Data/NewScript%03d.rvdata2", Dir.glob("Data/NewScript*.rvdata2").size + 1), "wb") {|file| Marshal.dump(script, file) } }
复制代码
  1. # 读取脚本
  2. #          ↓文件名
  3. Dir.glob("Data/NewScript*.rvdata2").each {|filename| File.open(filename, "rb") {|file| eval(Marshal.load(file)) } } rescue nil
复制代码

没错一行脚本那么长确实非常不好……虽然这不是我的编程风格但是因为我觉得由于这些东西可以写在一行没有分号的代码里非常好玩所以就这样写了wwww反正是水区随便了hhh
用法就是,,把第二段脚本放进你要发布的游戏的Main前面(最好紧接在Main前面),把第一段脚本放进你的工程的Main前面。把“要输出的脚本”设为由补丁脚本的名字(就是编辑器内脚本列表显示的名字)组成的数组,把文件名设为你想要把脚本保存的文件的名字,注意这两段脚本的文件名必须一致,其中第一段脚本中的sprintf格式字符在第二段脚本中用通配符“*”代替。(好像很麻烦的样子)
注意一定要在你确认要发表游戏的时候再将第一段脚本放在工程里!!而且确保上一个版本的游戏一定要包含第二段脚本!不然会失效!
emmm好的就是这样
[line]1[/line]测试的时候居然报错了……错误信息是
发生Encoding::InvalidByteSequenceError
"\x9C" on UTF-8

作者: 咕噜    时间: 2017-8-19 20:04
(看不懂(太长不看x,怎么感觉发错区






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