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

Project1

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

容错脚本第3版(修订)

 关闭 [复制链接]

Lv1.梦旅人

逃兵

跳转到指定楼层
1
发表于 2007-2-20 04:37:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  1. #==============================================================================
  2. # ■ 容错脚本第3版(070816修订)                                   BY 轮回者
  3. #------------------------------------------------------------------------------
  4. #  本脚本基于星大叔的容错脚本第2版,区别只是“下手”的地方不同而已。
  5. #  说明请参看星大叔的容错脚本第2版。
  6. #------------------------------------------------------------------------------
  7. #  07.08.16
  8. #     修正了按下F12重启后的错误
  9. #     附,出错原因:重启后RMXP封装的类没有重置
  10. #==============================================================================
  11. begin
  12.   result = Graphics::Transition.nil?
  13. rescue
  14.   result = true
  15. end

  16. if result
  17.   
  18.   $need_file_bitmap = []
  19.   if FileTest.exist?("log_bitmap.txt")
  20.     f = File.open("./log_bitmap.txt","r")
  21.     $need_file_bitmap = f.read.split(/\n/)
  22.     f.close
  23.   end

  24.   module Graphics
  25.     Transition = method("transition")
  26.     def self.transition(*arg)
  27.       begin
  28.         Transition.call(*arg)
  29.       rescue Errno::ENOENT
  30.         ary=[*arg]
  31.         filename=ary[1]
  32.         unless $need_file_bitmap.include?(filename)
  33.           $need_file_bitmap.push(filename)
  34.           f = File.open("./log_bitmap.txt","a")
  35.           f.write(filename + "\n")
  36.           f.close
  37.         end
  38.         Transition.call(ary[0])
  39.       end
  40.     end
  41.   end

  42.   class Bitmap < Object
  43.     alias ini_Fx initialize
  44.             
  45.     def initialize(*args)
  46.       begin
  47.         ini_Fx(*args)
  48.         return
  49.       rescue Errno::ENOENT
  50.         filename=[*args][0]
  51.         unless $need_file_bitmap.include?(filename)
  52.           $need_file_bitmap.push(filename)
  53.           f = File.open("./log_bitmap.txt","a")
  54.           f.write(filename + "\n")
  55.           f.close
  56.         end
  57.         ini_Fx(32,32)
  58.       end
  59.     end
  60.   end

  61.   $need_file_audio = []
  62.   if FileTest.exist?("log_audio.txt")
  63.     f = File.open("./log_audio.txt","r")
  64.     $need_file_audio = f.read.split(/\n/)
  65.     f.close
  66.   end
  67.   
  68.   module Audio
  69.     Me_play = method("me_play")
  70.     def self.me_play(*arg)
  71.       begin
  72.         Me_play.call(*arg)
  73.       rescue Errno::ENOENT
  74.         filename=[*arg][0]
  75.         unless $need_file_audio.include?(filename)
  76.           $need_file_audio.push(filename)
  77.           f = File.open("./log_audio.txt","a")
  78.           f.write(filename + "\n")
  79.           f.close
  80.         end
  81.         me_stop
  82.       end
  83.     end
  84.     Bgm_play = method("bgm_play")
  85.     def self.bgm_play(*arg)
  86.       begin
  87.         Bgm_play.call(*arg)
  88.       rescue Errno::ENOENT
  89.         filename=[*arg][0]
  90.         unless $need_file_audio.include?(filename)
  91.           $need_file_audio.push(filename)
  92.           f = File.open("./log_audio.txt","a")
  93.           f.write(filename + "\n")
  94.           f.close
  95.         end
  96.         bgm_stop
  97.       end
  98.     end
  99.     Se_play = method("se_play")
  100.     def self.se_play(*arg)
  101.       begin
  102.         Se_play.call(*arg)
  103.       rescue Errno::ENOENT
  104.         filename=[*arg][0]
  105.         unless $need_file_audio.include?(filename)
  106.           $need_file_audio.push(filename)
  107.           f = File.open("./log_audio.txt","a")
  108.           f.write(filename + "\n")
  109.           f.close
  110.         end
  111.         se_stop
  112.       end
  113.     end
  114.     Bgs_play = method("bgs_play")
  115.     def self.bgs_play(*arg)
  116.       begin
  117.         Bgs_play.call(*arg)
  118.       rescue Errno::ENOENT
  119.         filename=[*arg][0]
  120.         unless $need_file_audio.include?(filename)
  121.           $need_file_audio.push(filename)
  122.           f = File.open("./log_audio.txt","a")
  123.           f.write(filename + "\n")
  124.           f.close
  125.         end
  126.         bgs_stop
  127.       end
  128.     end
  129.   end
  130. end
