Project1
标题: 关于 存档 改造的问题 [打印本页]
作者: 白鬼 时间: 2015-11-2 17:31
标题: 关于 存档 改造的问题
本帖最后由 白鬼 于 2015-11-2 17:32 编辑
各路大神请帮下忙
本人想模拟 暗黑破坏神 的存档方式
存档文件名跟游戏角色的名字一样(取名系统,没问题)
然后存档时不进入存档界面,直接保存文件(这个我自己也可以搞定)
读档界面只能在标题画面进入,
当 有存档文件 的时候
显示该存档的一些内容(角色ID,角色行走图,角色名字,角色职业 当前地图 等等信息)
按 左右 来切换另外一个存档(自动循环切换,比如一共3个档案,切到第三个之后,再按→就跳回第一个,反之同理)
没有 存档文件 的时候
显示“没有存档”
分歧结束
上面蓝色字部分,是我自己做不到的。请各路大神有空的多指教,万分感谢!!!
@RyanBern @恐惧剑刃 @芯☆淡茹水 @︶ㄣ牛排ぶ
作者: RyanBern 时间: 2015-11-3 17:07
本帖最后由 RyanBern 于 2015-11-4 15:05 编辑
在这里我假设你的存档是统一管理的,它们都被放在一个文件夹中(例如根目录/Saves)。如果不是这样,请自行修改存档的路径,如果直接将档放在根目录下处理有些麻烦。
然后就是如何读取文件的问题。利用下面的方法可以取出一个文件夹下的所有文件
Dir.foreach("Saves")do |s|
filenames << s if s != "." && s != ".."
end
Dir.foreach("Saves")do |s|
filenames << s if s != "." && s != ".."
end
然后就可以根据存档文件名进行读取了,filenames是一个存档文件名的数组,读取就先open一下,读取信息可以参考Scene_Load里面的方法进行读取。
描绘内容应该不难,如果你能熟练使用各种窗口的话。如果这方面不是很懂,可以熟悉一下窗口绘制。
循环切换你只需要利用filenames数组即可,如果它为空,则就是没有存档,直接显示"无存档"。
刚才看了一下脚本,说说我发现的问题。
1.
filenames = []
Dir.foreach("Saves")do |s|
filenames << s if s != "." && s != ".."
end
filenames = []
Dir.foreach("Saves")do |s|
filenames << s if s != "." && s != ".."
end
上面那句话的作用是把Saves文件夹中所有的文件都取出来,放到一个数组里,这个数组使用之前一定要初始化,即加上filenames = [],否则会发生错误。这段脚本的作用一定要明确。
2. 经过实践表明,如果将存档的文件名改为角色的名称,那么需要对存档数量进行破限,详情请搜索有关脚本,实现比较麻烦。如果只有四个档位,那么有可能会发生读不了某人的存档的情况。当然,如果你在存档的时候限制了存档个数,那么可以不必看前面那一段话。同时,如果角色的名字是中文的,不确保游戏能找到存档文件,所以这也是个比较麻烦的问题。刚才试验了一下确实找不到。
3. 更改make_filename方法的做法是正确的,但是切记这个方法一定要放在Scene_Save下,而不要直接在Scene_File上改,因为在读档的情况下这个规则需要变一下。
class Scene_Load
def make_filename(file_index)
if @filenames == nil
@filenames = []
Dir.foreach("Saves")do |s|
@filenames << s if s != "." && s != ".."
end
end
return @filenames[file_index].nil? ? "" : "Saves/" + @filenames[file_index]
end
end
class Scene_Load
def make_filename(file_index)
if @filenames == nil
@filenames = []
Dir.foreach("Saves")do |s|
@filenames << s if s != "." && s != ".."
end
end
return @filenames[file_index].nil? ? "" : "Saves/" + @filenames[file_index]
end
end
4. 由于你是一键存档,所以可以不必真正进入Scene_Save画面。
一些小错误我已经改过来了。请查看附件。注:当存档文件名含有中文时,该脚本无法正常工作。
Scripts.rxdata
(118.91 KB, 下载次数: 51)
作者: 白鬼 时间: 2015-11-3 22:36
本帖最后由 白鬼 于 2015-11-3 23:00 编辑
RyanBern 发表于 2015-11-3 17:07 
在这里我假设你的存档是统一管理的,它们都被放在一个文件夹中(例如根目录/Saves)。如果不是这样,请自行 ...
照猫画虎试着弄了一下,出现点问题。
刚才的问题自己解决了,但是这个问题我搞不定了,求帮助吧。多谢了。
Scripts.zip
(118.63 KB, 下载次数: 53)
作者: 白鬼 时间: 2015-11-4 22:19
追加一个问题行吗?
怎么去掉开头的 “Saves/” 和后面的 ".rxdata"?

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