设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2008|回复: 1
打印 上一主题 下一主题

[讨论] 新出炉一个用来插补丁脚本的脚本

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1939
在线时间
403 小时
注册时间
2015-8-30
帖子
395
跳转到指定楼层
1
发表于 2017-8-19 19:45:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 有丘直方 于 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好的就是这样

测试的时候居然报错了……错误信息是
发生Encoding::InvalidByteSequenceError
"\x9C" on UTF-8
小仙女一枚~

Lv3.寻梦者

伴侣:北岛谜烟

梦石
0
星屑
3002
在线时间
3547 小时
注册时间
2012-8-7
帖子
12181

贵宾

2
发表于 2017-8-19 20:04:22 | 只看该作者
(看不懂(太长不看x,怎么感觉发错区

本人收不到提醒(点评|回复|@人),总之有事情到空间留言一起普通普通
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-13 01:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表