查看: 3660|回复: 4

[已经解决] 关于自动存档脚本的问题

[复制链接]
梦石
0
星屑
663
在线时间
750 小时
注册时间
2012-11-10
回帖
903
发表于 2013-2-24 16:16:38 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 结城照美 于 2013-3-2 23:37 编辑

关于这个脚本:
101行以后的“#——当BOSS战之前打开一下定义的开关,即可自动存档”
用法看不太懂,意思是“想自动存档的话,先把某个开关开了,这样就会自动存档,之后请关闭这个开关,等下一次要自动存档的时候,再开一次这个开关”吗?
如果我只想要自动存档的功能,不想要按键存档的功能该怎么设置呢?


THX

[pre lang="ruby" line="1"]#==============================================================================

# 本脚本来自www.66RPG.com,使用和转载请保留此信息

#==============================================================================



# ————————————————————————————————————



#———版权:carol3————



#———使用方法与效果————

#——默认状态下,将本脚本插入到main之前,在游戏进行中普通地图界面:

#——按下F5将自动存档到4号进度,打开开关1号将存档到4号进度

#——可修改内容:存档编号,开关编号,声效,以及可以自动存档的时候调用公共事件

#———自定义内容

#———1、你希望使用的自动存档开关编号,填写在下面,否则使用1号开关。

#———2、你希望的自动存档编号,填写在下面,否则使用F5存档在4号

#———3、按下F5后的音效,这个音效一定要存在,否则必然出错

#———4、公共事件(可以没有)

#—— 包括:打开开关的时候调用的公共事件,按下F5之后可以存档与禁止存档的公共事件

#——(你可以在公共事件弹出一个对话框提示你已经自动存档了,播放一段音乐音效,补血或者什么别的),默认=0是不调用任何公共事件

#——(注意这个编号如果不正确(比如该编号没有设置内容),程序将自动忽略这项功能)

#########################################################################

$carol3_打开自动存档用的开关编号 = 3

$carol3_自动存档位置 = 4

$carol3_按下F5之后的自动存档的音效 = "Audio/SE/Decision1"

$carol3_按下F5之后禁止存档时候的音效 = "Audio/Se/Buzzer1"



$carol3_打开自动存档开关之后调用的公共事件 = 0 #——默认未定义

$carol3_按下F5之后可以存档调用的公共事件 = 0 #——默认未定义

$carol3_按下F5之后禁止存档调用的公共事件 = 0 #——默认未定义

#########################################################################

#从此处往下的部分如果进行了修改出现问题后果自负。

#########################################################################

class Scene_Map

  alias carol3_update update

  def update

    carol3_update

    #——按下F5的时候自动存档,可以修改为F5,F6,F7,F8,也可以修改成默认按键但是不推荐。

    #——注意在不可存档的时候是无效的

    if Input.trigger?(Input::F5)

      unless $game_map.interpreter.running?

        if $game_system.save_disabled

          Audio.se_play($carol3_按下F5之后禁止存档时候的音效)

          $game_temp.common_event_id = $carol3_按下F5之后禁止存档调用的公共事件

        else

          Audio.se_play($carol3_按下F5之后的自动存档的音效)

          $game_temp.common_event_id = $carol3_按下F5之后可以存档调用的公共事件

          carol3_save

        end

      end

    end

    #——当BOSS战之前打开一下定义的开关,即可自动存档

    if $game_switches[$carol3_打开自动存档用的开关编号] == true

      $game_switches[$carol3_打开自动存档用的开关编号] = false

      $game_temp.common_event_id = $carol3_打开自动存档开关之后调用的公共事件

      carol3_save

    end

  end

  def carol3_save

    #——这里定义了储存的文件,如果不希望用Save4可以自己修改编号

    #——默认情况可以修改为Save1到Save4,如果你增添了存档编号也可以自定义

    carol3_file = File.open("Save#{$carol3_自动存档位置}.rvdata", "wb")

    carol3_save_data(carol3_file)

    carol3_file.close

  end

  def carol3_save_data(file)

    #——以下定义内容和Scene_Save的write_save_data(file)完全一样

    #——如果你修改过该存档方法,不要忘记用你修改的覆盖这部分内容。

    characters = []

    for actor in $game_party.members

      characters.push([actor.character_name, actor.character_index])

    end

    $game_system.save_count += 1

    $game_system.version_id = $data_system.version_id

    @last_bgm = RPG::BGM::last

    @last_bgs = RPG::BGS::last

    Marshal.dump(characters,           file)

    Marshal.dump(Graphics.frame_count, file)

    Marshal.dump(@last_bgm,            file)

    Marshal.dump(@last_bgs,            file)

    Marshal.dump($game_system,         file)

    Marshal.dump($game_message,        file)

    Marshal.dump($game_switches,       file)

    Marshal.dump($game_variables,      file)

    Marshal.dump($game_self_switches,  file)

    Marshal.dump($game_actors,         file)

    Marshal.dump($game_party,          file)

    Marshal.dump($game_troop,          file)

    Marshal.dump($game_map,            file)

    Marshal.dump($game_player,         file)

  end

