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

Project1

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

[已经解决] 过路的不要看 自己找到毛病了 直接结贴

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
58 小时
注册时间
2007-8-10
帖子
284
跳转到指定楼层
1
发表于 2011-3-7 11:20:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 卓越大白痴 于 2011-3-7 15:17 编辑

就是说 数据库里怪物 属性上线都是999 我想要更高[脚本和使用方法]
以前貌似有这个现在找不到了
恳请各位大侠帮忙 谢谢了


下面那个怪物图签有毛病 帮忙看看那儿的是
class Game_Enemy_Book < Game_Enemy
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize(enemy_id)
   super(2)#ダミー
   @enemy_id = enemy_id
   enemy = $data_enemies[@enemy_id]
   @battler_name = enemy.battler_name
   @battler_hue = enemy.battler_hue
   @hp = maxhp
   @sp = maxsp
end
end
这地方老出错 谢谢

Lv3.寻梦者

酱油的

梦石
0
星屑
1030
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

2
发表于 2011-3-7 11:47:40 | 只看该作者
置頂……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
58 小时
注册时间
2007-8-10
帖子
284
3
 楼主| 发表于 2011-3-7 12:14:34 | 只看该作者
偶像说的不对 使用方法的不会

点评

别找错,是这个:http://www.66rpg.com/htm/news688.htm  发表于 2011-3-7 12:21
那图文并茂的修改方法……这么详细也不会,我也没有更好的建议了  发表于 2011-3-7 12:20
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
58 小时
注册时间
2007-8-10
帖子
284
4
 楼主| 发表于 2011-3-7 14:43:10 | 只看该作者
本帖最后由 卓越大白痴 于 2011-3-7 15:08 编辑

