Project1
标题:
Khas的「灯光」兼容Vlue的「简单自动保存」
[打印本页]
作者:
alexncf125
时间:
2020-8-10 22:51
标题:
Khas的「灯光」兼容Vlue的「简单自动保存」
本帖最后由 alexncf125 于 2024-1-25 01:48 编辑
明明是兩个看似完全不会扯上关系的脚本
到底是什么原因使自动存档失效呢??
[ACE][EN] Awesome Light Effects 1.0.rar
(1.45 MB, 下载次数: 76)
2020-8-10 22:49 上传
点击文件名下载附件
#简单自动保存 v1.1
#----------#
#功能: 每当场所移动时,自动保存到第一个存档.简单的不能再简单了!
# 可以修改第一个存档的名称.
#
#使用方法: 即插即用.
#
#----------#
#-- Script by: V.M of D.T
#
#- Questions or comments can be:
# posted on the thread for the script
# given by email:
[email protected]
# provided on facebook: http://www.facebook.com/DaimoniousTailsGames
# All my other scripts and projects can be found here: http://daimonioustails.weebly.com/
#
#- Free to use in any project with credit given, donations always welcome!
#是否修改第一个存档的名称
NAME_AUTOSAVE_FILE = true
#第一个存档的名称
AUTOSAVE_FILE_NAME = "Autosave"
#是否在场所移动时自动保存
AUTOSAVE_ON_MAP = true
#是否在战斗后自动保存
AUTOSAVE_AFTER_BATTLE = false
$auto_save = true
class Scene_Map
alias auto_post_transfer post_transfer
def post_transfer
auto_post_transfer
return unless AUTOSAVE_ON_MAP
if Module.const_defined?(:Game_Options)
DataManager.save_game(0) if $game_options.auto_save
else
DataManager.save_game(0) if $auto_save
end
end
end
module BattleManager
def self.battle_end(result)
@phase = nil
@event_proc.call(result) if @event_proc
$game_party.on_battle_end
$game_troop.on_battle_end
SceneManager.exit if $BTEST
return unless AUTOSAVE_AFTER_BATTLE
if Module.const_defined?(:Game_Options)
DataManager.save_game(0) if $game_options.auto_save
else
DataManager.save_game(0) if $auto_save
end
end
end
class Window_SaveFile
alias auto_refresh refresh
def refresh
if NAME_AUTOSAVE_FILE
contents.clear
change_color(normal_color)
if @file_index == 0
name = AUTOSAVE_FILE_NAME
else
name = Vocab::File + " #{@file_index}"
end
draw_text(4, 0, 200, line_height, name)
@name_width = text_size(name).width
draw_party_characters(152, 58)
draw_playtime(0, contents.height - line_height, contents.width - 4, 2)
else
auto_refresh
end
end
end
复制代码
作者:
alexncf125
时间:
2020-8-11 12:33
本帖最后由 alexncf125 于 2020-8-12 23:14 编辑
顶一下顶一下顶一下
作者:
cinderelmini
时间:
2020-8-14 15:29
本帖最后由 cinderelmini 于 2020-8-14 15:36 编辑
我记得这个灯光脚本在地图上直接执行代码存档就会出问题来着。
顺便附上以前的处理办法,尝试在main前加入看看,但不一定能解决问题。
khas灯光和事件存档
def 执行存档 这个方法仅供参考,解决思路是在执行存档的 DataManager.save_game(index) 之前调用 Spriteset_Map.dispose_lights 释放掉灯光相关的内容,存档之后再调用 Spriteset_Map.setup_lights 把它们再弄回来。
直接插入脚本不能解决问题,你需要在自动存档脚本里找到两处 DataManager.save_game(0) if $game_options.auto_save 和 DataManager.save_game(0) if $auto_save 再像这样修改一下
if $game_options.auto_save
Spriteset_Map.dispose_lights
DataManager.save_game(0)
Spriteset_Map.setup_lights
end
复制代码
(if $auto_save那个同理)
作者:
alexncf125
时间:
2020-8-14 17:43
本帖最后由 alexncf125 于 2020-8-14 20:40 编辑
cinderelmini 发表于 2020-8-14 15:29
我记得这个灯光脚本在地图上直接执行代码存档就会出问题来着。
顺便附上以前的处理办法,尝试在main前加入 ...
成功解决问题了ヽ(●´∀`●)ノ
O(∩_∩)O谢谢大大帮忙
报告一下,如果未来有人浏覧到这帖,也想用Khas灯光+自动存档时
如果已经在用影月千秋 - 保存地图状态脚本的话,是会报错disposed bitmap的说
对于以上问题,建议转用TheoAllen - 记忆事件位置,也不失是一个挺好的替代方法
然而我也不知道"保存地图状态"与"记忆事件位置"是有什么差別
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1