end



#==============================================================================

# 本脚本来自www.66RPG.com,使用和转载请保留此信息

#==============================================================================
[/pre]
有本事就来阻止我啊,主体单元『天照』!

匿·蹤

梦石
0
星屑
65
在线时间
99 小时
注册时间
2006-3-19
回帖
404
发表于 2013-3-2 23:32:52 | 显示全部楼层
本帖最后由 OCTSJimmy 于 2013-3-2 23:34 编辑
结城照美 发表于 2013-3-2 23:30
THX 终于有人回答我了
我知道效果是按下F5、开启某个开关能自动存档,我对那个“开关存档”的方 ...


其实并不会发生你说的BUG,因为在脚本中已经处理过开关的问题了,自动存档结束后,开关自动关闭。
而且其实这是一篇非常好的范例脚本,注释非常详细全面,假如想学习脚本的,其实可以对着注释与F1看,应该会学到非常多的东西。

评分

参与人数 1星屑 +7 收起 理由
结城照美 + 7

查看全部评分

卐忍 → 解忍 → 元忍 → 隐忍 → 卍忍 → 匿踪(最终)
完全退步到了卐忍阶段
回复

使用道具 举报

匿·蹤

梦石
0
星屑
65
在线时间
99 小时
注册时间
2006-3-19
回帖
404
发表于 2013-3-2 23:26:39 | 显示全部楼层
Orz 请看注释,注释中说的是,按下设定的按键,比如F5,即可自动存档到存档4。
假如使用事件,将一号开关打开,同样也可以自动存档到存档4。

这些东西在常量设置中均可自由配置,常量的含义及值请参阅注释。

评分

参与人数 1星屑 +100 收起 理由
Luciffer + 100 认可答案

查看全部评分

卐忍 → 解忍 → 元忍 → 隐忍 → 卍忍 → 匿踪(最终)
完全退步到了卐忍阶段
回复

使用道具 举报

梦石
0
星屑
663
在线时间
750 小时
注册时间
2012-11-10
回帖
903
 楼主| 发表于 2013-3-2 23:30:18 | 显示全部楼层
OCTSJimmy 发表于 2013-3-2 23:26
Orz 请看注释,注释中说的是,按下设定的按键,比如F5,即可自动存档到存档4。
假如使用事件,将一号开关打 ...

THX 终于有人回答我了
我知道效果是按下F5、开启某个开关能自动存档,我对那个“开关存档”的方式有疑问...我将某个开关开启之后,自动存档了,可是这样那个开关不是处于一直开启的状态吗?那么我想要重复使用自动存档功能的时候怎么办?
有本事就来阻止我啊,主体单元『天照』!
回复

使用道具 举报

梦石
0
星屑
663
在线时间
750 小时
注册时间
2012-11-10
回帖
903
 楼主| 发表于 2013-3-2 23:35:51 | 显示全部楼层
本帖最后由 结城照美 于 2013-3-3 00:23 编辑
OCTSJimmy 发表于 2013-3-2 23:32
其实并不会发生你说的BUG,因为在脚本中已经处理过开关的问题了,自动存档结束后,开关自动关闭。
而且其 ...


原来是这样啊..也就是说在事件里开启某个开关就会启动这个功能,而不用特别地去关掉开关了?
非常感谢解答

@Luciffer 貌似以前是用这个功能认可的 不好意思了

点评

用@别用举报成不,举报快速处理的话会删帖啊喂  发表于 2013-3-3 00:05
要记得结贴哦,O(∩_∩)O~  发表于 2013-3-2 23:36
有本事就来阻止我啊,主体单元『天照』!
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部