复制代码
「If you judge people, you have no time to love them.」—— Mother Teresa

Lv1.梦旅人

逃兵

2
 楼主| 发表于 2007-2-20 04:37:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  1. #==============================================================================
  2. # ■ 容错脚本第3版(070816修订)                                   BY 轮回者
  3. #------------------------------------------------------------------------------
  4. #  本脚本基于星大叔的容错脚本第2版,区别只是“下手”的地方不同而已。
  5. #  说明请参看星大叔的容错脚本第2版。
  6. #------------------------------------------------------------------------------
  7. #  07.08.16
  8. #     修正了按下F12重启后的错误
  9. #     附,出错原因:重启后RMXP封装的类没有重置
  10. #==============================================================================
  11. begin
  12.   result = Graphics::Transition.nil?
  13. rescue
  14.   result = true
  15. end

  16. if result
  17.   
  18.   $need_file_bitmap = []
  19.   if FileTest.exist?("log_bitmap.txt")
  20.     f = File.open("./log_bitmap.txt","r")
  21.     $need_file_bitmap = f.read.split(/\n/)
  22.     f.close
  23.   end

  24.   module Graphics
  25.     Transition = method("transition")
  26.     def self.transition(*arg)
  27.       begin
  28.         Transition.call(*arg)
  29.       rescue Errno::ENOENT
  30.         ary=[*arg]
  31.         filename=ary[1]
  32.         unless $need_file_bitmap.include?(filename)
  33.           $need_file_bitmap.push(filename)
  34.           f = File.open("./log_bitmap.txt","a")
  35.           f.write(filename + "\n")
  36.           f.close
  37.         end
  38.         Transition.call(ary[0])
  39.       end
  40.     end
  41.   end

  42.   class Bitmap < Object
  43.     alias ini_Fx initialize
  44.             
  45.     def initialize(*args)
  46.       begin
  47.         ini_Fx(*args)
  48.         return
  49.       rescue Errno::ENOENT
  50.         filename=[*args][0]
  51.         unless $need_file_bitmap.include?(filename)
  52.           $need_file_bitmap.push(filename)
  53.           f = File.open("./log_bitmap.txt","a")
  54.           f.write(filename + "\n")
  55.           f.close
  56.         end
  57.         ini_Fx(32,32)
  58.       end
  59.     end
  60.   end

  61.   $need_file_audio = []
  62.   if FileTest.exist?("log_audio.txt")
  63.     f = File.open("./log_audio.txt","r")
  64.     $need_file_audio = f.read.split(/\n/)
  65.     f.close
  66.   end
  67.   
  68.   module Audio
  69.     Me_play = method("me_play")
  70.     def self.me_play(*arg)
  71.       begin
  72.         Me_play.call(*arg)
  73.       rescue Errno::ENOENT
  74.         filename=[*arg][0]
  75.         unless $need_file_audio.include?(filename)
  76.           $need_file_audio.push(filename)
  77.           f = File.open("./log_audio.txt","a")
  78.           f.write(filename + "\n")
  79.           f.close
  80.         end
  81.         me_stop
  82.       end
  83.     end
  84.     Bgm_play = method("bgm_play")
  85.     def self.bgm_play(*arg)
  86.       begin
  87.         Bgm_play.call(*arg)
  88.       rescue Errno::ENOENT
  89.         filename=[*arg][0]
  90.         unless $need_file_audio.include?(filename)
  91.           $need_file_audio.push(filename)
  92.           f = File.open("./log_audio.txt","a")
  93.           f.write(filename + "\n")
  94.           f.close
  95.         end
  96.         bgm_stop
  97.       end
  98.     end
  99.     Se_play = method("se_play")
  100.     def self.se_play(*arg)
  101.       begin
  102.         Se_play.call(*arg)
  103.       rescue Errno::ENOENT
  104.         filename=[*arg][0]
  105.         unless $need_file_audio.include?(filename)
  106.           $need_file_audio.push(filename)
  107.           f = File.open("./log_audio.txt","a")
  108.           f.write(filename + "\n")
  109.           f.close
  110.         end
  111.         se_stop
  112.       end
  113.     end
  114.     Bgs_play = method("bgs_play")
  115.     def self.bgs_play(*arg)
  116.       begin
  117.         Bgs_play.call(*arg)
  118.       rescue Errno::ENOENT
  119.         filename=[*arg][0]
  120.         unless $need_file_audio.include?(filename)
  121.           $need_file_audio.push(filename)
  122.           f = File.open("./log_audio.txt","a")
  123.           f.write(filename + "\n")
  124.           f.close
  125.         end
  126.         bgs_stop
  127.       end
  128.     end
  129.   end
  130. end