能修改这个怪物图签系统吗
  1. #================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #===================================================================
  4. #——————————————————————————————————————
  5. #魔物图鉴+介绍
  6. #
  7. #战斗终了时自动添加敌人进入图鉴(class Scene_Battle start_phase5 追加。

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

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

  18. #如果你做了修改请自行改动380行左右的for i in 9..16这一句代码
  19. #显示各种信息位于630行左右,想不显示的话只要删除相应语句
  20. CHARA_INFO=[]#怪物的介绍,对应怪物id,空格为换行,

  21. #同时也会自动换行,没有写介绍的怪物会自动显示“无详细信息”
  22. CHARA_INFO[1] = "怪物介绍1"
  23. CHARA_INFO[2] = "怪物介绍2"
  24. CHARA_INFO[3] = "生活在潮湿的沼泽地区的变异生物,性情凶暴,经常会袭击各种路过的生物"
  25. CHARA_INFO[60] = "莱尔的监护人,魔族兰蒂家的前任族长。似乎与狄恩有着不寻常的关系。为了寻找自己的身世来到了人族。"
  26. CHARA_INFO[61] = "自称为无害的吟游诗人,却拥有与吟游诗人不相称的敏捷身手。真实身份似乎至今仍然是谜题。"
  27. CHARA_INFO[62] = "被神王派遣来监视艾瑞斯的人。平日沉默寡言,总是守护在艾瑞斯身旁。但他的真实想法是……"
  28. #没有信息测试,4号怪物
  29. #=============
  30. #雷达图相关处理部分
  31. #=============
  32. class Bitmap
  33. def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
  34. distance = (start_x - end_x).abs + (start_y - end_y).abs
  35. if end_color == start_color
  36. for i in 1..distance
  37. x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
  38. y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
  39. if width == 1
  40. self.set_pixel(x, y, start_color)
  41. else
  42. self.fill_rect(x, y, width, width, start_color)
  43. end
  44. end
  45. else
  46. for i in 1..distance
  47. x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
  48. y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
  49. r = start_color.red * (distance-i)/distance + end_color.red * i/distance
  50. g = start_color.green * (distance-i)/distance + end_color.green * i/distance
  51. b = start_color.blue * (distance-i)/distance + end_color.blue * i/distance
  52. a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance
  53. if width == 1
  54. self.set_pixel(x, y, Color.new(r, g, b, a))
  55. else
  56. self.fill_rect(x, y, width, width, Color.new(r, g, b, a))
  57. end
  58. end
  59. end
  60. end
  61. end
  62. #=============
  63. # Graphic_Def_Elem
  64. #=============
  65. class Window_Base
  66. FONT_SIZE = 18
  67. WORD_ELEMENT_GUARD = "属性有效度"
  68. NUMBER_OF_ELEMENTS = 8
  69. ELEMENT_ORDER = [1,3,8,5,2,4,7,6]
  70. GRAPH_SCALINE_COLOR = Color.new(255, 255, 255, 128)
  71. GRAPH_SCALINE_COLOR_SHADOW = Color.new( 0, 0, 0, 192)
  72. GRAPH_LINE_COLOR = Color.new(255, 255, 64, 255)
  73. GRAPH_LINE_COLOR_MINUS = Color.new( 64, 255, 255, 255)
  74. GRAPH_LINE_COLOR_PLUS = Color.new(255, 64, 64, 255)
  75. end

  76. #——————————————————————————————————————
  77. module Enemy_Book_Config
  78. DROP_ITEM_NEED_ANALYZE = true #显示物品
  79. EVA_NAME = "回避"              #回避修正的名称(因为数据库中没有定义)
  80. SHOW_COMPLETE_TYPE = 2         #图鉴完成率表示方法
  81. end
  82. class Data_MonsterBook
  83. #--------------------------------------------------------------------------
  84. # ● 图鉴用ID設定
  85. #--------------------------------------------------------------------------
  86. def enemy_book_id_set
  87.    data = [0]
  88.    data[1] = 2
  89.    data[2] = 1
  90.    data[3] = 15
  91.    data[4] = 25
  92.    data[5] = 18
  93.    data[6] = 30
  94.    return data
  95. end
  96. end
  97. class Game_Temp
  98. attr_accessor :enemy_book_data
  99. alias temp_enemy_book_data_initialize initialize
  100. def initialize
  101.    temp_enemy_book_data_initialize
  102.    @enemy_book_data = Data_MonsterBook.new
  103. end
  104. end

  105. class Game_Party
  106. #==============================================
  107. #--------------------------------------------------------------------------
  108.   # ● 公開インスタンス変数
  109.   #--------------------------------------------------------------------------
  110.   attr_reader   :actors                   # アクター
  111.   attr_reader   :gold                     # ゴールド
  112.   attr_reader   :steps                    # 歩数
  113.   attr_accessor :mission                  # 任务★★★★★★★★★★★★★
  114.   attr_accessor   :pr                  # 当前章节数★★★★★★★★★★★★★
  115.   attr_reader   :prname
  116.   #--------------------------------------------------------------------------
  117.   # ● オブジェクト初期化
  118.   #--------------------------------------------------------------------------
  119. # def initialize
  120.     # アクターの配列を作成
  121. #   @actors = []
  122.     # ゴールドと歩数を初期化
  123. #   @gold = 0
  124. #   @steps = 0
  125.     # アイテム、武器、防具の所持数ハッシュを作成
  126. #   @items = {}
  127. #   @weapons = {}
  128. #   @armors = {}
  129. # end
  130. #==============================================
  131. attr_accessor :enemy_info               # 出会った敵情報(図鑑用)

  132. #--------------------------------------------------------------------------
  133. # ● オブジェクト初期化
  134. #--------------------------------------------------------------------------
  135. alias book_info_initialize initialize
  136. def initialize
  137.    book_info_initialize
  138.    @enemy_info = {}
  139. end

  140. #--------------------------------------------------------------------------
  141. # ● エネミー情報の追加(図鑑用)
  142. #     type : 通常遭遇かアナライズか 0:通常 1:アナライズ -1:情報削除
  143. #     0:無遭遇 1:遭遇済 2:アナライズ済
  144. #--------------------------------------------------------------------------
  145. def add_enemy_info(enemy_id, type = 0)
  146.    case type
  147.    when 0
  148.      if @enemy_info[enemy_id] == 2
  149.        return false
  150.      end
  151.      @enemy_info[enemy_id] = 1
  152.    when 1
  153.      @enemy_info[enemy_id] = 2
  154.    when -1
  155.      @enemy_info[enemy_id] = 0
  156.    end
  157. end
  158. #--------------------------------------------------------------------------
  159. # ● 魔物図鑑の最大登録数を取得
  160. #--------------------------------------------------------------------------
  161. def enemy_book_max
  162.    return $game_temp.enemy_book_data.id_data.size - 1
  163. end
  164. #--------------------------------------------------------------------------
  165. # ● 魔物図鑑の現在登録数を取得
  166. #--------------------------------------------------------------------------
  167. def enemy_book_now
  168.    now_enemy_info = @enemy_info.keys
  169.    # 登録無視の属性IDを取得
  170.    no_add = $game_temp.enemy_book_data.no_add_element
  171.    new_enemy_info = []
  172.    for i in now_enemy_info
  173.      enemy = $data_enemies[i]
  174.      next if enemy.name == ""
  175.      if enemy.element_ranks[no_add] == 1
  176.        next
  177.      end
  178.      new_enemy_info.push(enemy.id)
  179.    end
  180.    return new_enemy_info.size
  181. end
  182. #--------------------------------------------------------------------------
  183. # ● 魔物図鑑の完成率を取得
  184. #--------------------------------------------------------------------------
  185. def enemy_book_complete_percentage
  186.    e_max = enemy_book_max.to_f
  187.    e_now = enemy_book_now.to_f
  188.    comp = e_now / e_max * 100
  189.    return comp.truncate
  190. end
  191. end

  192. class Interpreter
  193. def enemy_book_max
  194.    return $game_party.enemy_book_max
  195. end
  196. def enemy_book_now
  197.    return $game_party.enemy_book_now
  198. end
  199. def enemy_book_comp
  200.    return $game_party.enemy_book_complete_percentage
  201. end
  202. end

  203. class Window_Base < Window
  204. #--------------------------------------------------------------------------
  205. # ● エネミーの戦闘後獲得アイテムの描画
  206. #--------------------------------------------------------------------------
  207. def draw_enemy_drop_item(enemy, x, y)
  208.    self.contents.font.color = normal_color
  209.    treasures = []
  210.    if enemy.item_id > 0
  211.      treasures.push($data_items[enemy.item_id])
  212.    end
  213.    if enemy.weapon_id > 0
  214.      treasures.push($data_weapons[enemy.weapon_id])
  215.    end
  216.    if enemy.armor_id > 0
  217.      treasures.push($data_armors[enemy.armor_id])
  218.    end
  219.    # 現状ではとりあえず1つのみ描画
  220.    if treasures.size > 0
  221.      item = treasures[0]
  222.      bitmap = RPG::Cache.icon(item.icon_name)
  223.      opacity = 255
  224.      self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  225.      name = treasures[0].name
  226.    else
  227.      self.contents.font.color = disabled_color
  228.      name = "无"
  229.    end
  230.    self.contents.draw_text(x+28, y, 212, 32, name)
  231. end
  232. #--------------------------------------------------------------------------
  233. # ● エネミーの図鑑IDの描画
  234. #--------------------------------------------------------------------------
  235. def draw_enemy_book_id(enemy, x, y)
  236.    self.contents.font.color = normal_color
  237.    id = $game_temp.enemy_book_data.id_data.index(enemy.id)
  238.    self.contents.draw_text(x, y, 32, 32, id.to_s)
  239. end
  240. #--------------------------------------------------------------------------
  241. # ● 敌人简介描绘
  242. #--------------------------------------------------------------------------
  243. def draw_enemy_other(enemy, x, y)
  244.    if CHARA_INFO[enemy.id]==nil
  245.     CHARA_INFO[enemy.id] = "没有相关资料"
  246.   end
  247.    self.contents.font.size=16
  248.    x+=self.contents.text_size("").width
  249.    info = CHARA_INFO[enemy.id]
  250.    s=info.scan(/./)
  251.     #一行显示21个字
  252.     for i in s
  253.       sss = self.contents.text_size(i)
  254.      
  255.       if  i==" "
  256.         y+=16
  257.         x=0
  258.       elsif (x+sss.width)>(width - 32-260)
  259.         y+=16
  260.         x=0
  261.         self.contents.draw_text(x, y, sss.width, sss.height, i)
  262.         x+=sss.width
  263.       else
  264.       self.contents.draw_text(x, y, sss.width, sss.height, i)
  265.       x+=sss.width
  266.       end
  267.     end
  268.   end
  269.    #--------------------------------------------------------------------------
  270. # ● 敌人特技描绘
  271. #--------------------------------------------------------------------------
  272. def draw_enemy_action(enemy, x, y)
  273.    self.contents.font.size=16
  274.    yy=y
  275.    self.contents.font.color = system_color
  276.    self.contents.draw_text(x, yy, 80, 18,"行动列表")
  277.    self.contents.font.color = normal_color
  278.    for action in enemy.actions
  279.      yy+=18
  280.      if action.kind==0
  281.        case action.basic
  282.         when 0
  283.           ac="普通攻击"
  284.         when 1
  285.           ac="防御"
  286.         when 2
  287.           ac="逃跑"
  288.         when 3
  289.           ac="无"
  290.         end
  291.      self.contents.draw_text(x, yy, 160, 18, ac )
  292.      end
  293.      if action.kind==1
  294.      self.contents.draw_text(x, yy, 160, 18, $data_skills[action.skill_id].name )
  295.      end
  296.    end
  297. end
  298. #雷达图描绘
  299.   #===================================================================
  300.   def draw_actor_element_radar_graph(actor, x, y)
  301.     radius = 56
  302. cx = x + radius + FONT_SIZE + 48
  303. cy = y + radius + FONT_SIZE + 32
  304. self.contents.font.color = system_color
  305. self.contents.draw_text(x, y, 104, 32, WORD_ELEMENT_GUARD)
  306. for loop_i in 0..NUMBER_OF_ELEMENTS
  307. if loop_i == 0

  308. else
  309. @pre_x = @now_x
  310. @pre_y = @now_y
  311. @pre_ex = @now_ex
  312. @pre_ey = @now_ey
  313. @color1 = @color2
  314. end
  315. if loop_i == NUMBER_OF_ELEMENTS
  316. eo = ELEMENT_ORDER[0]
  317. else
  318. eo = ELEMENT_ORDER[loop_i]
  319. end
  320. er = actor.element_rate(eo)
  321. estr = $data_system.elements[eo]
  322. @color2 = er < 0 ? GRAPH_LINE_COLOR_MINUS : er > 100 ? GRAPH_LINE_COLOR_PLUS : GRAPH_LINE_COLOR
  323. if er <0
  324.   then xsh=true
  325. else xsh=false
  326. end
  327. er = er.abs
  328. th = Math::PI * (0.5 - 2.0 * loop_i / NUMBER_OF_ELEMENTS)
  329. @now_x = cx + (radius * Math.cos(th)).floor
  330. @now_y = cy - (radius * Math.sin(th)).floor
  331. @now_wx = cx + ((radius+FONT_SIZE*2/2) * Math.cos(th)).floor - FONT_SIZE
  332. @now_wy = cy - ((radius+FONT_SIZE*1/2) * Math.sin(th)).floor - FONT_SIZE/2
  333. @now_vx = cx + ((radius+FONT_SIZE*6/2) * Math.cos(th)).floor - FONT_SIZE
  334. @now_vy = cy - ((radius+FONT_SIZE*3/2) * Math.sin(th)).floor - FONT_SIZE/2
  335. @now_ex = cx + (er*radius/100 * Math.cos(th)).floor
  336. @now_ey = cy - (er*radius/100 * Math.sin(th)).floor
  337. if loop_i == 0
  338. @pre_x = @now_x
  339. @pre_y = @now_y
  340. @pre_ex = @now_ex
  341. @pre_ey = @now_ey
  342. @color1 = @color2
  343. else

  344. end
  345. next if loop_i == 0
  346. self.contents.draw_line(cx+1,cy+1, @now_x+1,@now_y+1, GRAPH_SCALINE_COLOR_SHADOW)
  347. self.contents.draw_line(@pre_x+1,@pre_y+1, @now_x+1,@now_y+1, GRAPH_SCALINE_COLOR_SHADOW)
  348. self.contents.draw_line(cx,cy, @now_x,@now_y, GRAPH_SCALINE_COLOR)
  349. self.contents.draw_line(@pre_x,@pre_y, @now_x,@now_y, GRAPH_SCALINE_COLOR)
  350. self.contents.draw_line(@pre_ex,@pre_ey, @now_ex,@now_ey, @color1, 2, @color2)
  351. self.contents.font.size = FONT_SIZE
  352. if xsh == true
  353.   then self.contents.font.color = Color.new(100,255,128,128)
  354.   sdd="-"
  355. else self.contents.font.color = system_color
  356.   sdd=""
  357. end
  358. self.contents.draw_text(@now_wx,@now_wy, FONT_SIZE*2, FONT_SIZE, estr, 1)
  359. self.contents.font.color = Color.new(255,255,255,128)
  360. self.contents.draw_text(@now_vx,@now_vy, FONT_SIZE*2, FONT_SIZE, sdd+er.to_s + "%", 2)
  361. end
  362. end
  363. #_----------------------------------------------
  364. def draw_race(enemy,x,y)
  365.       text="无"
  366.       text2="无"
  367.       for i in 9..16
  368.         if enemy.element_rate(i) == 200
  369.         text = $data_system.elements[i]
  370.         end
  371.         if enemy.element_rate(i) == 150
  372.         text2 =$data_system.elements[i]
  373.         end
  374.       end
  375.       self.contents.font.color = system_color
  376.       self.contents.draw_text(x, y, 80, 32,"主要种族")
  377.       self.contents.font.color = normal_color
  378.       self.contents.draw_text(x+80, y, 76, 32,text,2)
  379.       self.contents.font.color = system_color
  380.       self.contents.draw_text(x+160, y, 80, 32,"次要种族")
  381.       self.contents.font.color = normal_color
  382.       self.contents.draw_text(x+80+160, y, 76, 32,text2,2)
  383. end

  384. #--------------------------------------------------------------------------
  385. # ● エネミーの名前の描画
  386. #     enemy : エネミー
  387. #     x     : 描画先 X 座標
  388. #     y     : 描画先 Y 座標
  389. #--------------------------------------------------------------------------
  390. def draw_enemy_name(enemy, x, y)
  391.    self.contents.font.color = normal_color
  392.    self.contents.draw_text(x, y, 152, 32, enemy.name)
  393. end
  394. #--------------------------------------------------------------------------
  395. # ● エネミーグラフィックの描画(アナライズ)
  396. #     enemy : エネミー
  397. #     x     : 描画先 X 座標
  398. #     y     : 描画先 Y 座標
  399. #--------------------------------------------------------------------------
  400. def draw_enemy_graphic(enemy, x, y, opacity = 255)

  401. end
  402. #--------------------------------------------------------------------------
  403. # ● エネミーの獲得EXPの描画
  404. #     enemy : エネミー
  405. #     x     : 描画先 X 座標
  406. #     y     : 描画先 Y 座標
  407. #--------------------------------------------------------------------------
  408. def draw_enemy_exp(enemy, x, y)
  409.    self.contents.font.color = system_color
  410.    self.contents.draw_text(x, y, 120, 32, "EXP")
  411.    self.contents.font.color = normal_color
  412.    self.contents.draw_text(x + 120, y, 36, 32, enemy.exp.to_s, 2)
  413. end
  414. #--------------------------------------------------------------------------
  415. # ● エネミーの獲得GOLDの描画
  416. #     enemy : エネミー
  417. #     x     : 描画先 X 座標
  418. #     y     : 描画先 Y 座標
  419. #--------------------------------------------------------------------------
  420. def draw_enemy_gold(enemy, x, y)
  421.    self.contents.font.color = system_color
  422.    self.contents.draw_text(x, y, 120, 32, "掉落金钱")
  423.    self.contents.font.color = normal_color
  424.    self.contents.draw_text(x + 120, y, 36, 32, enemy.gold.to_s, 2)
  425. end
  426. end

  427. class Game_Enemy_Book < Game_Enemy
  428. #--------------------------------------------------------------------------
  429. # ● オブジェクト初期化
  430. #--------------------------------------------------------------------------
  431. def initialize(enemy_id)
  432.    super(2)#ダミー
  433.    @enemy_id = enemy_id
  434.    enemy = $data_enemies[@enemy_id]
  435.    @battler_name = enemy.battler_name
  436.    @battler_hue = enemy.battler_hue
  437.    @hp = maxhp
  438.    @sp = maxsp
  439. end
  440. end

  441. class Data_MonsterBook
  442. attr_reader :id_data
  443. #--------------------------------------------------------------------------
  444. # ● オブジェクト初期化
  445. #--------------------------------------------------------------------------
  446. def initialize
  447.    @id_data = enemy_book_id_set
  448. end
  449. #--------------------------------------------------------------------------
  450. # ● 図鑑用登録無視属性取得
  451. #--------------------------------------------------------------------------
  452. def no_add_element
  453.    no_add = 0
  454.    # 登録無視の属性IDを取得
  455.    for i in 1...$data_system.elements.size
  456.      if $data_system.elements[i] =~ /不加入图鉴/
  457.        no_add = i
  458.        break
  459.      end
  460.    end
  461.    return no_add
  462. end
  463. #--------------------------------------------------------------------------
  464. # ● 図鑑用敵ID設定
  465. #--------------------------------------------------------------------------
  466. def enemy_book_id_set
  467.    data = [0]
  468.    no_add = no_add_element
  469.    # 登録無視の属性IDを取得
  470.    for i in 1...$data_enemies.size
  471.      enemy = $data_enemies[i]
  472.      next if enemy.name == ""
  473.      if enemy.element_ranks[no_add] == 1
  474.        next
  475.      end
  476.      data.push(enemy.id)
  477.    end
  478.    return data
  479. end
  480. end


  481. class Window_MonsterBook < Window_Selectable
  482. attr_reader   :data
  483. #--------------------------------------------------------------------------
  484. # ● オブジェクト初期化
  485. #--------------------------------------------------------------------------
  486. def initialize(index=0)
  487.    super(0, 64, 640, 416)
  488.    @column_max = 2
  489.    @book_data = $game_temp.enemy_book_data
  490.    @data = @book_data.id_data.dup
  491.    @data.shift
  492.    #@data.sort!
  493.    @item_max = @data.size
  494.    self.index = 0
  495.    refresh if @item_max > 0
  496. end
  497. #--------------------------------------------------------------------------
  498. # ● 遭遇データを取得
  499. #--------------------------------------------------------------------------
  500. def data_set
  501.    data = $game_party.enemy_info.keys
  502.    data.sort!
  503.    newdata = []
  504.    for i in data
  505.      next if $game_party.enemy_info[i] == 0
  506.      # 図鑑登録無視を考慮
  507.      if book_id(i) != nil
  508.        newdata.push(i)
  509.      end
  510.    end
  511.    return newdata
  512. end
  513. #--------------------------------------------------------------------------
  514. # ● 表示許可取得
  515. #--------------------------------------------------------------------------
  516. def show?(id)
  517.    if $game_party.enemy_info[id] == 0 or $game_party.enemy_info[id] == nil
  518.      return false
  519.    else
  520.      return true
  521.    end
  522. end
  523. #--------------------------------------------------------------------------
  524. # ● 図鑑用ID取得
  525. #--------------------------------------------------------------------------
  526. def book_id(id)
  527.    return @book_data.index(id)
  528. end
  529. #--------------------------------------------------------------------------
  530. # ● エネミー取得
  531. #--------------------------------------------------------------------------
  532. def item
  533.    return @data[self.index]
  534. end
  535. #--------------------------------------------------------------------------
  536. # ● リフレッシュ
  537. #--------------------------------------------------------------------------
  538. def refresh
  539.    if self.contents != nil
  540.      self.contents.dispose
  541.      self.contents = nil
  542.    end
  543.    self.contents = Bitmap.new(width - 32, row_max * 32)
  544.    #項目数が 0 でなければビットマップを作成し、全項目を描画
  545.    if @item_max > 0
  546.      for i in 0...@item_max
  547.       draw_item(i)
  548.      end
  549.    end
  550. end
  551. #--------------------------------------------------------------------------
  552. # ● 項目の描画
  553. #     index : 項目番号
  554. #--------------------------------------------------------------------------
  555. def draw_item(index)
  556.    enemy = $data_enemies[@data[index]]
  557.    return if enemy == nil
  558.    x = 4 + index % 2 * (288 + 32)
  559.    y = index / 2 * 32
  560.    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
  561.    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  562.    self.contents.font.color = normal_color
  563.    draw_enemy_book_id(enemy, x, y)
  564.    if show?(enemy.id)
  565.      self.contents.draw_text(x + 28+16, y, 212, 32, enemy.name, 0)
  566.    else
  567.      self.contents.draw_text(x + 28+16, y, 212, 32, "-----", 0)
  568.      return
  569.    end
  570.    if analyze?(@data[index])
  571.      self.contents.font.color = text_color(3)
  572.      self.contents.draw_text(x + 256, y, 24, 32, "済", 2)
  573.    end
  574. end
  575. #--------------------------------------------------------------------------
  576. # ● アナライズ済かどうか
  577. #--------------------------------------------------------------------------
  578. def analyze?(enemy_id)
  579.    if $game_party.enemy_info[enemy_id] == 2
  580.      return true
  581.    else
  582.      return false
  583.    end
  584. end
  585. end


  586. class Window_MonsterBook_Info < Window_Base
  587. include Enemy_Book_Config
  588. #--------------------------------------------------------------------------
  589. # ● オブジェクト初期化
  590. #--------------------------------------------------------------------------
  591. def initialize
  592.    super(0, 0+64, 640, 480-64)
  593.    self.back_opacity=255
  594.    self.contents = Bitmap.new(width - 32, height - 32)
  595.   
  596. end
  597. #--------------------------------------------------------------------------
  598. # ● リフレッシュ
  599. #--------------------------------------------------------------------------
  600. def refresh(enemy_id)
  601.    self.contents.clear
  602.    self.contents.font.size = 22
  603.    enemy = Game_Enemy_Book.new(enemy_id)
  604.    @gra = Sprite_Enemy_Graphic.new(nil,enemy)
  605.    @gra.z = 110      #怪物图片
  606.    draw_enemy_book_id(enemy, 4, 0)    #各种详细信息
  607.    draw_enemy_name(enemy, 48, 0)
  608.    draw_actor_hp(enemy, 288, 0)
  609.    draw_actor_sp(enemy, 288+160, 0)
  610.    self.contents.font.size=18
  611.    draw_actor_parameter(enemy, 288    ,  25, 0)
  612.    draw_actor_parameter(enemy, 288+160, 25, 7)
  613. #  self.contents.font.color = system_color
  614. #  self.contents.draw_text(288+160, 25, 120, 32, EVA_NAME)
  615. #  self.contents.font.color = normal_color
  616. #  self.contents.draw_text(288+160 + 120, 25, 36, 32, enemy.eva.to_s, 2)
  617.    draw_actor_parameter(enemy, 288    ,  50, 3)
  618.    draw_actor_parameter(enemy, 288+160,  50, 4)
  619.    draw_actor_parameter(enemy, 288    ,  75, 5)
  620.    draw_actor_parameter(enemy, 288+160,  75, 6)
  621.    draw_actor_parameter(enemy, 288    , 100, 1)
  622.    draw_actor_parameter(enemy, 288+160, 100, 2)
  623.    draw_enemy_exp(enemy, 288, 125)
  624.    draw_enemy_gold(enemy, 288+160, 125)
  625.    draw_race(enemy, 288, 150)
  626.    #--------------------------------------------------------------------
  627.    draw_enemy_other(enemy, 0, 280)  #简介文字
  628.    draw_enemy_action(enemy,200, 30)  #显示敌人行动
  629.    draw_actor_element_radar_graph(enemy, 360, 180)#雷达图
  630.    #--------------------------------------------------------------------
  631.    if DROP_ITEM_NEED_ANALYZE==true  #掉落物品
  632.      self.contents.font.color = system_color
  633.         self.contents.font.size=16
  634.      self.contents.draw_text(0, 235, 96, 32, "掉落物品")
  635.      draw_enemy_drop_item(enemy, 128, 235)
  636.      self.contents.font.color = normal_color
  637.         self.contents.font.size=18
  638.       end     
  639.     end
  640. def cl
  641.        @gra.dispose
  642. end
  643. #--------------------------------------------------------------------------
  644. # ● アナライズ済かどうか
  645. #--------------------------------------------------------------------------
  646. def analyze?(enemy_id)
  647.    if $game_party.enemy_info[enemy_id] == 2
  648.      return true
  649.    else
  650.      return false
  651.    end
  652. end
  653. end


  654. class Scene_MonsterBook
  655. include Enemy_Book_Config
  656. #--------------------------------------------------------------------------
  657. # ● メイン処理
  658. #--------------------------------------------------------------------------
  659. def main
  660.    $game_temp.enemy_book_data = Data_MonsterBook.new
  661.    # ウィンドウを作成
  662.    @title_window = Window_Base.new(0, 0, 640, 64)
  663.    @title_window.contents = Bitmap.new(640 - 32, 64 - 32)
  664.    @title_window.contents.draw_text(4, 0, 320, 32, "魔物图鉴", 0)
  665.    if SHOW_COMPLETE_TYPE != 0
  666.      case SHOW_COMPLETE_TYPE
  667.      when 1
  668.        e_now = $game_party.enemy_book_now
  669.        e_max = $game_party.enemy_book_max
  670.        text = e_now.to_s + "/" + e_max.to_s
  671.      when 2
  672.        comp = $game_party.enemy_book_complete_percentage
  673.        text = comp.to_s + "%"
  674.      when 3
  675.        e_now = $game_party.enemy_book_now
  676.        e_max = $game_party.enemy_book_max
  677.        comp = $game_party.enemy_book_complete_percentage
  678.        text = e_now.to_s + "/" + e_max.to_s + " " + comp.to_s + "%"
  679.      end
  680.      if text != nil
  681.        @title_window.contents.draw_text(320, 0, 288, 32,  text, 2)
  682.      end
  683.    end
  684.    @main_window = Window_MonsterBook.new
  685.    @main_window.active = true
  686.    # インフォウィンドウを作成 (不可視・非アクティブに設定)
  687.    @info_window = Window_MonsterBook_Info.new
  688.    @info_window.z = 110
  689.    @info_window.visible = false
  690.    @info_window.active = false
  691.    @visible_index = 0
  692.    # トランジション実行
  693.    Graphics.transition
  694.    # メインループ
  695.    loop do
  696.      # ゲーム画面を更新
  697.      Graphics.update
  698.      # 入力情報を更新
  699.      Input.update
  700.      # フレーム更新
  701.      update
  702.      # 画面が切り替わったらループを中断
  703.      if $scene != self
  704.        break
  705.      end
  706.    end
  707.    # トランジション準備
  708.    Graphics.freeze
  709.    # ウィンドウを解放
  710.    @main_window.dispose
  711.    @info_window.dispose
  712.    @title_window.dispose
  713. end
  714. #--------------------------------------------------------------------------
  715. # ● フレーム更新
  716. #--------------------------------------------------------------------------
  717. def update
  718.    # ウィンドウを更新
  719.    @main_window.update
  720.    @info_window.update
  721. #   gra.update
  722.    if @info_window.active
  723.      update_info
  724.      return
  725.    end
  726.    # メインウィンドウがアクティブの場合: update_target を呼ぶ
  727.    if @main_window.active
  728.      update_main
  729.      return
  730.    end
  731. end
  732. #--------------------------------------------------------------------------
  733. # ● フレーム更新 (メインウィンドウがアクティブの場合)
  734. #--------------------------------------------------------------------------
  735. def update_main
  736.    # B ボタンが押された場合
  737.    if Input.trigger?(Input::B)
  738.      # キャンセル SE を演奏
  739.      $game_system.se_play($data_system.cancel_se)
  740.      $scene = Scene_Map.new
  741.      return
  742.    end
  743.    # C ボタンが押された場合
  744.    if Input.trigger?(Input::C)
  745.      if @main_window.item == nil or @main_window.show?(@main_window.item) == false
  746.        # ブザー SE を演奏
  747.        $game_system.se_play($data_system.buzzer_se)
  748.        return
  749.      end
  750.      # 決定 SE を演奏
  751.      $game_system.se_play($data_system.decision_se)
  752.      @main_window.active = false
  753.      @info_window.active = true
  754.      @info_window.visible = true
  755.      @visible_index = @main_window.index
  756.      @info_window.refresh(@main_window.item)
  757.      return
  758.    end
  759. end
  760. #--------------------------------------------------------------------------
  761. # ● フレーム更新 (インフォウィンドウがアクティブの場合)
  762. #--------------------------------------------------------------------------
  763. def update_info
  764.    # B ボタンが押された場合
  765.    if Input.trigger?(Input::B)
  766.      # キャンセル SE を演奏
  767.      $game_system.se_play($data_system.cancel_se)
  768.      @main_window.active = true
  769.      @info_window.active = false
  770.      @info_window.visible = false
  771.      @info_window.cl
  772.      return
  773.    end
  774.    # C ボタンが押された場合
  775.    if Input.trigger?(Input::C)
  776.      # 決定 SE を演奏
  777.      #$game_system.se_play($data_system.decision_se)
  778.      return
  779.    end
  780.    if Input.trigger?(Input::L)
  781.      # 決定 SE を演奏
  782.      $game_system.se_play($data_system.decision_se)
  783.      loop_end = false
  784.      while loop_end == false
  785.        if @visible_index != 0
  786.          @visible_index -= 1
  787.        else
  788.          @visible_index = @main_window.data.size - 1
  789.        end
  790.        loop_end = true if @main_window.show?(@main_window.data[@visible_index])
  791.      end
  792.      id = @main_window.data[@visible_index]
  793.      @info_window.cl
  794.      @info_window.refresh(id)
  795.      return
  796.    end
  797.    if Input.trigger?(Input::R)
  798.      # 決定 SE を演奏
  799.      $game_system.se_play($data_system.decision_se)
  800.      loop_end = false
  801.      while loop_end == false
  802.        if @visible_index != @main_window.data.size - 1
  803.          @visible_index += 1
  804.        else
  805.          @visible_index = 0
  806.        end
  807.        loop_end = true if @main_window.show?(@main_window.data[@visible_index])
  808.      end
  809.      id = @main_window.data[@visible_index]
  810.      @info_window.cl
  811.      @info_window.refresh(id)
  812.      return
  813.    end
  814. end
  815. end
  816. #==================================================================
  817. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  818. #==================================================================
  819. class Sprite_Enemy_Graphic< Sprite
  820.   attr_accessor :enemy
  821.   #--------------------------------------------------------------------------
  822.   # ● オブジェクト初期化
  823.   #--------------------------------------------------------------------------
  824.   def initialize(viewport,enemy)
  825.     super(viewport)
  826.     if @enemy != enemy
  827.       self.bitmap = RPG::Cache.battler(enemy.battler_name, enemy.battler_hue)
  828.       cw = self.bitmap.width
  829.       ch = self.bitmap.height
  830.   #  if cw>ch
  831.   #   self.zoom_x=200.0/cw
  832.   #   self.zoom_y=200.0/cw
  833.   # else
  834.   #   self.zoom_x=200.0/ch
  835.   #   self.zoom_y=200.0/ch   
  836.   # end
  837.      self.x=10
  838.      self.y=110
  839.      if cw > 400
  840.        self.x = 240 - cw/2
  841.      end
  842.      if  ch > 320
  843.        self.y = 480 - ch
  844.      end
  845.       @enemy=enemy
  846.     end
  847.   end
  848.   #--------------------------------------------------------------------------
  849.   # ● 解放
  850.   #--------------------------------------------------------------------------
  851.   def dispose
  852.     if self.bitmap != nil
  853.       self.bitmap.dispose
  854.     end
  855.     super
  856.   end
  857.   #--------------------------------------------------------------------------
  858.   # ● フレーム更新
  859.   #--------------------------------------------------------------------------
  860.   def refresh(enemy)
  861.   end
  862. end
