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

Project1

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

[已经过期] 用了物品图鉴脚本后,得到新道具出现stack level too deep错误

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2008-5-8
帖子
430
跳转到指定楼层
1
发表于 2010-10-18 21:22:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 pan2003abc 于 2010-10-18 22:01 编辑

请教各位老师,我用了一个物品图鉴的脚本:
链接找不到了,简要摘略前几句:
这是一个使用相对复杂的脚本,脚本调用方式:$scene = Scene_ItemBook.new
#
# 设置方式:
# 首先进行物品分类,对于恢复类的物品,给物品添加上属性:“恢复”
# 对于贵重类的物品,给物品添加属性:“贵重”
#
# 然后武器分类,默认情况下武器会全部加入图鉴,如果只想让一部分武器加入图鉴
# 可以在@weapon_kind_element_name = []中添加武器属性名
#
# 然后是防具分类,对于想入图鉴的防具,盾类添加属性"盾",铠类添加属性"铠"
# 其他类添加属性"其他"

使用后在得到新道具,或者使用道具时,有时候(只是有时候)会报stack level too deep错误。
这是怎么回事呢?我搜了搜,大大们似乎说这个报错是内存释放问题,我不太明白。不知有没有朋友也用这个脚本呢?怎么才能尽量避免这个问题呢?
(又人点评后回帖,应该不算连贴吧?)
我确实用了个怪物图鉴的脚本,但是怎么更改呢?
class Game_Party
  attr_accessor :item_count              
  attr_accessor :weapon_count           
  attr_accessor :armor_count            
  alias item_book_info_initialize initialize
  def initialize
    item_book_info_initialize
    @item_count = {}
    @weapon_count = {}
    @armor_count = {}
  end
  alias item_book_gain_item gain_item
  def gain_item(item_id, n)
    add_item_count(item_id, 0) if n > 0
    item_book_gain_item(item_id, n)
  end
  alias item_book_gain_weapon gain_weapon
  def gain_weapon(item_id, n)
    add_weapon_count(item_id, 0) if n > 0
    item_book_gain_weapon(item_id, n)
  end
  alias item_book_gain_armor gain_armor
  def gain_armor(item_id, n)
    add_armor_count(item_id, 0) if n > 0
    item_book_gain_armor(item_id, n)
  end
  def add_item_count(item_id, type = 0)
    if type == -1
      @item_count[item_id] = 0
    else
      @item_count[item_id] = 1
    end
  end
  def add_weapon_count(weapon_id, type = 0)
    if type == -1
      @weapon_count[weapon_id] = 0
    else
      @weapon_count[weapon_id] = 1
    end
  end
  def add_armor_count(armor_id, type = 0)
    if type == -1
      @armor_count[armor_id] = 0
    else
      @armor_count[armor_id] = 1
    end
  end
报错的时候脚本都提到了这里,是这里的问题吗?

点评

如果你使用了两个以上的脚本,最大的可能是冲突,继承关系上存在同名alias方法  发表于 2010-10-18 21:23

Lv1.梦旅人

旅之愚者

梦石
0
星屑
240
在线时间
812 小时
注册时间
2007-7-28
帖子
2148

贵宾

2
发表于 2010-10-18 21:34:43 | 只看该作者
回复 pan2003abc 的帖子
还是烦请发上你的工程吧~这样比较容易解决【至少脚本部分】
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2008-5-8
帖子
430
3
 楼主| 发表于 2010-10-18 21:56:33 | 只看该作者
本帖最后由 六祈 于 2010-10-19 01:14 编辑

报错的时候弹到这个地方……
def add_item_count(item_id, type = 0)
    if type == -1
      @item_count[item_id] = 0
    else
      @item_count[item_id] = 1
    end
  end
我查了查,那个怪物图鉴和他相似的也就是
def add_enemy_info(enemy_id, type = 0)
   case type
   when 0
     if @enemy_info[enemy_id] == 2
       return false
     end
     @enemy_info[enemy_id] = 1
   when 1
     @enemy_info[enemy_id] = 2
   when -1
     @enemy_info[enemy_id] = 0
   end
end
实在不知道哪里的问题,而且不是说那个特定道具入手时报错而是随机的!
无语
盼望指点
主要是发生在新道具获得时,但是不明白为什么有时候使用道具也用这个问题
(找到那个脚本的链接了!)
http://rpg.blue/web/htm/news191.htm

点评

请查看自己的工程是不是还用了其他脚本,所谓冲突,就是指两个以上的脚本冲突,你发物品图鉴这一个脚本是看不出来的  发表于 2010-10-18 22:37
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1316
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
4
发表于 2010-10-18 23:08:28 | 只看该作者
你这样都能吓死人

看到你那个直接说原因吧
有重复的重命名。
  1. def a
  2.   return 1
  3. end
  4. alias old_a a
  5. def a
  6.   n = old_a
  7.   n+=1
  8.   return n
  9. end
  10. alias old_a a
  11. def a
  12.   old_a
  13. end

  14. a
复制代码
以上代码执行必出错,因为两次重命名都用了 old_a
解决方法是,把其中一个 old_a 随便改成什么都可以,然后在方法内部也改一下就OK了

你那脚本90%以上就是这个造成的!
DIY 自己动手吧,下次就是发工程,也别把这么多脚本发上来了。你知道看事件这么多也头疼,何况是脚本呢
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2008-5-8
帖子
430
5
 楼主| 发表于 2010-10-19 00:14:13 | 只看该作者
本帖最后由 pan2003abc 于 2010-10-19 00:32 编辑

发工程是应那位朋友要求发上来的,我也知道发这么多太吓人,只是找了半天也没找到重复定义的地方,我再找找吧

仔细查过了,真的没有楼上说的那样的情况,仔细看了全部的 alias,没有重名的,真的…………

再说,我想真要有楼上说的那种情况,那就不该随机发生报错的情况,应该是一定发生报错才对啊
怎么有时候得到新道具不报错呢?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1316
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
6
发表于 2010-10-19 01:00:27 | 只看该作者
丢工程!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2008-5-8
帖子
430
7
 楼主| 发表于 2010-10-19 12:13:24 | 只看该作者