复制代码
「If you judge people, you have no time to love them.」—— Mother Teresa

Lv2.观梦者

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

3
发表于 2007-2-20 04:54:01 | 只看该作者
本着容错应该从底层出发的原则,这个第3版可以取代第2版了......
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv2.观梦者


  • 更新完成啦

梦石
0
星屑
799
在线时间
6267 小时
注册时间
2006-6-7
帖子
8462
4
发表于 2007-2-20 05:16:20 | 只看该作者
{/hx}看看看看
但是现在木在家 - -|||
回复 支持 反对

使用道具 举报

Lv1.梦旅人

逃兵

5
 楼主| 发表于 2007-2-20 05:17:48 | 只看该作者
  1. #==============================================================================
  2. # ■ 容错脚本第3版                                              BY 轮回者
  3. #------------------------------------------------------------------------------
  4. #  本脚本基于星大叔的容错脚本第2版,区别只是“下手”的地方不同而已。
  5. #  说明请参看星大叔的容错脚本第2版。
  6. #==============================================================================

  7. $need_file_bitmap = []
  8. if FileTest.exist?("log_bitmap.txt")
  9.   f = File.open("./log_bitmap.txt","r")
  10.   $need_file_bitmap = f.read.split(/\n/)
  11.   f.close
  12. end

  13. module Graphics
  14.   @transition = method("transition")
  15.   def self.transition(*arg)
  16.     begin
  17.       @transition.call(*arg)
  18.     rescue Errno::ENOENT
  19.       ary=[*arg]
  20.       filename=ary[1]
  21.       unless $need_file_bitmap.include?(filename)
  22.         $need_file_bitmap.push(filename)
  23.         f = File.open("./log_bitmap.txt","a")
  24.         f.write(filename + "\n")
  25.         f.close
  26.       end
  27.       @transition.call(ary[0])
  28.     end
  29.   end
  30. end

  31. class Bitmap < Object
  32.   alias ini initialize
  33.   def initialize(*arg)
  34.     begin
  35.       ini(*arg)
  36.     rescue Errno::ENOENT
  37.       filename=[*arg][0]
  38.       unless $need_file_bitmap.include?(filename)
  39.         $need_file_bitmap.push(filename)
  40.         f = File.open("./log_bitmap.txt","a")
  41.         f.write(filename + "\n")
  42.         f.close
  43.       end
  44.       ini(32,32)
  45.     end
  46.   end
  47. end

  48. $need_file_audio = []
  49. if FileTest.exist?("log_audio.txt")
  50.   f = File.open("./log_audio.txt","r")
  51.   $need_file_audio = f.read.split(/\n/)
  52.   f.close
  53. end

  54. module Audio
  55.   @me_play = method("me_play")
  56.   def self.me_play(*arg)
  57.     begin
  58.       @me_play.call(*arg)
  59.     rescue Errno::ENOENT
  60.       filename=[*arg][0]
  61.       unless $need_file_audio.include?(filename)
  62.         $need_file_audio.push(filename)
  63.         f = File.open("./log_audio.txt","a")
  64.         f.write(filename + "\n")
  65.         f.close
  66.       end
  67.       me_stop
  68.     end
  69.   end
  70.   @bgm_play = method("bgm_play")
  71.   def self.bgm_play(*arg)
  72.     begin
  73.       @bgm_play.call(*arg)
  74.     rescue Errno::ENOENT
  75.       filename=[*arg][0]
  76.       unless $need_file_audio.include?(filename)
  77.         $need_file_audio.push(filename)
  78.         f = File.open("./log_audio.txt","a")
  79.         f.write(filename + "\n")
  80.         f.close
  81.       end
  82.       bgm_stop
  83.     end
  84.   end
  85.   @se_play = method("se_play")
  86.   def self.se_play(*arg)
  87.     begin
  88.       @se_play.call(*arg)
  89.     rescue Errno::ENOENT
  90.       filename=[*arg][0]
  91.       unless $need_file_audio.include?(filename)
  92.         $need_file_audio.push(filename)
  93.         f = File.open("./log_audio.txt","a")
  94.         f.write(filename + "\n")
  95.         f.close
  96.       end
  97.       se_stop
  98.     end
  99.   end
  100.   @bgs_play = method("bgs_play")
  101.   def self.bgs_play(*arg)
  102.     begin
  103.       @bgs_play.call(*arg)
  104.     rescue Errno::ENOENT
  105.       filename=[*arg][0]
  106.       unless $need_file_audio.include?(filename)
  107.         $need_file_audio.push(filename)
  108.         f = File.open("./log_audio.txt","a")
  109.         f.write(filename + "\n")
  110.         f.close
  111.       end
  112.       bgs_stop
  113.     end
  114.   end
  115. end