复制代码

点评

原来某西是你的偶像。。。那某柳呢。。(找PIA- =  发表于 2011-3-7 14:54
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
58 小时
注册时间
2007-8-10
帖子
284
5
 楼主| 发表于 2011-3-7 14:58:28 | 只看该作者
啊 这个图签脚本有啥毛病啊 为啥447行 初始化敌人那老出错
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
58 小时
注册时间
2007-8-10
帖子
284
6
 楼主| 发表于 2011-3-7 15:07:12 | 只看该作者
本帖最后由 卓越大白痴 于 2011-3-7 15:30 编辑

忽发灵感
看我破纪录看一个游戏放多少脚本不会报错踢出
删掉了好多脚本虽然不冲突但是没效果“这样子也行”
自己跟自己聊天喽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
58 小时
注册时间
2007-8-10
帖子
284
7
 楼主| 发表于 2011-3-7 15:15:56 | 只看该作者
本帖最后由 卓越大白痴 于 2011-3-7 15:25 编辑

弄好了 简直太完美了
稀里糊涂的整合了个超级系统
. . . .怎么 就没有冲突了 呢 ??经过1000次测试没有报错退出现象 . . .

点评

对鸟,忘记说了,即使没有脚本冲突,也会有功能冲突的出现,也就是说,部分脚本的功能不会拥有  发表于 2011-3-7 15:30
是5连贴还是4连贴呢,LZ你强人,胆子这么大-v-  发表于 2011-3-7 15:22

评分

参与人数 1星屑 -70 收起 理由
禾西 -70 5連一樣要警告……

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

吉爾伽美什

梦石
0
星屑
317
在线时间
194 小时
注册时间
2011-1-7
帖子
565
8
发表于 2011-3-7 16:45:19 | 只看该作者
楼主你连贴了。。。。多犯。。。
扣不少分哎

点评

不必回帖的嘛,直接用点评不就好了  发表于 2011-3-7 16:48
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 10:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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