Project1
标题:
解决显示文章中存档报错
[打印本页]
作者:
各种压力的猫君
时间:
2011-9-17 03:39
标题:
解决显示文章中存档报错
本帖最后由 各种压力的猫君 于 2011-9-17 03:43 编辑
把fux2大的VX版修改成XP版。
(不改不知道一改吓一跳 = = b XP和VX不一样的东西太多太麻烦了……)
只是解决显示文章中存档会报错,具体显示文章中如何存档请自己改
【VX版】
fux2大的脚本
->点我<-
【XP版】
#==============================================================================
# ■ Save_When_Message
#------------------------------------------------------------------------------
# 显示文章的时候进行存档也不会报错!
#==============================================================================
class Window_Message < Window_Selectable
#--------------------------------------------------------------------------
# ● 处理信息结束
#--------------------------------------------------------------------------
def terminate_message
self.active = false
self.pause = false
self.index = -1
self.contents.clear
# 清除显示中标志
@contents_showing = false
# 呼叫信息调用
eval("$game_system.map_interpreter.instance_eval{#{$game_temp.message_proc}}") if $game_temp.message_proc != nil
# 清除文章、选择项、输入数值的相关变量
$game_temp.message_text = nil
$game_temp.message_proc = nil
$game_temp.choice_start = 99
$game_temp.choice_max = 0
$game_temp.choice_cancel_type = 0
$game_temp.choice_proc = nil
$game_temp.num_input_start = 99
$game_temp.num_input_variable_id = 0
$game_temp.num_input_digits_max = 0
# 开放金钱窗口
if @gold_window != nil
@gold_window.dispose
@gold_window = nil
end
end
end
class Interpreter
#--------------------------------------------------------------------------
# ● 显示文章
#--------------------------------------------------------------------------
def command_101
# 另外的文章已经设置过 message_text 的情况下
if $game_temp.message_text != nil
# 结束
return false
end
# 设置信息结束后待机和返回调用标志
@message_waiting = true
$game_temp.message_proc = '@message_waiting = false'
# message_text 设置为 1 行
$game_temp.message_text = @list[@index].parameters[0] + "\n"
line_count = 1
# 循环
loop do
# 下一个事件指令为文章两行以上的情况
if @list[@index+1].code == 401
# message_text 添加到第 2 行以下
$game_temp.message_text += @list[@index+1].parameters[0] + "\n"
line_count += 1
# 事件指令不在文章两行以下的情况
else
# 下一个事件指令为显示选择项的情况下
if @list[@index+1].code == 102
# 如果选择项能收纳在画面里
if @list[@index+1].parameters[0].size <= 4 - line_count
# 推进索引
@index += 1
# 设置选择项
$game_temp.choice_start = line_count
setup_choices(@list[@index].parameters)
end
# 下一个事件指令为处理输入数值的情况下
elsif @list[@index+1].code == 103
# 如果数值输入窗口能收纳在画面里
if line_count < 4
# 推进索引
@index += 1
# 设置输入数值
$game_temp.num_input_start = line_count
$game_temp.num_input_variable_id = @list[@index].parameters[0]
$game_temp.num_input_digits_max = @list[@index].parameters[1]
end
end
# 继续
return true
end
# 推进索引
@index += 1
end
end
#--------------------------------------------------------------------------
# ● 显示选择项
#--------------------------------------------------------------------------
def command_102
# 文章已经设置过 message_text 的情况下
if $game_temp.message_text != nil
# 结束
return false
end
# 设置信息结束后待机和返回调用标志
@message_waiting = true
$game_temp.message_proc = '@message_waiting = false'
# 设置选择项
$game_temp.message_text = ""
$game_temp.choice_start = 0
setup_choices(@parameters)
# 继续
return true
end
#--------------------------------------------------------------------------
# ● [**] 的情况下
#--------------------------------------------------------------------------
def command_402
# 如果符合的选择项被选择
if @branch[@list[@index].indent] == @parameters[0]
# 删除分支数据
@branch.delete(@list[@index].indent)
# 继续
return true
end
# 不符合条件的情况下 : 指令跳转
return command_skip
end
#--------------------------------------------------------------------------
# ● 取消的情况下
#--------------------------------------------------------------------------
def command_403
# 如果选择了选择项取消
if @branch[@list[@index].indent] == 4
# 删除分支数据
@branch.delete(@list[@index].indent)
# 继续
return true
end
# 不符合条件的情况下 : 指令跳转
return command_skip
end
#--------------------------------------------------------------------------
# ● 处理数值输入
#--------------------------------------------------------------------------
def command_103
# 文章已经设置过 message_text 的情况下
if $game_temp.message_text != nil
# 结束
return false
end
# 设置信息结束后待机和返回调用标志
@message_waiting = true
$game_temp.message_proc = '@message_waiting = false'
# 设置数值输入
$game_temp.message_text = ""
$game_temp.num_input_start = 0
$game_temp.num_input_variable_id = @parameters[0]
$game_temp.num_input_digits_max = @parameters[1]
# 继续
return true
end
end
复制代码
明明VX版只有18行……碎碎念碎碎念……
作者:
fux2
时间:
2011-9-17 07:28
表示xp即使直接存也没事。
作者:
各种压力的猫君
时间:
2011-9-17 07:43
fux2 发表于 2011-9-17 07:28
表示xp即使直接存也没事。
OTL 真的咩 那我这样岂不是毫无意义的说
作者:
天使喝可乐
时间:
2011-9-17 11:16
我还奇怪来着 XP显示文章的时候如何存档?= =
作者:
fux2
时间:
2011-9-17 12:39
各种压力的猫君 发表于 2011-9-17 07:43
OTL 真的咩 那我这样岂不是毫无意义的说
因为xp默认系统没有创建不能dump的对象。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1