设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1945|回复: 4
打印 上一主题 下一主题

[通用发布] 解决显示文章中存档报错

[复制链接]

Lv2.观梦者

(?????)

梦石
0
星屑
700
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

跳转到指定楼层
1
发表于 2011-9-17 03:39:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 各种压力的猫君 于 2011-9-17 03:43 编辑

把fux2大的VX版修改成XP版。
(不改不知道一改吓一跳 = = b XP和VX不一样的东西太多太麻烦了……)
只是解决显示文章中存档会报错,具体显示文章中如何存档请自己改

【VX版】
fux2大的脚本 ->点我<-

【XP版】
  1. #==============================================================================
  2. # ■ Save_When_Message
  3. #------------------------------------------------------------------------------
  4. #  显示文章的时候进行存档也不会报错!
  5. #==============================================================================

  6. class Window_Message < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 处理信息结束
  9.   #--------------------------------------------------------------------------
  10.   def terminate_message
  11.     self.active = false
  12.     self.pause = false
  13.     self.index = -1
  14.     self.contents.clear
  15.     # 清除显示中标志
  16.     @contents_showing = false
  17.     # 呼叫信息调用
  18.     eval("$game_system.map_interpreter.instance_eval{#{$game_temp.message_proc}}") if $game_temp.message_proc != nil
  19.     # 清除文章、选择项、输入数值的相关变量
  20.     $game_temp.message_text = nil
  21.     $game_temp.message_proc = nil
  22.     $game_temp.choice_start = 99
  23.     $game_temp.choice_max = 0
  24.     $game_temp.choice_cancel_type = 0
  25.     $game_temp.choice_proc = nil
  26.     $game_temp.num_input_start = 99
  27.     $game_temp.num_input_variable_id = 0
  28.     $game_temp.num_input_digits_max = 0
  29.     # 开放金钱窗口
  30.     if @gold_window != nil
  31.       @gold_window.dispose
  32.       @gold_window = nil
  33.     end
  34.   end
  35. end

  36. class Interpreter
  37.   #--------------------------------------------------------------------------
  38.   # ● 显示文章
  39.   #--------------------------------------------------------------------------
  40.   def command_101
  41.     # 另外的文章已经设置过 message_text 的情况下
  42.     if $game_temp.message_text != nil
  43.       # 结束
  44.       return false
  45.     end
  46.     # 设置信息结束后待机和返回调用标志
  47.     @message_waiting = true
  48.     $game_temp.message_proc = '@message_waiting = false'
  49.     # message_text 设置为 1 行
  50.     $game_temp.message_text = @list[@index].parameters[0] + "\n"
  51.     line_count = 1
  52.     # 循环
  53.     loop do
  54.       # 下一个事件指令为文章两行以上的情况
  55.       if @list[@index+1].code == 401
  56.         # message_text 添加到第 2 行以下
  57.         $game_temp.message_text += @list[@index+1].parameters[0] + "\n"
  58.         line_count += 1
  59.       # 事件指令不在文章两行以下的情况
  60.       else
  61.         # 下一个事件指令为显示选择项的情况下
  62.         if @list[@index+1].code == 102
  63.           # 如果选择项能收纳在画面里
  64.           if @list[@index+1].parameters[0].size <= 4 - line_count
  65.             # 推进索引
  66.             @index += 1
  67.             # 设置选择项
  68.             $game_temp.choice_start = line_count
  69.             setup_choices(@list[@index].parameters)
  70.           end
  71.         # 下一个事件指令为处理输入数值的情况下
  72.         elsif @list[@index+1].code == 103
  73.           # 如果数值输入窗口能收纳在画面里
  74.           if line_count < 4
  75.             # 推进索引
  76.             @index += 1
  77.             # 设置输入数值
  78.             $game_temp.num_input_start = line_count
  79.             $game_temp.num_input_variable_id = @list[@index].parameters[0]
  80.             $game_temp.num_input_digits_max = @list[@index].parameters[1]
  81.           end
  82.         end
  83.         # 继续
  84.         return true
  85.       end
  86.       # 推进索引
  87.       @index += 1
  88.     end
  89.   end
  90.   #--------------------------------------------------------------------------
  91.   # ● 显示选择项
  92.   #--------------------------------------------------------------------------
  93.   def command_102
  94.     # 文章已经设置过 message_text 的情况下
  95.     if $game_temp.message_text != nil
  96.       # 结束
  97.       return false
  98.     end
  99.     # 设置信息结束后待机和返回调用标志
  100.     @message_waiting = true
  101.     $game_temp.message_proc = '@message_waiting = false'
  102.     # 设置选择项
  103.     $game_temp.message_text = ""
  104.     $game_temp.choice_start = 0
  105.     setup_choices(@parameters)
  106.     # 继续
  107.     return true
  108.   end
  109.   #--------------------------------------------------------------------------
  110.   # ● [**] 的情况下
  111.   #--------------------------------------------------------------------------
  112.   def command_402
  113.     # 如果符合的选择项被选择
  114.     if @branch[@list[@index].indent] == @parameters[0]
  115.       # 删除分支数据
  116.       @branch.delete(@list[@index].indent)
  117.       # 继续
  118.       return true
  119.     end
  120.     # 不符合条件的情况下 : 指令跳转
  121.     return command_skip
  122.   end
  123.   #--------------------------------------------------------------------------
  124.   # ● 取消的情况下
  125.   #--------------------------------------------------------------------------
  126.   def command_403
  127.     # 如果选择了选择项取消
  128.     if @branch[@list[@index].indent] == 4
  129.       # 删除分支数据
  130.       @branch.delete(@list[@index].indent)
  131.       # 继续
  132.       return true
  133.     end
  134.     # 不符合条件的情况下 : 指令跳转
  135.     return command_skip
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ● 处理数值输入
  139.   #--------------------------------------------------------------------------
  140.   def command_103
  141.     # 文章已经设置过 message_text 的情况下
  142.     if $game_temp.message_text != nil
  143.       # 结束
  144.       return false
  145.     end
  146.     # 设置信息结束后待机和返回调用标志
  147.     @message_waiting = true
  148.     $game_temp.message_proc = '@message_waiting = false'
  149.     # 设置数值输入
  150.     $game_temp.message_text = ""
  151.     $game_temp.num_input_start = 0
  152.     $game_temp.num_input_variable_id = @parameters[0]
  153.     $game_temp.num_input_digits_max = @parameters[1]
  154.     # 继续
  155.     return true
  156.   end
  157. end
复制代码
明明VX版只有18行……碎碎念碎碎念……

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39925
在线时间
7498 小时
注册时间
2009-7-6
帖子
13489

开拓者贵宾

2
发表于 2011-9-17 07:28:14 | 只看该作者
表示xp即使直接存也没事。
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv2.观梦者

(?????)

梦石
0
星屑
700
在线时间
1327 小时
注册时间
2011-7-18
帖子
3184

贵宾

3
 楼主| 发表于 2011-9-17 07:43:40 | 只看该作者
fux2 发表于 2011-9-17 07:28
表示xp即使直接存也没事。

OTL 真的咩 那我这样岂不是毫无意义的说
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4207
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

4
发表于 2011-9-17 11:16:56 | 只看该作者
我还奇怪来着 XP显示文章的时候如何存档?= =
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39925
在线时间
7498 小时
注册时间
2009-7-6
帖子
13489

开拓者贵宾

5
发表于 2011-9-17 12:39:39 | 只看该作者
各种压力的猫君 发表于 2011-9-17 07:43
OTL 真的咩 那我这样岂不是毫无意义的说

因为xp默认系统没有创建不能dump的对象。
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-21 19:07

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表