复制代码
「If you judge people, you have no time to love them.」—— Mother Teresa
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

6
发表于 2007-2-21 00:13:44 | 只看该作者
*arg原来还可以这样方便使用,话说见到有些地方参数里的&arg是什么意思???
没查到相关资料。
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

匿·蹤

梦石
0
星屑
65
在线时间
99 小时
注册时间
2006-3-19
帖子
456
7
发表于 2007-2-21 02:58:03 | 只看该作者
以下引用美兽于2007-2-20 16:13:44的发言:

*arg原来还可以这样方便使用,话说见到有些地方参数里的&arg是什么意思???
没查到相关资料。


呃……记得在C里……*是指针……&是取得变量的地址……

不知道RMXP是否是如此类?……
卐忍 → 解忍 → 元忍 → 隐忍 → 卍忍 → 匿踪(最终)
完全退步到了卐忍阶段
回复 支持 反对

使用道具 举报

Lv1.梦旅人

逃兵

8
 楼主| 发表于 2007-2-22 04:07:09 | 只看该作者
以下引用美兽于2007-2-20 16:13:44的发言:

*arg原来还可以这样方便使用,话说见到有些地方参数里的&arg是什么意思???
没查到相关资料。


不知道……汗
去试验一下吧{/tp}
「If you judge people, you have no time to love them.」—— Mother Teresa
回复 支持 反对

使用道具 举报

Lv1.梦旅人

有事烧纸

梦石
0
星屑
154
在线时间
509 小时
注册时间
2005-10-22
帖子
6982

贵宾VX城市地图大赛冠军第1届RMTV比赛冠军第1届TG大赛冠军

9
发表于 2007-2-22 23:52:09 | 只看该作者
to 轮:注意堆栈出错。。。

to 美兽:*可以展开数组,&可以保存proc。。-v-bbb

神隐中,偶尔诈尸
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

10
发表于 2007-2-23 00:15:30 | 只看该作者
&目前从来没有用到过的迹象........

堆栈出错?{/fd}
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 11:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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