本帖最后由 pan2003abc 于 2010-10-19 13:33 编辑

丢工程就是把工程删掉吗?汗…………冲突就是和怪物图鉴引起的
怪物图鉴是那个带雷达图的图鉴,大家应该有用过的吧?
物品图鉴就是http://rpg.blue/web/htm/news191.htm这个链接。
删了怪物图鉴就没事了,可是我不想删……
仔细看了很久也没发现重名问题啊,没有朋友遇到我这个同样的问题吗?
我不想删啊,这两个脚本有用啊。


丢上来怕大家说我吓人在,物品图鉴就是上面那个链接http://rpg.blue/web/htm/news191.htm
整个工程已经在前几楼发过了
,怪物图鉴是带雷达图的那个脚本,全脚本如下
  1. #自动显示各种能力参数
  2. #显示各种信息位于630行左右,想不显示某些信息的话只要删除相应语句就可以罗!
  3. #雷达式元素属性有效度图
  4. #自动显示怪物种族(由9到16号属性有效度得出,支持一个主要种族和一个次要种族)
  5. #允许自写怪物介绍(缩小了字体,一般都够写了......)
  6. #自动显示敌方行动列表
  7. #图鉴显示完成度
  8. #允许怪物不加入图鉴中
  9. #怪物图象自动缩放适合窗口大小
  10. #使用方法:直接加入可以,尽量靠近main(下面)
  11. #调用方法:$scene = Scene_MonsterBook.new
  12. #冲突报告:较少,不过有class Game_Party,对于其他动了这里的脚本可能需要整合
  13. #(其实这所谓整合只要复制粘贴就可以......)
  14. #================================================================
  15. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  16. #===================================================================
  17. #——————————————————————————————————————
  18. #魔物图鉴+介绍
  19. #
  20. #战斗终了时自动添加敌人进入图鉴(class Scene_Battle start_phase5 追加。

  21. #目前与各种战斗系统没有发现冲突)
  22. #不想加入图鉴的怪物设置其“不加入图鉴”属性有效度为A即可
  23. #图鉴完成度的表示功能追加
  24. #SHOW_COMPLETE_TYPE 的数值可以设定
  25. #当为1,显示现有个数/总数,当为2,显示完成百分比,当为3,全显示。
  26. #使用方法:$scene = Scene_MonsterBook.new
  27. #数据库中属性里面那些种族特效的位置,建议把默认的“对 不死”之类改成“不死”,

  28. #不然显示会很奇怪
  29. #由于雷达图的设计问题,只支持8项属性
  30. #默认种族特效处理属性中编号9到编号16,

  31. #如果你做了修改请自行改动380行左右的for i in 9..16这一句代码
  32. #显示各种信息位于630行左右,想不显示的话只要删除相应语句
  33. CHARA_INFO=[]#怪物的介绍,对应怪物id,空格为换行,
  34. ############################################################3
  35. ###############################################################
  36. #注意!务必要把数据库中队伍2的任务塞满,否则会报错
  37. #############################################################
  38. #####################################################
  39. #同时也会自动换行,没有写介绍的怪物会自动显示“无详细信息”
  40. CHARA_INFO[1] = "免疫:咒杀;石化;病气 抵抗:全部(效果大) "
  41. CHARA_INFO[2] = "免疫:无 抵抗:无"
  42. CHARA_INFO[3] = "免疫:无 抵抗:无"
  43. CHARA_INFO[4] = "免疫:毒;病气 抵抗:无"
  44. CHARA_INFO[5] = "免疫:无 抵抗:无"
  45. CHARA_INFO[6] = "免疫:无 抵抗:石化;失明"
  46. CHARA_INFO[7] = "免疫:无 抵抗:无"
  47. CHARA_INFO[8] = "免疫:无 抵抗:无"
  48. CHARA_INFO[9] = "免疫:无 抵抗:无"
  49. CHARA_INFO[10] = "免疫:钝足 抵抗:无"
  50. CHARA_INFO[11] = "免疫:无 抵抗:无"
  51. CHARA_INFO[12] = "免疫:石化;猛毒;狂乱;病气;麻痹;睡眠 抵抗:无"
  52. CHARA_INFO[13] = "免疫:无 抵抗:石化;失明"
  53. CHARA_INFO[14] = "免疫:钝足;猛毒 抵抗:无"
  54. CHARA_INFO[15] = "免疫:无 抵抗:无"
  55. CHARA_INFO[16] = "免疫:无 抵抗:无"
  56. CHARA_INFO[17] = "免疫:无 抵抗:石化;失明"
  57. CHARA_INFO[18] = "免疫:无 抵抗:无"
  58. CHARA_INFO[19] = "免疫:无 抵抗:无"
  59. CHARA_INFO[20] = "免疫:钝足;魅惑 抵抗:无"
  60. CHARA_INFO[21] = "免疫:钝足;魅惑 抵抗:无"
  61. CHARA_INFO[22] = "免疫:咒杀;病气 抵抗:全部(效果小)"
  62. CHARA_INFO[23] = "免疫:无 抵抗:无"
  63. CHARA_INFO[24] = "免疫:无 抵抗:无"
  64. CHARA_INFO[25] = "免疫:无 抵抗:无"
  65. CHARA_INFO[25] = "免疫:无 抵抗:无"
  66. CHARA_INFO[26] = "免疫:无 抵抗:无"
  67. CHARA_INFO[27] = "免疫:无 抵抗:无"
  68. CHARA_INFO[29] = "免疫:全部(咒杀 石化除外) 抵抗:咒杀 石化"
  69. CHARA_INFO[31] = "免疫:无 抵抗:全部(效果小)"
  70. CHARA_INFO[32] = "免疫:无 抵抗:钝足 失明"
  71. CHARA_INFO[33] = "免疫:猛毒 钝足 抵抗:无"
  72. CHARA_INFO[34] = "免疫:全部(咒杀 石化除外) 抵抗:无"
  73. CHARA_INFO[35] = "免疫:无 抵抗:无"
  74. CHARA_INFO[36] = "免疫:猛毒 病气 抵抗:无"
  75. CHARA_INFO[37] = "免疫:无 抵抗:无"
  76. CHARA_INFO[38] = "免疫:无 抵抗:无"
  77. CHARA_INFO[39] = "免疫:无 抵抗:无"
  78. CHARA_INFO[40] = "免疫:无 抵抗:无"
  79. CHARA_INFO[41] = "免疫:无 抵抗:无"
  80. CHARA_INFO[42] = "免疫:无 抵抗:无"
  81. CHARA_INFO[43] = "免疫:无 抵抗:失明 狂战士 石化"
  82. CHARA_INFO[44] = "免疫:全部(咒杀 石化除外) 抵抗:无"
  83. CHARA_INFO[45] = "免疫:猛毒 病气 虚弱 狂战士 抵抗:麻痹 狂乱"
  84. CHARA_INFO[46] = "免疫:无 抵抗:钝足 失明"
  85. CHARA_INFO[47] = "免疫:无 抵抗:无"
  86. CHARA_INFO[48] = "免疫:无 抵抗:全部(猛毒除外)"
  87. CHARA_INFO[49] = "免疫:无 抵抗:全部(猛毒除外)"
  88. CHARA_INFO[50] = "免疫:全部(猛毒 失明除外) 抵抗:无"
  89. CHARA_INFO[51] = "免疫:咒杀 石化 虚弱 抵抗:全部(猛毒除外)"
  90. CHARA_INFO[52] = "免疫:全部 抵抗:"
  91. CHARA_INFO[53] = "免疫:石化 失明 虚弱 抵抗:无"
  92. CHARA_INFO[54] = "免疫:病气 虚弱 抵抗:全部(效果大)"
  93. CHARA_INFO[55] = "免疫:狂乱 睡眠 麻痹 抵抗:无"
  94. CHARA_INFO[56] = "免疫:狂乱 睡眠 麻痹 抵抗:无"
  95. CHARA_INFO[57] = "免疫:狂乱 睡眠 麻痹 抵抗:全部(效果大)"
  96. CHARA_INFO[58] = "免疫:行动系 钝足 失明 睡眠 抵抗:无"
  97. CHARA_INFO[59] = "免疫:失明 石化 抵抗:全部(效果小)"
  98. CHARA_INFO[60] = "免疫:无   抵抗:行动系,沉默(效果大)"
  99. CHARA_INFO[61] = "免疫:全部 抵抗:无"
  100. CHARA_INFO[62] = "免疫:猛毒 病气 失明 咒杀  抵抗:无"
  101. CHARA_INFO[63] = "免疫:咒杀 石化  抵抗:全部(效果大)"


  102. #没有信息测试,4号怪物
  103. #=============
  104. #雷达图相关处理部分
  105. #=============
  106. class Bitmap
  107. def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
  108. distance = (start_x - end_x).abs + (start_y - end_y).abs
  109. if end_color == start_color
  110. for i in 1..distance
  111. x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
  112. y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
  113. if width == 1
  114. self.set_pixel(x, y, start_color)
  115. else
  116. self.fill_rect(x, y, width, width, start_color)
  117. end
  118. end
  119. else
  120. for i in 1..distance
  121. x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
  122. y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
  123. r = start_color.red * (distance-i)/distance + end_color.red * i/distance
  124. g = start_color.green * (distance-i)/distance + end_color.green * i/distance
  125. b = start_color.blue * (distance-i)/distance + end_color.blue * i/distance
  126. a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance
  127. if width == 1
  128. self.set_pixel(x, y, Color.new(r, g, b, a))
  129. else
  130. self.fill_rect(x, y, width, width, Color.new(r, g, b, a))
  131. end
  132. end
  133. end
  134. end
  135. end
  136. #=============
  137. # Graphic_Def_Elem
  138. #=============
  139. class Window_Base
  140. FONT_SIZE = 18
  141. WORD_ELEMENT_GUARD = "属性有效度"
  142. NUMBER_OF_ELEMENTS = 8
  143. ELEMENT_ORDER = [1,3,8,5,2,4,7,6]
  144. GRAPH_SCALINE_COLOR = Color.new(255, 255, 255, 128)
  145. GRAPH_SCALINE_COLOR_SHADOW = Color.new( 0, 0, 0, 192)
  146. GRAPH_LINE_COLOR = Color.new(255, 255, 64, 255)
  147. GRAPH_LINE_COLOR_MINUS = Color.new( 64, 255, 255, 255)
  148. GRAPH_LINE_COLOR_PLUS = Color.new(255, 64, 64, 255)
  149. end

  150. #——————————————————————————————————————
  151. module Enemy_Book_Config
  152. DROP_ITEM_NEED_ANALYZE = true #显示物品
  153. EVA_NAME = "回避修正"              #回避修正的名称(因为数据库中没有定义)
  154. SHOW_COMPLETE_TYPE = 3         #图鉴完成率表示方法
  155. end
  156. class Data_MonsterBook
  157. #--------------------------------------------------------------------------
  158. # ● 图鉴用ID設定
  159. #--------------------------------------------------------------------------
  160. def enemy_book_id_set
  161.    data = [0]
  162.    data[1] = 2
  163.    data[2] = 1
  164.    data[3] = 15
  165.    data[4] = 25
  166.    data[5] = 18
  167.    data[6] = 30
  168.    return data
  169. end
  170. end
  171. class Game_Temp
  172. attr_accessor :enemy_book_data
  173. alias temp_enemy_book_data_initialize initialize
  174. def initialize
  175.    temp_enemy_book_data_initialize
  176.    @enemy_book_data = Data_MonsterBook.new
  177. end
  178. end

  179. class Game_Party
  180. #==============================================
  181. #--------------------------------------------------------------------------
  182.   # ● 公開インスタンス変数
  183.   #--------------------------------------------------------------------------
  184.   attr_reader   :actors                   # アクター
  185.   attr_reader   :gold                     # ゴールド
  186.   attr_reader   :steps                    # 歩数
  187.   attr_accessor :mission                  # 任务★★★★★★★★★★★★★
  188.   attr_accessor   :pr                  # 当前章节数★★★★★★★★★★★★★
  189.   attr_reader   :prname
  190.   #--------------------------------------------------------------------------
  191.   # ● オブジェクト初期化
  192.   #--------------------------------------------------------------------------
  193.   def initialize
  194.     # アクターの配列を作成
  195.     @actors = []
  196.     # ゴールドと歩数を初期化
  197.     @gold = 0
  198.     @steps = 0
  199.     # アイテム、武器、防具の所持数ハッシュを作成
  200.     @items = {}
  201.     @weapons = {}
  202.     @armors = {}
  203.   end
  204. #==============================================
  205. attr_accessor :enemy_info               # 出会った敵情報(図鑑用)

  206. #--------------------------------------------------------------------------
  207. # ● オブジェクト初期化
  208. #--------------------------------------------------------------------------
  209. alias book_info_initialize initialize
  210. def initialize
  211.    book_info_initialize
  212.    @enemy_info = {}
  213. end

  214. #--------------------------------------------------------------------------
  215. # ● エネミー情報の追加(図鑑用)
  216. #     type : 通常遭遇かアナライズか 0:通常 1:アナライズ -1:情報削除
  217. #     0:無遭遇 1:遭遇済 2:アナライズ済
  218. #--------------------------------------------------------------------------
  219. def add_enemy_info(enemy_id, type = 0)
  220.    case type
  221.    when 0
  222.      if @enemy_info[enemy_id] == 2
  223.        return false
  224.      end
  225.      @enemy_info[enemy_id] = 1
  226.    when 1
  227.      @enemy_info[enemy_id] = 2
  228.    when -1
  229.      @enemy_info[enemy_id] = 0
  230.    end
  231. end
  232. #--------------------------------------------------------------------------
  233. # ● 魔物図鑑の最大登録数を取得
  234. #--------------------------------------------------------------------------
  235. def enemy_book_max
  236.    return $game_temp.enemy_book_data.id_data.size - 1
  237. end
  238. #--------------------------------------------------------------------------
  239. # ● 魔物図鑑の現在登録数を取得
  240. #--------------------------------------------------------------------------
  241. def enemy_book_now
  242.    now_enemy_info = @enemy_info.keys
  243.    # 登録無視の属性IDを取得
  244.    no_add = $game_temp.enemy_book_data.no_add_element
  245.    new_enemy_info = []
  246.    for i in now_enemy_info
  247.      enemy = $data_enemies[i]
  248.      next if enemy.name == ""
  249.      if enemy.element_ranks[no_add] == 1
  250.        next
  251.      end
  252.      new_enemy_info.push(enemy.id)
  253.    end
  254.    return new_enemy_info.size
  255. end
  256. #--------------------------------------------------------------------------
  257. # ● 魔物図鑑の完成率を取得
  258. #--------------------------------------------------------------------------
  259. def enemy_book_complete_percentage
  260.    e_max = enemy_book_max.to_f
  261.    e_now = enemy_book_now.to_f
  262.    comp = e_now / e_max * 100
  263.    return comp.truncate
  264. end
  265. end

  266. class Interpreter
  267. def enemy_book_max
  268.    return $game_party.enemy_book_max
  269. end
  270. def enemy_book_now
  271.    return $game_party.enemy_book_now
  272. end
  273. def enemy_book_comp
  274.    return $game_party.enemy_book_complete_percentage
  275. end
  276. end

  277. class Scene_Battle
  278. alias add_enemy_info_start_phase5 start_phase5
  279. def start_phase5
  280.    for enemy in $game_troop.enemies
  281.      # エネミーが隠れ状態でない場合
  282.      unless enemy.hidden
  283.        # 敵遭遇情報追加
  284.        $game_party.add_enemy_info(enemy.id, 0)
  285.      end
  286.    end
  287.    add_enemy_info_start_phase5
  288. end
  289. end

  290. class Window_Base < Window
  291. #--------------------------------------------------------------------------
  292. # ● エネミーの戦闘後獲得アイテムの描画
  293. #--------------------------------------------------------------------------
  294. def draw_enemy_drop_item(enemy, x, y)
  295.    self.contents.font.color = normal_color
  296.    treasures = []
  297.    if enemy.item_id > 0
  298.      treasures.push($data_items[enemy.item_id])
  299.    end
  300.    if enemy.weapon_id > 0
  301.      treasures.push($data_weapons[enemy.weapon_id])
  302.    end
  303.    if enemy.armor_id > 0
  304.      treasures.push($data_armors[enemy.armor_id])
  305.    end
  306.    # 現状ではとりあえず1つのみ描画
  307.    if treasures.size > 0
  308.      item = treasures[0]
  309.      bitmap = RPG::Cache.icon(item.icon_name)
  310.      opacity = 255
  311.      self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  312.      name = treasures[0].name
  313.    else
  314.      self.contents.font.color = disabled_color
  315.      name = "无"
  316.    end
  317.    self.contents.draw_text(x+28, y, 212, 32, name)
  318. end
  319. #--------------------------------------------------------------------------
  320. # ● エネミーの図鑑IDの描画
  321. #--------------------------------------------------------------------------
  322. def draw_enemy_book_id(enemy, x, y)
  323.    self.contents.font.color = normal_color
  324.    id = $game_temp.enemy_book_data.id_data.index(enemy.id)
  325.    self.contents.draw_text(x, y, 32, 32, id.to_s)
  326. end
  327. #--------------------------------------------------------------------------
  328. # ● 敌人简介描绘
  329. #--------------------------------------------------------------------------
  330. def draw_enemy_other(enemy, x, y)
  331.    if CHARA_INFO[enemy.id]==nil
  332.     CHARA_INFO[enemy.id] = "没有相关资料"
  333.   end
  334.    self.contents.font.size=16
  335.    x+=self.contents.text_size("").width
  336.    info = CHARA_INFO[enemy.id]
  337.    s=info.scan(/./)
  338.     #一行显示21个字
  339.     for i in s
  340.       sss = self.contents.text_size(i)
  341.       
  342.       if  i==" "
  343.         y+=16
  344.         x=0
  345.       elsif (x+sss.width)>(width - 32-260)
  346.         y+=16
  347.         x=0
  348.         self.contents.draw_text(x, y, sss.width, sss.height, i)
  349.         x+=sss.width
  350.       else
  351.       self.contents.draw_text(x, y, sss.width, sss.height, i)
  352.       x+=sss.width
  353.       end
  354.     end
  355.   end
  356.    #--------------------------------------------------------------------------
  357. # ● 敌人特技描绘
  358. #--------------------------------------------------------------------------
  359. def draw_enemy_action(enemy, x, y)
  360.    self.contents.font.size=16
  361.    yy=y
  362.    self.contents.font.color = system_color
  363.    self.contents.draw_text(x, yy, 80, 18,"行动列表")
  364.    self.contents.font.color = normal_color
  365.    for action in enemy.actions
  366.      yy+=18
  367.      if action.kind==0
  368.        case action.basic
  369.         when 0
  370.           ac="普通攻击"
  371.         when 1
  372.           ac="防御"
  373.         when 2
  374.           ac="逃跑"
  375.         when 3
  376.           ac="无"
  377.         end
  378.      self.contents.draw_text(x, yy, 160, 18, ac )
  379.      end
  380.      if action.kind==1
  381.      self.contents.draw_text(x, yy, 160, 18, $data_skills[action.skill_id].name )
  382.      end
  383.    end
  384. end
  385. #雷达图描绘
  386.   #===================================================================
  387.   def draw_actor_element_radar_graph(actor, x, y)
  388.     radius = 56
  389. cx = x + radius + FONT_SIZE + 48
  390. cy = y + radius + FONT_SIZE + 32
  391. self.contents.font.color = system_color
  392. self.contents.draw_text(x, y, 104, 32, WORD_ELEMENT_GUARD)
  393. for loop_i in 0..NUMBER_OF_ELEMENTS
  394. if loop_i == 0

  395. else
  396. @pre_x = @now_x
  397. @pre_y = @now_y
  398. @pre_ex = @now_ex
  399. @pre_ey = @now_ey
  400. @color1 = @color2
  401. end
  402. if loop_i == NUMBER_OF_ELEMENTS
  403. eo = ELEMENT_ORDER[0]
  404. else
  405. eo = ELEMENT_ORDER[loop_i]
  406. end
  407. er = actor.element_rate(eo)
  408. estr = $data_system.elements[eo]
  409. @color2 = er < 0 ? GRAPH_LINE_COLOR_MINUS : er > 100 ? GRAPH_LINE_COLOR_PLUS : GRAPH_LINE_COLOR
  410. if er <0
  411.   then xsh=true
  412. else xsh=false
  413. end
  414. er = er.abs
  415. th = Math::PI * (0.5 - 2.0 * loop_i / NUMBER_OF_ELEMENTS)
  416. @now_x = cx + (radius * Math.cos(th)).floor
  417. @now_y = cy - (radius * Math.sin(th)).floor
  418. @now_wx = cx + ((radius+FONT_SIZE*2/2) * Math.cos(th)).floor - FONT_SIZE
  419. @now_wy = cy - ((radius+FONT_SIZE*1/2) * Math.sin(th)).floor - FONT_SIZE/2
  420. @now_vx = cx + ((radius+FONT_SIZE*6/2) * Math.cos(th)).floor - FONT_SIZE
  421. @now_vy = cy - ((radius+FONT_SIZE*3/2) * Math.sin(th)).floor - FONT_SIZE/2
  422. @now_ex = cx + (er*radius/100 * Math.cos(th)).floor
  423. @now_ey = cy - (er*radius/100 * Math.sin(th)).floor
  424. if loop_i == 0
  425. @pre_x = @now_x
  426. @pre_y = @now_y
  427. @pre_ex = @now_ex
  428. @pre_ey = @now_ey
  429. @color1 = @color2
  430. else

  431. end
  432. next if loop_i == 0
  433. self.contents.draw_line(cx+1,cy+1, @now_x+1,@now_y+1, GRAPH_SCALINE_COLOR_SHADOW)
  434. self.contents.draw_line(@pre_x+1,@pre_y+1, @now_x+1,@now_y+1, GRAPH_SCALINE_COLOR_SHADOW)
  435. self.contents.draw_line(cx,cy, @now_x,@now_y, GRAPH_SCALINE_COLOR)
  436. self.contents.draw_line(@pre_x,@pre_y, @now_x,@now_y, GRAPH_SCALINE_COLOR)
  437. self.contents.draw_line(@pre_ex,@pre_ey, @now_ex,@now_ey, @color1, 2, @color2)
  438. self.contents.font.size = FONT_SIZE
  439. if xsh == true
  440.   then self.contents.font.color = Color.new(100,255,128,128)
  441.   sdd="-"
  442. else self.contents.font.color = system_color
  443.   sdd=""
  444. end
  445. self.contents.draw_text(@now_wx,@now_wy, FONT_SIZE*2, FONT_SIZE, estr, 1)
  446. self.contents.font.color = Color.new(255,255,255,128)
  447. self.contents.draw_text(@now_vx,@now_vy, FONT_SIZE*2, FONT_SIZE, sdd+er.to_s + "%", 2)
  448. end
  449. end
  450. #_----------------------------------------------
  451. def draw_race(enemy,x,y)
  452.       text="无"
  453.       text2="无"
  454.       for i in 9..20
  455.         if enemy.element_rate(i) == 200
  456.         text = $data_system.elements[i]
  457.         end
  458.         if enemy.element_rate(i) == 150
  459.         text2 =$data_system.elements[i]
  460.         end
  461.       end
  462.       self.contents.font.color = system_color
  463.       self.contents.draw_text(x, y, 80, 32,"种族")
  464.       self.contents.font.color = normal_color
  465.       self.contents.draw_text(x+80, y, 76, 32,text,2)
  466.       self.contents.font.color = system_color
  467.       self.contents.draw_text(x+160, y, 80, 32,"拟态种族")
  468.       self.contents.font.color = normal_color
  469.       self.contents.draw_text(x+80+160, y, 76, 32,text2,2)
  470. end
  471.   
  472. #--------------------------------------------------------------------------
  473. # ● エネミーの名前の描画
  474. #     enemy : エネミー
  475. #     x     : 描画先 X 座標
  476. #     y     : 描画先 Y 座標
  477. #--------------------------------------------------------------------------
  478. def draw_enemy_name(enemy, x, y)
  479.    self.contents.font.color = normal_color
  480.    self.contents.draw_text(x, y, 152, 32, enemy.name)
  481. end
  482. #--------------------------------------------------------------------------
  483. # ● エネミーグラフィックの描画(アナライズ)
  484. #     enemy : エネミー
  485. #     x     : 描画先 X 座標
  486. #     y     : 描画先 Y 座標
  487. #--------------------------------------------------------------------------
  488. def draw_enemy_graphic(enemy, x, y, opacity = 255)

  489. end
  490. #--------------------------------------------------------------------------
  491. # ● エネミーの獲得EXPの描画
  492. #     enemy : エネミー
  493. #     x     : 描画先 X 座標
  494. #     y     : 描画先 Y 座標
  495. #--------------------------------------------------------------------------
  496. def draw_enemy_exp(enemy, x, y)
  497.    self.contents.font.color = system_color
  498.    self.contents.draw_text(x, y, 120, 32, "EXP")
  499.    self.contents.font.color = normal_color
  500.    self.contents.draw_text(x + 120, y, 36, 32, enemy.exp.to_s, 2)
  501. end
  502. #--------------------------------------------------------------------------
  503. # ● エネミーの獲得GOLDの描画
  504. #     enemy : エネミー
  505. #     x     : 描画先 X 座標
  506. #     y     : 描画先 Y 座標
  507. #--------------------------------------------------------------------------
  508. def draw_enemy_gold(enemy, x, y)
  509.    self.contents.font.color = system_color
  510.    self.contents.draw_text(x, y, 120, 32, "掉落金钱")
  511.    self.contents.font.color = normal_color
  512.    self.contents.draw_text(x + 120, y, 36, 32, enemy.gold.to_s, 2)
  513. end
  514. end

  515. class Game_Enemy_Book < Game_Enemy
  516. #--------------------------------------------------------------------------
  517. # ● オブジェクト初期化
  518. #--------------------------------------------------------------------------
  519. def initialize(enemy_id)
  520.    super(2, 1)#ダミー
  521.    @enemy_id = enemy_id
  522.    enemy = $data_enemies[@enemy_id]
  523.    @battler_name = enemy.battler_name
  524.    @battler_hue = enemy.battler_hue
  525.    @hp = maxhp
  526.    @sp = maxsp
  527. end
  528. end

  529. class Data_MonsterBook
  530. attr_reader :id_data
  531. #--------------------------------------------------------------------------
  532. # ● オブジェクト初期化
  533. #--------------------------------------------------------------------------
  534. def initialize
  535.    @id_data = enemy_book_id_set
  536. end
  537. #--------------------------------------------------------------------------
  538. # ● 図鑑用登録無視属性取得
  539. #--------------------------------------------------------------------------
  540. def no_add_element
  541.    no_add = 0
  542.    # 登録無視の属性IDを取得
  543.    for i in 1...$data_system.elements.size
  544.      if $data_system.elements[i] =~ /不加入图鉴/
  545.        no_add = i
  546.        break
  547.      end
  548.    end
  549.    return no_add
  550. end
  551. #--------------------------------------------------------------------------
  552. # ● 図鑑用敵ID設定
  553. #--------------------------------------------------------------------------
  554. def enemy_book_id_set
  555.    data = [0]
  556.    no_add = no_add_element
  557.    # 登録無視の属性IDを取得
  558.    for i in 1...$data_enemies.size
  559.      enemy = $data_enemies[i]
  560.      next if enemy.name == ""
  561.      if enemy.element_ranks[no_add] == 1
  562.        next
  563.      end
  564.      data.push(enemy.id)
  565.    end
  566.    return data
  567. end
  568. end


  569. class Window_MonsterBook < Window_Selectable
  570. attr_reader   :data
  571. #--------------------------------------------------------------------------
  572. # ● オブジェクト初期化
  573. #--------------------------------------------------------------------------
  574. def initialize(index=0)
  575.    super(0, 64, 640, 416)
  576.    @column_max = 2
  577.    @book_data = $game_temp.enemy_book_data
  578.    @data = @book_data.id_data.dup
  579.    @data.shift
  580.    #@data.sort!
  581.    @item_max = @data.size
  582.    self.index = 0
  583.    refresh if @item_max > 0
  584. end
  585. #--------------------------------------------------------------------------
  586. # ● 遭遇データを取得
  587. #--------------------------------------------------------------------------
  588. def data_set
  589.    data = $game_party.enemy_info.keys
  590.    data.sort!
  591.    newdata = []
  592.    for i in data
  593.      next if $game_party.enemy_info[i] == 0
  594.      # 図鑑登録無視を考慮
  595.      if book_id(i) != nil
  596.        newdata.push(i)
  597.      end
  598.    end
  599.    return newdata
  600. end
  601. #--------------------------------------------------------------------------
  602. # ● 表示許可取得
  603. #--------------------------------------------------------------------------
  604. def show?(id)
  605.    if $game_party.enemy_info[id] == 0 or $game_party.enemy_info[id] == nil
  606.      return false
  607.    else
  608.      return true
  609.    end
  610. end
  611. #--------------------------------------------------------------------------
  612. # ● 図鑑用ID取得
  613. #--------------------------------------------------------------------------
  614. def book_id(id)
  615.    return @book_data.index(id)
  616. end
  617. #--------------------------------------------------------------------------
  618. # ● エネミー取得
  619. #--------------------------------------------------------------------------
  620. def item
  621.    return @data[self.index]
  622. end
  623. #--------------------------------------------------------------------------
  624. # ● リフレッシュ
  625. #--------------------------------------------------------------------------
  626. def refresh
  627.    if self.contents != nil
  628.      self.contents.dispose
  629.      self.contents = nil
  630.    end
  631.    self.contents = Bitmap.new(width - 32, row_max * 32)
  632.    #項目数が 0 でなければビットマップを作成し、全項目を描画
  633.    if @item_max > 0
  634.      for i in 0...@item_max
  635.       draw_item(i)
  636.      end
  637.    end
  638. end
  639. #--------------------------------------------------------------------------
  640. # ● 項目の描画
  641. #     index : 項目番号
  642. #--------------------------------------------------------------------------
  643. def draw_item(index)
  644.    enemy = $data_enemies[@data[index]]
  645.    return if enemy == nil
  646.    x = 4 + index % 2 * (288 + 32)
  647.    y = index / 2 * 32
  648.    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
  649.    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  650.    self.contents.font.color = normal_color
  651.    draw_enemy_book_id(enemy, x, y)
  652.    if show?(enemy.id)
  653.      self.contents.draw_text(x + 28+16, y, 212, 32, enemy.name, 0)
  654.    else
  655.      self.contents.draw_text(x + 28+16, y, 212, 32, "-----", 0)
  656.      return
  657.    end
  658.    if analyze?(@data[index])
  659.      self.contents.font.color = text_color(3)
  660.      self.contents.draw_text(x + 256, y, 24, 32, "済", 2)
  661.    end
  662. end
  663. #--------------------------------------------------------------------------
  664. # ● アナライズ済かどうか
  665. #--------------------------------------------------------------------------
  666. def analyze?(enemy_id)
  667.    if $game_party.enemy_info[enemy_id] == 2
  668.      return true
  669.    else
  670.      return false
  671.    end
  672. end
  673. end


  674. class Window_MonsterBook_Info < Window_Base
  675. include Enemy_Book_Config
  676. #--------------------------------------------------------------------------
  677. # ● オブジェクト初期化
  678. #--------------------------------------------------------------------------
  679. def initialize
  680.    super(0, 0+64, 640, 480-64)
  681.    self.back_opacity=255
  682.    self.contents = Bitmap.new(width - 32, height - 32)
  683.    
  684. end
  685. #--------------------------------------------------------------------------
  686. # ● リフレッシュ
  687. #--------------------------------------------------------------------------
  688. def refresh(enemy_id)
  689.    self.contents.clear
  690.    self.contents.font.size = 22
  691.    enemy = Game_Enemy_Book.new(enemy_id)
  692.    @gra = Sprite_Enemy_Graphic.new(nil,enemy)
  693.    @gra.z = 120      #怪物图片
  694.    draw_enemy_book_id(enemy, 4, 0)    #各种详细信息
  695.    draw_enemy_name(enemy, 48, 0)
  696.    draw_actor_hp(enemy, 288, 0)
  697.    draw_actor_sp(enemy, 288+160, 0)
  698.    self.contents.font.size=18
  699.    draw_actor_parameter(enemy, 288    ,  25, 0)
  700.    self.contents.font.color = system_color
  701.    self.contents.draw_text(288+160, 25, 120, 32, EVA_NAME)
  702.    self.contents.font.color = normal_color
  703.    self.contents.draw_text(288+160 + 120, 25, 36, 32, enemy.eva.to_s, 2)
  704.    draw_actor_parameter(enemy, 288    ,  50, 3)
  705.    draw_actor_parameter(enemy, 288+160,  50, 4)
  706.    draw_actor_parameter(enemy, 288    ,  75, 5)
  707.    draw_actor_parameter(enemy, 288+160,  75, 6)
  708.    draw_actor_parameter(enemy, 288    , 100, 1)
  709.    draw_actor_parameter(enemy, 288+160, 100, 2)
  710.    draw_enemy_exp(enemy, 288, 125)
  711.    draw_enemy_gold(enemy, 288+160, 125)
  712.    draw_race(enemy, 288, 150)
  713.    #--------------------------------------------------------------------
  714.    draw_enemy_other(enemy, 0, 280)  #简介文字
  715.    draw_enemy_action(enemy,200, 30)  #显示敌人行动
  716.    draw_actor_element_radar_graph(enemy, 360, 180)#雷达图
  717.    #--------------------------------------------------------------------
  718.    if DROP_ITEM_NEED_ANALYZE==true  #掉落物品
  719.      self.contents.font.color = system_color
  720.         self.contents.font.size=16
  721.      self.contents.draw_text(0, 235, 96, 32, "掉落物品")
  722.      draw_enemy_drop_item(enemy, 128, 235)
  723.      self.contents.font.color = normal_color
  724.         self.contents.font.size=18
  725.       end      
  726.     end
  727. def cl
  728.        @gra.dispose
  729. end
  730. #--------------------------------------------------------------------------
  731. # ● アナライズ済かどうか
  732. #--------------------------------------------------------------------------
  733. def analyze?(enemy_id)
  734.    if $game_party.enemy_info[enemy_id] == 2
  735.      return true
  736.    else
  737.      return false
  738.    end
  739. end
  740. end


  741. class Scene_MonsterBook
  742. include Enemy_Book_Config
  743. #--------------------------------------------------------------------------
  744. # ● メイン処理
  745. #--------------------------------------------------------------------------
  746. def main
  747.    $game_temp.enemy_book_data = Data_MonsterBook.new
  748.    # ウィンドウを作成
  749.    @title_window = Window_Base.new(0, 0, 640, 64)
  750.    @title_window.contents = Bitmap.new(640 - 32, 64 - 32)
  751.    @title_window.contents.draw_text(4, 0, 320, 32, "魔物图鉴", 0)
  752.    if SHOW_COMPLETE_TYPE != 0
  753.      case SHOW_COMPLETE_TYPE
  754.      when 1
  755.        e_now = $game_party.enemy_book_now
  756.        e_max = $game_party.enemy_book_max
  757.        text = e_now.to_s + "/" + e_max.to_s
  758.      when 2
  759.        comp = $game_party.enemy_book_complete_percentage
  760.        text = comp.to_s + "%"
  761.      when 3
  762.        e_now = $game_party.enemy_book_now
  763.        e_max = $game_party.enemy_book_max
  764.        comp = $game_party.enemy_book_complete_percentage
  765.        text = e_now.to_s + "/" + e_max.to_s + " " + comp.to_s + "%"
  766.      end
  767.      if text != nil
  768.        @title_window.contents.draw_text(320, 0, 288, 32,  text, 2)
  769.      end
  770.    end
  771.    @main_window = Window_MonsterBook.new
  772.    @main_window.active = true
  773.    # インフォウィンドウを作成 (不可視?非アクティブに設定)
  774.    @info_window = Window_MonsterBook_Info.new
  775.    @info_window.z = 110
  776.    @info_window.visible = false
  777.    @info_window.active = false
  778.    @visible_index = 0
  779.    # トランジション実行
  780.    Graphics.transition
  781.    # メインループ
  782.    loop do
  783.      # ゲーム画面を更新
  784.      Graphics.update
  785.      # 入力情報を更新
  786.      Input.update
  787.      # フレーム更新
  788.      update
  789.      # 画面が切り替わったらループを中断
  790.      if $scene != self
  791.        break
  792.      end
  793.    end
  794.    # トランジション準備
  795.    Graphics.freeze
  796.    # ウィンドウを解放
  797.    @main_window.dispose
  798.    @info_window.dispose
  799.    @title_window.dispose
  800. end
  801. #--------------------------------------------------------------------------
  802. # ● フレーム更新
  803. #--------------------------------------------------------------------------
  804. def update
  805.    # ウィンドウを更新
  806.    @main_window.update
  807.    @info_window.update
  808. #   gra.update
  809.    if @info_window.active
  810.      update_info
  811.      return
  812.    end
  813.    # メインウィンドウがアクティブの場合: update_target を呼ぶ
  814.    if @main_window.active
  815.      update_main
  816.      return
  817.    end
  818. end
  819. #--------------------------------------------------------------------------
  820. # ● フレーム更新 (メインウィンドウがアクティブの場合)
  821. #--------------------------------------------------------------------------
  822. def update_main
  823.    # B ボタンが押された場合
  824.    if Input.trigger?(Input::B)
  825.      # キャンセル SE を演奏
  826.      $game_system.se_play($data_system.cancel_se)
  827.      $scene = Scene_Menu.new(7)
  828.      return
  829.    end
  830.    # C ボタンが押された場合
  831.    if Input.trigger?(Input::C)
  832.      if @main_window.item == nil or @main_window.show?(@main_window.item) == false
  833.        # ブザー SE を演奏
  834.        $game_system.se_play($data_system.buzzer_se)
  835.        return
  836.      end
  837.      # 決定 SE を演奏
  838.      $game_system.se_play($data_system.decision_se)
  839.      @main_window.active = false
  840.      @info_window.active = true
  841.      @info_window.visible = true
  842.      @visible_index = @main_window.index
  843.      @info_window.refresh(@main_window.item)
  844.      return
  845.    end
  846. end
  847. #--------------------------------------------------------------------------
  848. # ● フレーム更新 (インフォウィンドウがアクティブの場合)
  849. #--------------------------------------------------------------------------
  850. def update_info
  851.    # B ボタンが押された場合
  852.    if Input.trigger?(Input::B)
  853.      # キャンセル SE を演奏
  854.      $game_system.se_play($data_system.cancel_se)
  855.      @main_window.active = true
  856.      @info_window.active = false
  857.      @info_window.visible = false
  858.      @info_window.cl
  859.      return
  860.    end
  861.    # C ボタンが押された場合
  862.    if Input.trigger?(Input::C)
  863.      # 決定 SE を演奏
  864.      #$game_system.se_play($data_system.decision_se)
  865.      return
  866.    end
  867.    if Input.trigger?(Input::L)
  868.      # 決定 SE を演奏
  869.      $game_system.se_play($data_system.decision_se)
  870.      loop_end = false
  871.      while loop_end == false
  872.        if @visible_index != 0
  873.          @visible_index -= 1
  874.        else
  875.          @visible_index = @main_window.data.size - 1
  876.        end
  877.        loop_end = true if @main_window.show?(@main_window.data[@visible_index])
  878.      end
  879.      id = @main_window.data[@visible_index]
  880.      @info_window.refresh(id)
  881.      return
  882.    end
  883.    if Input.trigger?(Input::R)
  884.      # 決定 SE を演奏
  885.      $game_system.se_play($data_system.decision_se)
  886.      loop_end = false
  887.      while loop_end == false
  888.        if @visible_index != @main_window.data.size - 1
  889.          @visible_index += 1
  890.        else
  891.          @visible_index = 0
  892.        end
  893.        loop_end = true if @main_window.show?(@main_window.data[@visible_index])
  894.      end
  895.      id = @main_window.data[@visible_index]
  896.      @info_window.refresh(id)
  897.      return
  898.    end
  899. end
  900. end
  901. #==================================================================
  902. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  903. #==================================================================
  904. class Sprite_Enemy_Graphic< Sprite
  905.   attr_accessor :enemy
  906.   #--------------------------------------------------------------------------
  907.   # ● オブジェクト初期化
  908.   #--------------------------------------------------------------------------
  909.   def initialize(viewport,enemy)
  910.     super(viewport)
  911.     if @enemy != enemy
  912.    #  self.bitmap = RPG::Cache.battler(enemy.battler_name, enemy.battler_hue)
  913.   self.bitmap = RPG::Cache.battler(enemy.battler_name+"_1", enemy.battler_hue)
  914.       cw = self.bitmap.width
  915.       ch = self.bitmap.height
  916.     if cw>ch
  917.      self.zoom_x=150.0/cw
  918.      self.zoom_y=150.0/cw
  919.    else
  920.      self.zoom_x=150.0/ch
  921.      self.zoom_y=150.0/ch     
  922.    end
  923.      self.x=10
  924.      self.y=110
  925.       @enemy=enemy
  926.     end
  927.   end
  928.   #--------------------------------------------------------------------------
  929.   # ● 解放
  930.   #--------------------------------------------------------------------------
  931.   def dispose
  932.     if self.bitmap != nil
  933.       self.bitmap.dispose
  934.     end
  935.     super
  936.   end
  937.   #--------------------------------------------------------------------------
  938.   # ● フレーム更新
  939.   #--------------------------------------------------------------------------
  940.   def refresh(enemy)
  941.   end
  942. end
复制代码
在使用道具查看道具的时候都有一定几率报错,报错后删一次怪物图鉴脚本就好了,在把怪物图鉴脚本加上就没事了。
或者有时候把得到道具,查看道具的事件复制一下,把原先的删除,处触发复制后的事件有时候也可以。
真是不知道怎么办好了。请求各位指点!谢谢!

点评

=_=||| 丢工程是叫你把工程丢到论坛上来,方便我们为你分析。  发表于 2010-10-19 12:23
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-2 11:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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