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

Project1

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

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

[复制链接]

Lv2.观梦者

梦石
0
星屑
544
在线时间
59 小时
注册时间
2017-11-19
帖子
71
跳转到指定楼层
1
发表于 2017-12-31 23:24:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
10星屑
求一个能把使用了的RTP素材自动找出来复制到工程里的脚本
原先我找到一个脚本,链接:http://himeworks.com/2013/05/resource-checker/
可是怎么用都有问题,不知道怎么回事,如果能把那个弄好也可以,问题链接:https://rpg.blue/thread-404840-1-1.html

最佳答案

查看完整内容

# 复制游戏所需RTP资源的脚本 请插到最前面 # 请自行修改下面第 9 行RTP目录 # 以及第 18 行非RTP素材的后缀名 # 原理是用到的时候检查文件是否存在 不存在则拷贝 # 所以不能一次性拷贝 需要过一遍游戏才行 # 假如错过一些细节就喜剧了 # 游戏正式发布的时候删掉这个脚本就好 # 复制文件方法 RGSS_RTP = "E:/RPGVXAce/" class File def self.copy(dest, source) open(source, "rb") do |file| open(dest, "w ...

Lv4.逐梦者

梦石
0
星屑
13559
在线时间
2753 小时
注册时间
2014-10-4
帖子
756

R考场第七期纪念奖

2
发表于 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资源也可以拷贝的
有问题请提
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
544
在线时间
59 小时
注册时间
2017-11-19
帖子
71
3
 楼主| 发表于 2017-12-31 23:28:43 | 只看该作者
抱歉,上面的那个脚本好像并不能复制

点评

但是网站上说的好像可以  发表于 2017-12-31 23:30
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7195
在线时间
1680 小时
注册时间
2017-4-28
帖子
85

开拓者

4
发表于 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
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
544
在线时间
59 小时
注册时间
2017-11-19
帖子
71
5
 楼主| 发表于 2018-1-1 13:09:30 | 只看该作者
SixRC 发表于 2018-1-1 12:24
# 复制游戏所需RTP资源的脚本 请插到最前面
#   请自行修改下面第 8 行RTP目录
# 原理是用到的时候检查文件 ...

嗯,感谢回答,脚本可用
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
544
在线时间
59 小时
注册时间
2017-11-19
帖子
71
6
 楼主| 发表于 2018-1-1 13:36:24 | 只看该作者
SixRC 发表于 2017-12-31 23:24
# 复制游戏所需RTP资源的脚本 请插到最前面
#   请自行修改下面第 8 行RTP目录
# 原理是用到的时候检查文件 ...

一个问题:我导入一个WAV格式的音频文件,然后出现以下提示,需要变成OGG的,而且导入的文件都需要在导入到RTP目录里,而且工程文件里面已经有啦,不需要了,这个怎么破。如图

点评

好了 假如有新的后缀请自己在18行添加一下  发表于 2018-1-1 13:50
修正中  发表于 2018-1-1 13:40
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
544
在线时间
59 小时
注册时间
2017-11-19
帖子
71
7
 楼主| 发表于 2018-1-1 13:53:48 | 只看该作者
SixRC 发表于 2017-12-31 23:24
# 复制游戏所需RTP资源的脚本 请插到最前面
#   请自行修改下面第 9 行RTP目录
#     以及第 18 行非RTP素 ...

18行?
不是,可不可以自己跳过导入的,因为工程文件已经有了
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
544
在线时间
59 小时
注册时间
2017-11-19
帖子
71
8
 楼主| 发表于 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
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-12 21:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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