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

Project1

 找回密码
 注册会员
搜索

求一个能把使用了的RTP素材自动找出来复制到工程里的脚本

查看数: 2499 | 评论数: 7 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-12-31 23:24

正文摘要:

求一个能把使用了的RTP素材自动找出来复制到工程里的脚本 原先我找到一个脚本,链接:http://himeworks.com/2013/05/resource-checker/ 可是怎么用都有问题,不知道怎么回事,如果能把那个弄好也可以,问题链接:h ...

回复

寒冷的企鹅 发表于 2018-1-1 13:56:14
SixRC 发表于 2017-12-31 23:24
# 复制游戏所需RTP资源的脚本 请插到最前面
#   请自行修改下面第 9 行RTP目录
#     以及第 18 行非RTP素 ...

抱歉,是我弄错了

点评

嗯,谢谢了,加个好友吧,QQ:2995680634(嘿嘿,有点小私心,以后有什么不懂问你啦(*^▽^*))  发表于 2018-1-1 14:00
嗯 ok啦  发表于 2018-1-1 13:57
寒冷的企鹅 发表于 2018-1-1 13:09:30
SixRC 发表于 2018-1-1 12:24
# 复制游戏所需RTP资源的脚本 请插到最前面
#   请自行修改下面第 8 行RTP目录
# 原理是用到的时候检查文件 ...

嗯,感谢回答,脚本可用
gforce 发表于 2018-1-1 11:21:49


你找到的腳本的確有這個功能,作者寫在使用方法(usage),而不是簡介(Description)上面,我一開始也沒注意到。

路徑使用了我的電腦上面的,跟你的可能不一樣。

啟用按鍵改為Enter, 因為我沒找到input module

復原了一句被作者本人注釋的代碼,第556行
RUBY 代码复制
  1. return name + ".#{ext}"
,應該為閱讀文件格式之用,被注釋原因不明。

不支援額外腳本中引用的RTP文件

無法觸發你在另一個帖碰上的BUG,也就無法除錯,不過在我的電腦上是運行成功。
可能還有其他BUG,而我其實並不熟悉這種特殊科技,星屑你先留著。

点评

嗯,我的就是不能复制,而且出来的两个文本文档,一个是已使用的文件,没有一个。。。 另一个是使用的,全部都有,这不可能,估计我用不了  发表于 2018-1-1 13:40
寒冷的企鹅 发表于 2017-12-31 23:28:43
抱歉,上面的那个脚本好像并不能复制

点评

但是网站上说的好像可以  发表于 2017-12-31 23:30
SixRC 发表于 2017-12-31 23:24:12
本帖最后由 SixRC 于 2018-1-1 13:49 编辑

RUBY 代码复制
  1. # 复制游戏所需RTP资源的脚本 请插到最前面
  2. #   请自行修改下面第 9 行RTP目录
  3. #     以及第 18 行非RTP素材的后缀名
  4. # 原理是用到的时候检查文件是否存在 不存在则拷贝
  5. #   所以不能一次性拷贝 需要过一遍游戏才行
  6. # 假如错过一些细节就喜剧了
  7. #   游戏正式发布的时候删掉这个脚本就好
  8. # 复制文件方法
  9. RGSS_RTP = "E:/RPGVXAce/"
  10. class File
  11.   def self.copy(dest, source)
  12.     open(source, "rb") do |file|
  13.       open(dest, "wb") do |f|
  14.         f.syswrite(file.sysread(size(source)))
  15.       end
  16.     end
  17.   end
  18.   CRTP_Suffix = [".png", ".jpg", ".bmp", ".ogg", ".wav", ".mp3"]
  19.   def self.CRTP_exist?(filename)
  20.     for i in CRTP_Suffix
  21.       return true if File.exist?(filename + i)
  22.     end
  23.     false
  24.   end
  25. end
  26. # 实例化位图时检查文件是否存在在游戏目录 不存在则从RTP拷贝
  27. #   File类的文件查找并不会找RTP目录 so
  28. class Bitmap
  29.   alias CRTP_initialize initialize
  30.   def initialize(x, y = nil)
  31.     if x.class == String
  32.       File.copy(x + ".png", RGSS_RTP + x + ".png") unless File.CRTP_exist?(x)
  33.       CRTP_initialize(x)
  34.     else
  35.       CRTP_initialize(x, y)
  36.     end
  37.   end
  38. end
  39. # 检查音频文件 有 bgm bgs se me
  40. class << Audio
  41.   # bgm
  42.   alias CRTP_bgm_play bgm_play
  43.   def bgm_play(*args)
  44.     File.copy(args[0] + ".ogg", RGSS_RTP + args[0] + ".ogg") unless File.CRTP_exist?(args[0])
  45.     CRTP_bgm_play(*args)
  46.   end
  47.   # bgs
  48.   alias CRTP_bgs_play bgs_play
  49.   def bgs_play(*args)
  50.     File.copy(args[0] + ".ogg", RGSS_RTP + args[0] + ".ogg") unless File.CRTP_exist?(args[0])
  51.     CRTP_bgs_play(*args)
  52.   end
  53.   # me
  54.   alias CRTP_me_play me_play
  55.   def me_play(*args)
  56.     File.copy(args[0] + ".ogg", RGSS_RTP + args[0] + ".ogg") unless File.CRTP_exist?(args[0])
  57.     CRTP_me_play(*args)
  58.   end
  59.   # se
  60.   alias CRTP_se_play se_play
  61.   def se_play(*args)
  62.     File.copy(args[0] + ".ogg", RGSS_RTP + args[0] + ".ogg") unless File.CRTP_exist?(args[0])
  63.     CRTP_se_play(*args)
  64.   end
  65. end

介绍及使用在脚本里面了
插入就好
你测试游戏的时候会自动把需要的资源拷贝过去
但是你必须玩到一次用到资源的地方 不然无法触发拷贝机制
外挂脚本用到的RTP资源也可以拷贝的
有问题请提
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2025-7-17 16:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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