赞 | 1 |
VIP | 0 |
好人卡 | 0 |
积分 | 2 |
经验 | 0 |
最后登录 | 2019-5-18 |
在线时间 | 8 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 203
- 在线时间
- 8 小时
- 注册时间
- 2018-4-2
- 帖子
- 21
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 Mirion 于 2018-5-4 13:09 编辑
脚本1- =begin
- ================================================================================
- 全局变量 By 喵呜喵5
- ================================================================================
- 【说明】
- 在事件中使用脚本命令 save_var 可以把设置好的变量单独储存到一个新文件中
- 在事件中使用脚本命令 load_var 可以在其他地方
- (例如其他存档、或者开始新游戏时……)载入保存了的变量的值
- 使用全局变量可以用来制作类似记录通关次数或者进入二周目这样的功能
- =end
- $m5script ||= {};$m5script[:M5GV20140811] = 20151106
- $m5script[:ScriptData] ||= {}
- module M5GV20140811
- #==============================================================================
- # 设定部分
- #==============================================================================
- VAR = [1,3]
- # 在这里设置需要储存的全局变量ID
- FILENAME = "System.rvdata2"
- # 在这里设置储存全局变量的文件名
- AUTO = true
- # 设置为 true 的话,变量的值发生改变时自动保存全局变量
- LOAD = false
- # 设置为 true 的话,开始新游戏或者读取存档时,自动读取保存的全局变量
- #==============================================================================
- # 设定结束
- #==============================================================================
- class << self
- def load
- $m5script[:ScriptData][:M5GV20140811] =
- (load_data(FILENAME) rescue [nil, {}])
- end
- def save; save_data($m5script[:ScriptData][:M5GV20140811], FILENAME); end
- def load_var
- var = $m5script[:ScriptData][:M5GV20140811][0]
- return unless var
- var.each_with_index{|v,i| $game_variables.m5_20140811_set(VAR[i], v)}
- end
- def current_var
- var = []
- VAR.each {|index| var << $game_variables[index] }
- return var
- end
- def save_var
- $m5script[:ScriptData][:M5GV20140811][0] = current_var
- save
- end
- def get_ext; $m5script[:ScriptData][:M5GV20140811][1]; end
- def save_ext; save; end
- def set_ext(key, value)
- get_ext[key] = value
- save
- end
- end # class << self
- end
- class Game_Variables
- alias m5_20140811_set []=
- def []=(variable_id, value)
- m5_20140811_set(variable_id, value)
- return unless M5GV20140811::AUTO
- M5GV20140811.save_var if M5GV20140811::VAR.include?(variable_id)
- end
- end
- class << DataManager
- alias m5_20150320_load_game load_game
- def load_game(index)
- result = m5_20150320_load_game(index)
- return result unless result && M5GV20140811::LOAD
- M5GV20140811.load_var
- result
- end
- alias m5_20150320_create_game_objects create_game_objects
- def create_game_objects
- m5_20150320_create_game_objects
- return unless M5GV20140811::LOAD
- M5GV20140811.load_var
- end
- end
- class Game_Interpreter
- def save_var; M5GV20140811.save_var; end
- def load_var; M5GV20140811.load_var; end
- end
- M5GV20140811.load
复制代码 脚本2
- =begin
- ===============================================================================
- 随游戏进度修改标题画面 By喵呜喵5
- ===============================================================================
- 【说明】
- 随着游戏的进行,实时修改标题画面的音乐、选项框的位置等内容
- 需要搭配我的全局变量脚本共同使用
- 在游戏进行中,在事件指令的脚本里输入
- m5t20150320(某个设置的名称)
- 标题画面的设置便将转变为该名称所对应的设置
- (在脚本中更改某个设置后需要再次执行该指令更改的设置才会生效)
- =end
- $m5script ||= {};$m5script[:M5TC20150320] = 20151106
- raise "需要喵呜喵5全局变量脚本的支持" unless $m5script[:M5GV20140811]
- raise "喵呜喵5全局变量脚本版本过低" unless $m5script[:M5GV20140811] >= 20151106
- module M5TC20150320
- SETTING = {
- #==============================================================================
- # 设定部分
- #==============================================================================
- "DEA" =>
- {
- :x => 0,
- :y => 240,
- :opa => 0,
- :opt_draw_title => false,
- },
- "第一章" =>
- {
- :opa => 255,
- :game_title => "饭粒工程 - 第一章",
- :opt_draw_title => true,
- :title_bgm => 'Theme2',
- :title1_name => '',
- :title2_name => 'Mist',
- :y => 128,
- },
- "第二章" =>
- {
- :game_title => "饭粒工程 - 第二章",
- :opt_draw_title => true,
- :title_bgm => 'Theme3',
- :title_pitch => 120,
- :title1_name => 'Book',
- :title2_name => 'Fire',
- :x => 120,
- },
- # 在这里添加标题画面的设置,设置的格式如下:
- #
- # "该设置的名称" =>
- # {
- # 要设置的属性1 => 设置的内容,
- # 要设置的属性2 => 设置的内容,
- # ...
- # },
- #
- #(不要忘记前后的中括号以及中间和结尾的英文冒号、英文逗号、英文引号)
- #
- # 可以设置的属性如下(未设置的属性将使用默认的内容):
- #
- # :game_title 设置标题画面的游戏标题
- # :opt_draw_title 设置是否要绘制游戏标题,true 为绘制,false 为不绘制
- #
- # :title1_name 设置标题画面背景图片的文件名
- # :title2_name 设置标题画面前景图片的文件名
- #
- # :title_bgm 设置标题画面的音乐
- # :title_volume 设置标题画面音乐的音量
- # :title_pitch 设置标题画面音乐的音量
- #
- # :x 设置标题画面选择窗口的 X 坐标
- # :y 设置标题画面选择窗口的 Y 坐标
- # :opa 设置标题画面选择窗口背景的透明度
- #
- #
- # 例如,在上方增加这样一个设置
- #
- # "miaowm5" =>
- # {
- # :x => 233,
- # }
- #
- # 之后,在游戏的事件指令中执行命令:m5t20150320("miaowm5")
- # 标题画面中选择窗口的 X 坐标便会移动到 233 这个位置
- #
- # 另外,名为 "DEA" 的设置为标题画面的默认设置,
- # 修改 DEA 中的内容可以设置默认情况下标题画面选择框的位置等属性
- # 当某个名称对应的设置不存在时也将优先使用 DEA 中的设置
- #==============================================================================
- # 设定结束
- #==============================================================================
- }
- end
- class Window_TitleCommand
- alias m5_20140118_initialize initialize
- def initialize
- m5_20140118_initialize
- data = M5GV20140811.get_ext[:M5TC20150320]
- self.opacity = data[:opa] if data[:opa]
- self.x = data[:x] if data[:x]
- self.y = data[:y] if data[:y]
- end
- end
- class RPG::System
- m5_20150320_method_name = [
- :game_title, :title1_name, :title2_name, :opt_draw_title,:title_bgm
- ]
- m5_20150320_method_name.each do |name|
- alias_name = "m5_20150320_#{name}"
- alias_method alias_name,name
- define_method name do
- value = M5GV20140811.get_ext[:M5TC20150320][name]
- if name == :title_bgm && value && value.is_a?(String)
- set = M5GV20140811.get_ext[:M5TC20150320]
- return RPG::BGM.new(value, set[:title_volume], set[:title_pitch])
- else
- return value ? value : send(alias_name)
- end
- end
- end
- end
- class Game_Interpreter
- def m5t20150320(name)
- setting = {
- :setting_name => name,
- :game_title => $data_system.m5_20150320_game_title,
- :opt_draw_title => $data_system.m5_20150320_opt_draw_title,
- :title1_name => $data_system.m5_20150320_title1_name,
- :title2_name => $data_system.m5_20150320_title2_name,
- :title_bgm => $data_system.m5_20150320_title_bgm,
- :title_volume => 100,
- :title_pitch => 100,
- :x => nil,
- :y => nil,
- :opa => nil,
- }
- set = M5TC20150320::SETTING["DEA"] || {}
- setting.merge!(set)
- set = M5TC20150320::SETTING[name] || {}
- setting.merge!(set)
- M5GV20140811.set_ext(:M5TC20150320, setting)
- end
- end
- M5GV20140811.get_ext[:M5TC20150320] ||= M5TC20150320::SETTING["DEA"] || {}
复制代码
|
|