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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 我為了下載
打印 上一主题 下一主题

[已经解决] 请问怎么使用半途出现

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
262 小时
注册时间
2009-10-13
帖子
112
11
 楼主| 发表于 2011-9-17 22:17:35 | 只看该作者
RPGmaster 发表于 2011-9-17 20:23
在怪物数据库里面没设置当然就显示不了了……囧……

http://rpg.blue/forum.php?mod=vi ... 9%E5%9B%BE%E9%89%B4
這個應該是無屬性顯示吧....
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
678 小时
注册时间
2010-8-11
帖子
1533
12
发表于 2011-9-17 22:24:57 | 只看该作者
我為了下載 发表于 2011-9-17 15:17
http://rpg.blue/forum.php?mod=viewthread&tid=197029&highlight=%E6%80%AA%E7%89%A9%E5%9B%BE%E9% ...

那么我不知道,我不用那个图鉴……
目前使用的图鉴:
设定:
  1. #===============================================================================
  2. # ■ 魔物図鑑 ver 1.02 初期設定用
  3. #-------------------------------------------------------------------------------
  4. #  配布元:
  5. #     白の魔 http://izumiwhite.web.fc2.com/
  6. #
  7. #  利用規約:
  8. #     RPGツクールVXの正規の登録者のみご利用になれます。
  9. #     利用報告・著作権表示とかは必要ありません。
  10. #     改造もご自由にどうぞ。
  11. #     何か問題が発生しても責任は持ちません。
  12. #===============================================================================

  13. #-------------------------------------------------------------------------------
  14. # ★ 初期設定。
  15. #-------------------------------------------------------------------------------
  16. module WD_monsterdictionary_ini

  17.   #図鑑完成度にどの段階で繁栄するか
  18.   Perfection_timing = 2 #1⇒遭遇時、2⇒撃破時


  19. #=== 各項目のレイアウト設定項目 ================================================
  20. #
  21. #   *_***_display       : trueで表示。falseで非表示。
  22. #   *_***_display_page  : 表示するページ数。(配列で指定)
  23. #   *_***_display_x     : 各ページの表示位置のx座標(配列で指定)
  24. #   *_***_display_y     : 各ページの表示位置のy座標(配列で指定)
  25. #   *_***_display_width : 各ページの表示位置の幅(配列で指定)
  26. #   *_***_display_text* : 表示テキスト
  27. #
  28. #===============================================================================


  29. #===魔物図鑑設定================================================================

  30.   #図鑑のページ数
  31.   M_page_number = 3

  32.   #番号の表示
  33.   M_number_display        = true
  34.   M_number_display_page   = [1,2,3]
  35.   M_number_display_x      = [0,0,0]
  36.   M_number_display_y      = [0,0,0]
  37.   M_number_display_width  = [60,60,60]
  38.   M_number_display_digit  = 3 #桁数
  39.   
  40.   #名前の表示
  41.   M_name_display        = true
  42.   M_name_display_page   = [1,2,3]
  43.   M_name_display_x      = [60,60,60]
  44.   M_name_display_y      = [0,0,0]
  45.   M_name_display_width  = [200,200,200]

  46.   #画像の表示
  47.   M_picture_display         = true
  48.   M_picture_display_page    = [1,2,3]
  49.   M_picture_display_x       = [156,156,156]
  50.   M_picture_display_y       = [384,384,384]
  51.   M_picture_display_opacity = 255 #画像のデフォルトの不透明度

  52.   #HPの表示
  53.   M_hp_display        = true
  54.   M_hp_display_page   = [1]
  55.   M_hp_display_x      = [0]
  56.   M_hp_display_y      = [36]
  57.   M_hp_display_width  = [140]

  58.   #MPの表示
  59.   M_mp_display        = true
  60.   M_mp_display_page   = [1]
  61.   M_mp_display_x      = [160]
  62.   M_mp_display_y      = [36]
  63.   M_mp_display_width  = [140]

  64.   #攻撃力の表示
  65.   M_atk_display        = true
  66.   M_atk_display_page   = [1]
  67.   M_atk_display_x      = [0]
  68.   M_atk_display_y      = [60]
  69.   M_atk_display_width  = [140]

  70.   #防御力の表示
  71.   M_def_display        = true
  72.   M_def_display_page   = [1]
  73.   M_def_display_x      = [160]
  74.   M_def_display_y      = [60]
  75.   M_def_display_width  = [140]

  76.   #精神力の表示
  77.   M_spi_display        = true
  78.   M_spi_display_page   = [1]
  79.   M_spi_display_x      = [0]
  80.   M_spi_display_y      = [84]
  81.   M_spi_display_width  = [140]

  82.   #敏捷性の表示
  83.   M_agi_display        = true
  84.   M_agi_display_page   = [1]
  85.   M_agi_display_x      = [160]
  86.   M_agi_display_y      = [84]
  87.   M_agi_display_width  = [140]

  88.   #命中率の表示
  89.   M_hit_display        = true
  90.   M_hit_display_page   = [1]
  91.   M_hit_display_x      = [0]
  92.   M_hit_display_y      = [120]
  93.   M_hit_display_width  = [140]
  94.   M_hit_display_text1  = "命中率"

  95.   #回避率の表示
  96.   M_eva_display        = true
  97.   M_eva_display_page   = [1]
  98.   M_eva_display_x      = [160]
  99.   M_eva_display_y      = [120]
  100.   M_eva_display_width  = [140]
  101.   M_eva_display_text1  = "回避率"

  102.   #経験値の表示
  103.   M_exp_display        = true
  104.   M_exp_display_page   = [1]
  105.   M_exp_display_x      = [160]
  106.   M_exp_display_y      = [204]
  107.   M_exp_display_width  = [140]
  108.   M_exp_display_text1  = "经验值"

  109.   #お金の表示
  110.   M_gold_display        = true
  111.   M_gold_display_page   = [1]
  112.   M_gold_display_x      = [160]
  113.   M_gold_display_y      = [156]
  114.   M_gold_display_width  = [140]
  115.   M_gold_display_text1  = "金钱"

  116.   #ドロップアイテム1の表示
  117.   M_drop1_display        = true
  118.   M_drop1_display_page   = [1]
  119.   M_drop1_display_x      = [0]
  120.   M_drop1_display_y      = [156]
  121.   M_drop1_display_width  = [300]
  122.   M_drop1_display_text1  = "掉落物品1"

  123.   #ドロップアイテム2の表示
  124.   M_drop2_display        = true
  125.   M_drop2_display_page   = [1]
  126.   M_drop2_display_x      = [0]
  127.   M_drop2_display_y      = [204]
  128.   M_drop2_display_width  = [300]
  129.   M_drop2_display_text1  = "掉落物品2"

  130.   #撃破数の表示
  131.   M_geno_display        = true
  132.   M_geno_display_page   = [1]
  133.   M_geno_display_x      = [0]
  134.   M_geno_display_y      = [264]
  135.   M_geno_display_width  = [140]
  136.   M_geno_display_text1  = "击破数"
  137.   M_geno_display_text2  = "体"

  138.   #説明テキストの表示
  139.   M_help_display        = true
  140.   M_help_display_page   = [1]
  141.   M_help_display_x      = [0]
  142.   M_help_display_y      = [300]
  143.   M_help_display_width  = [260]
  144.   M_help_display_text1  = "说明"
  145.   
  146.   #属性耐性の表示
  147.   M_element_display        = true
  148.   M_element_display_page   = [2]
  149.   M_element_display_x      = [0]
  150.   M_element_display_y      = [48]
  151.   M_element_display_width  = [140]
  152.   M_element_display_column = [2]  #列数
  153.   M_element_display_indent = [24] #列間隔
  154.   M_element_display_text1  = ["A","B","C","D","E","F"] #属性の有効度表示
  155.   M_element_display_range  = 16 #何番目までの属性を表示するか。

  156.   #ステート耐性の表示
  157.   M_state_display          = true
  158.   M_state_display_page     = [3]
  159.   M_state_display_x        = [0]
  160.   M_state_display_y        = [48]
  161.   M_state_display_width    = [140]
  162.   M_state_display_column   = [2]  #列数
  163.   M_state_display_indent   = [24] #列間隔
  164.   M_state_display_text1    = ["A","B","C","D","E","F"] #ステートの有効度表示
  165.   M_state_display_range    = 99 #何番目までのステートを表示するか。

  166.   #ページ数の表示
  167.   M_page_display        = true
  168.   M_page_display_page   = [1,2,3]
  169.   M_page_display_x      = [200,200,200]
  170.   M_page_display_y      = [364,364,364]
  171.   M_page_display_width  = [112,112,112]
  172.   
  173.   #未遭遇時の表示(性能ウィンドウ)
  174.   M_non_display_x     = 60
  175.   M_non_display_y     = 0
  176.   M_non_display_width = 200
  177.   M_non_display_text1 = "- No Data -"
  178.   

  179.   
  180. #===全図鑑共通設定==============================================================

  181.   #未遭遇時の表示(一覧ウィンドウ)
  182.   C_non_display_text1 = "????????"


  183. end
  184. #-------------------------------------------------------------------------------
  185. # ★ 初期設定おわり
  186. #-------------------------------------------------------------------------------

复制代码
本体:
  1. #==============================================================================
  2. # ■ 魔物図鑑 ver 1.02 本体プログラム
  3. #------------------------------------------------------------------------------
  4. #  配布元:
  5. #     白の魔 http://izumiwhite.web.fc2.com/
  6. #
  7. #  利用規約:
  8. #     RPGツクールVXの正規の登録者のみご利用になれます。
  9. #     利用報告・著作権表示とかは必要ありません。
  10. #     改造もご自由にどうぞ。
  11. #     何か問題が発生しても責任は持ちません。
  12. #==============================================================================

  13. module WD_monsterdictionary
  14.   def m_dictionary_encount_switch_on(id)
  15.     $game_system.m_dic_encount_sw = [] if $game_system.m_dic_encount_sw == nil
  16.     $game_system.m_dic_encount_sw[id] = false if $game_system.m_dic_encount_sw[id] == nil
  17.     $game_system.m_dic_encount_sw[id] = true
  18.   end
  19.   def m_dictionary_encount_switch_off(id)
  20.     $game_system.m_dic_encount_sw = [] if $game_system.m_dic_encount_sw == nil
  21.     $game_system.m_dic_encount_sw[id] = false if $game_system.m_dic_encount_sw[id] == nil
  22.     $game_system.m_dic_encount_sw[id] = false
  23.   end
  24.   def m_dictionary_victory_switch_on(id)
  25.     $game_system.m_dic_victory_sw = [] if $game_system.m_dic_victory_sw == nil
  26.     $game_system.m_dic_victory_sw[id] = false if $game_system.m_dic_victory_sw[id] == nil
  27.     $game_system.m_dic_victory_sw[id] = true
  28.   end
  29.   def m_dictionary_victory_switch_off(id)
  30.     $game_system.m_dic_victory_sw = [] if $game_system.m_dic_victory_sw == nil
  31.     $game_system.m_dic_victory_sw[id] = false if $game_system.m_dic_victory_sw[id] == nil
  32.     $game_system.m_dic_victory_sw[id] = false
  33.   end
  34.   def m_dictionary_drop1_switch_on(id)
  35.     $game_system.m_dic_drop1_sw = [] if $game_system.m_dic_drop1_sw == nil
  36.     $game_system.m_dic_drop1_sw[id] = false if $game_system.m_dic_drop1_sw[id] == nil
  37.     $game_system.m_dic_drop1_sw[id] = true
  38.   end
  39.   def m_dictionary_drop1_switch_off(id)
  40.     $game_system.m_dic_drop1_sw = [] if $game_system.m_dic_drop1_sw == nil
  41.     $game_system.m_dic_drop1_sw[id] = false if $game_system.m_dic_drop1_sw[id] == nil
  42.     $game_system.m_dic_drop1_sw[id] = false
  43.   end
  44.   def m_dictionary_drop2_switch_on(id)
  45.     $game_system.m_dic_drop2_sw = [] if $game_system.m_dic_drop2_sw == nil
  46.     $game_system.m_dic_drop2_sw[id] = false if $game_system.m_dic_drop2_sw[id] == nil
  47.     $game_system.m_dic_drop2_sw[id] = true
  48.   end
  49.   def m_dictionary_drop2_switch_off(id)
  50.     $game_system.m_dic_drop2_sw = [] if $game_system.m_dic_drop2_sw == nil
  51.     $game_system.m_dic_drop2_sw[id] = false if $game_system.m_dic_drop2_sw[id] == nil
  52.     $game_system.m_dic_drop2_sw[id] = false
  53.   end
  54.   def m_dictionary_genoside_number_add(id, n)
  55.     $game_system.m_dic_genoside_num = [] if $game_system.m_dic_genoside_num == nil
  56.     $game_system.m_dic_genoside_num[id] = 0 if $game_system.m_dic_genoside_num[id] == nil
  57.     $game_system.m_dic_genoside_num[id] += n
  58.   end
  59.   def m_dictionary_perfection(n)
  60.     dic_max = 0
  61.     dic_num = 0
  62.     for i in 1...$data_enemies.size
  63.       hantei = /<図鑑無効>/ =~ $data_enemies[i].note
  64.       if $data_enemies[i].name.size > 0 and hantei == nil
  65.         dic_max += 1
  66.         case WD_monsterdictionary_ini::Perfection_timing
  67.         when 1
  68.           $game_system.m_dic_encount_sw = [] if $game_system.m_dic_encount_sw == nil
  69.           $game_system.m_dic_encount_sw[i] = false if $game_system.m_dic_encount_sw[i] == nil
  70.           if $game_system.m_dic_encount_sw[i] == true
  71.             dic_num += 1
  72.           end
  73.         when 2
  74.           $game_system.m_dic_victory_sw = [] if $game_system.m_dic_victory_sw == nil
  75.           $game_system.m_dic_victory_sw[i] = false if $game_system.m_dic_victory_sw[i] == nil
  76.           if $game_system.m_dic_victory_sw[i] == true
  77.             dic_num += 1
  78.           end
  79.         end
  80.       end
  81.     end
  82.     $game_variables[n] = (100*dic_num)/dic_max
  83.   end
  84. end

  85. class Game_System
  86.   #--------------------------------------------------------------------------
  87.   # ● 公開インスタンス変数
  88.   #--------------------------------------------------------------------------
  89.   attr_accessor :m_dic_encount_sw
  90.   attr_accessor :m_dic_victory_sw
  91.   attr_accessor :m_dic_drop1_sw
  92.   attr_accessor :m_dic_drop2_sw
  93.   attr_accessor :m_dic_genoside_num
  94.   #--------------------------------------------------------------------------
  95.   # ● オブジェクト初期化
  96.   #--------------------------------------------------------------------------
  97.   alias wd_orig_initialize15 initialize
  98.   def initialize
  99.     wd_orig_initialize15
  100.     @m_dic_encount_sw = []
  101.     @m_dic_victory_sw = []
  102.     @m_dic_drop1_sw = []
  103.     @m_dic_drop2_sw = []
  104.     @m_dic_genoside_num = []
  105.   end
  106. end

  107. class Game_Interpreter
  108.   include WD_monsterdictionary
  109. end

  110. class Game_Troop < Game_Unit
  111.   include WD_monsterdictionary
  112.   #--------------------------------------------------------------------------
  113.   # ● ドロップアイテムの配列作成(再定義)
  114.   #--------------------------------------------------------------------------
  115.   def make_drop_items
  116.     drop_items = []
  117.     for enemy in dead_members
  118.       di = enemy.drop_item1
  119.       if di.kind != 0 and rand(di.denominator) == 0
  120.         if di.kind == 1
  121.           drop_items.push($data_items[di.item_id])
  122.         elsif di.kind == 2
  123.           drop_items.push($data_weapons[di.weapon_id])
  124.         elsif di.kind == 3
  125.           drop_items.push($data_armors[di.armor_id])
  126.         end
  127.         m_dictionary_drop1_switch_on(enemy.enemy_id) #ドロップアイテム1を図鑑登録
  128.       end
  129.       di = enemy.drop_item2
  130.       if di.kind != 0 and rand(di.denominator) == 0
  131.         if di.kind == 1
  132.           drop_items.push($data_items[di.item_id])
  133.         elsif di.kind == 2
  134.           drop_items.push($data_weapons[di.weapon_id])
  135.         elsif di.kind == 3
  136.           drop_items.push($data_armors[di.armor_id])
  137.         end
  138.         m_dictionary_drop2_switch_on(enemy.enemy_id) #ドロップアイテム2を図鑑登録
  139.       end
  140.     end
  141.     return drop_items
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # ● 図鑑への登録
  145.   #--------------------------------------------------------------------------
  146.   def dictionary1
  147.     for enemy in members
  148.       m_dictionary_encount_switch_on(enemy.enemy_id) unless enemy.hidden #遭遇済み図鑑登録
  149.     end
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ● 図鑑への登録
  153.   #--------------------------------------------------------------------------
  154.   def dictionary2
  155.     for enemy in dead_members
  156.       m_dictionary_victory_switch_on(enemy.enemy_id) unless enemy.hidden #撃破済み図鑑登録
  157.       m_dictionary_genoside_number_add(enemy.enemy_id, 1) unless enemy.hidden #撃破数カウント
  158.     end
  159.   end
  160. end

  161. class Scene_Battle < Scene_Base
  162.   #--------------------------------------------------------------------------
  163.   # ● 情報表示ビューポートの作成
  164.   #--------------------------------------------------------------------------
  165.   alias wd_orig_create_info_viewport15 create_info_viewport
  166.   def create_info_viewport
  167.     wd_orig_create_info_viewport15
  168.     $game_troop.dictionary1
  169.   end
  170.   #--------------------------------------------------------------------------
  171.   # ● 勝利の処理
  172.   #--------------------------------------------------------------------------
  173.   alias wd_orig_process_victory15 process_victory
  174.   def process_victory
  175.     $game_troop.dictionary2
  176.     wd_orig_process_victory15
  177.   end
  178. end

  179. #==============================================================================
  180. # ■ Scene_MonsterDictionary
  181. #------------------------------------------------------------------------------
  182. #  魔物図鑑画面の処理を行うクラスです。
  183. #==============================================================================

  184. class Scene_MonsterDictionary < Scene_Base
  185.   #--------------------------------------------------------------------------
  186.   # ● 初期化
  187.   #--------------------------------------------------------------------------
  188.   def initialize
  189.     @dic_index = -1
  190.     @page = 1
  191.     @last_page = 1
  192.   end
  193.   #--------------------------------------------------------------------------
  194.   # ● 開始処理
  195.   #--------------------------------------------------------------------------
  196.   def start
  197.     super
  198.     create_menu_background
  199.     @viewport = Viewport.new(0, 0, 544, 416)
  200.     @left_window = Window_MonsterDictionaryLeft.new
  201.     @left_window.viewport = @viewport
  202.     @right_window = Window_MonsterDictionaryRight.new
  203.     @right_window.viewport = @viewport
  204.     @bottom_window = Window_DictionaryPerfection2.new
  205.     @bottom_window.viewport = @viewport
  206.   end
  207.   #--------------------------------------------------------------------------
  208.   # ● 終了処理
  209.   #--------------------------------------------------------------------------
  210.   def terminate
  211.     super
  212.     dispose_menu_background
  213.     @left_window.dispose
  214.     @right_window.dispose
  215.     @bottom_window.dispose
  216.   end
  217.   #--------------------------------------------------------------------------
  218.   # ● 元の画面へ戻る
  219.   #--------------------------------------------------------------------------
  220.   def return_scene
  221.     # $scene = Scene_Map.new
  222.     $scene = Scene_Menu.new(10)
  223.   end
  224.   #--------------------------------------------------------------------------
  225.   # ● フレーム更新
  226.   #--------------------------------------------------------------------------
  227.   def update
  228.     super
  229.     update_menu_background
  230.     @left_window.update
  231.     @right_window.update
  232.     @bottom_window.update
  233.     if @dic_index != @right_window.index or @page != @last_page
  234.       @left_window.refresh(@right_window.data_id[@right_window.index],
  235.                            @right_window.index, @page)
  236.       @dic_index = @right_window.index
  237.       @last_page = @page
  238.     end
  239.     if WD_monsterdictionary_ini::M_page_number > 1
  240.       if Input.trigger?(Input::RIGHT)
  241.         @page += 1
  242.         @page = 1 if @page > WD_monsterdictionary_ini::M_page_number
  243.         Sound.play_cursor
  244.       end
  245.     end
  246.    if WD_monsterdictionary_ini::M_page_number > 1
  247.       if Input.trigger?(Input::LEFT)
  248.         @page -= 1
  249.         @page = WD_monsterdictionary_ini::M_page_number if @page < 1
  250.         Sound.play_cursor
  251.       end
  252.     end
  253.     if Input.trigger?(Input::B)
  254.       Sound.play_cancel
  255.       return_scene
  256.     end
  257.   end
  258. end

  259. #==============================================================================
  260. # ■ Window_MonsterDictionaryLeft
  261. #------------------------------------------------------------------------------
  262. #  魔物のステータスを表示するウィンドウです。
  263. #==============================================================================

  264. class Window_MonsterDictionaryLeft < Window_Base
  265.   #--------------------------------------------------------------------------
  266.   # ● オブジェクト初期化
  267.   #--------------------------------------------------------------------------
  268.   def initialize
  269.     x = 0
  270.     y = 0
  271.     width = 544-200
  272.     height = 416
  273.     super(x, y, width, height)
  274.   end
  275.   #--------------------------------------------------------------------------
  276.   # ● リフレッシュ
  277.   #--------------------------------------------------------------------------
  278.   def refresh(id, index, page)
  279.     self.contents.clear
  280.     self.contents.font.color = normal_color
  281.     $game_system.m_dic_encount_sw = [] if $game_system.m_dic_encount_sw == nil
  282.     $game_system.m_dic_encount_sw[id] = false if $game_system.m_dic_encount_sw[id] == nil
  283.     $game_system.m_dic_victory_sw = [] if $game_system.m_dic_victory_sw == nil
  284.     $game_system.m_dic_victory_sw[id] = false if $game_system.m_dic_victory_sw[id] == nil
  285.     $game_system.m_dic_drop1_sw = [] if $game_system.m_dic_drop1_sw == nil
  286.     $game_system.m_dic_drop1_sw[id] = false if $game_system.m_dic_drop1_sw[id] == nil
  287.     $game_system.m_dic_drop2_sw = [] if $game_system.m_dic_drop2_sw == nil
  288.     $game_system.m_dic_drop2_sw[id] = false if $game_system.m_dic_drop2_sw[id] == nil
  289.     $game_system.m_dic_genoside_num = [] if $game_system.m_dic_genoside_num == nil
  290.     $game_system.m_dic_genoside_num[id] = 0 if $game_system.m_dic_genoside_num[id] == nil

  291.     if WD_monsterdictionary_ini::M_number_display
  292.       n = WD_monsterdictionary_ini::M_number_display_page.index(page)
  293.       if n != nil
  294.         x = WD_monsterdictionary_ini::M_number_display_x[n]
  295.         y = WD_monsterdictionary_ini::M_number_display_y[n]
  296.         width = WD_monsterdictionary_ini::M_number_display_width[n]
  297.         text = sprintf("%0#{WD_monsterdictionary_ini::M_number_display_digit}d",index+1)
  298.         self.contents.draw_text(x, y, width, WLH, text, 0)
  299.       end
  300.     end

  301.     if $game_system.m_dic_encount_sw[id] == true
  302.       enemy = $data_enemies[id]

  303.       if WD_monsterdictionary_ini::M_name_display
  304.         n = WD_monsterdictionary_ini::M_name_display_page.index(page)
  305.         if n != nil
  306.           x = WD_monsterdictionary_ini::M_name_display_x[n]
  307.           y = WD_monsterdictionary_ini::M_name_display_y[n]
  308.           width = WD_monsterdictionary_ini::M_name_display_width[n]
  309.           self.contents.draw_text(x, y, width, WLH, enemy.name, 0)
  310.         end
  311.       end
  312.       if WD_monsterdictionary_ini::M_picture_display
  313.         n = WD_monsterdictionary_ini::M_picture_display_page.index(page)
  314.         if n != nil
  315.           x = WD_monsterdictionary_ini::M_picture_display_x[n]
  316.           y = WD_monsterdictionary_ini::M_picture_display_y[n]
  317.           bitmap = Cache.battler(enemy.battler_name, enemy.battler_hue)
  318.           rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  319.           if /<半透明>/ =~ enemy.note
  320.             opacity = WD_monsterdictionary_ini::M_picture_display_opacity/2
  321.           else
  322.             opacity = WD_monsterdictionary_ini::M_picture_display_opacity
  323.           end
  324.           self.contents.blt(x - rect.width/2, y - rect.height, bitmap, rect, opacity)
  325.         end
  326.       end
  327.       if WD_monsterdictionary_ini::M_hp_display
  328.         n = WD_monsterdictionary_ini::M_hp_display_page.index(page)
  329.         if n != nil
  330.           x = WD_monsterdictionary_ini::M_hp_display_x[n]
  331.           y = WD_monsterdictionary_ini::M_hp_display_y[n]
  332.           width = WD_monsterdictionary_ini::M_hp_display_width[n]
  333.           self.contents.font.color = system_color
  334.           self.contents.draw_text(x, y, width, WLH, Vocab::hp, 0)
  335.           self.contents.font.color = normal_color
  336.           if $game_system.m_dic_victory_sw[id] == true
  337.             self.contents.draw_text(x, y, width, WLH, enemy.maxhp, 2)
  338.           else
  339.             self.contents.draw_text(x, y, width, WLH, "?", 2)
  340.           end
  341.         end
  342.       end
  343.       if WD_monsterdictionary_ini::M_mp_display
  344.         n = WD_monsterdictionary_ini::M_mp_display_page.index(page)
  345.         if n != nil
  346.           x = WD_monsterdictionary_ini::M_mp_display_x[n]
  347.           y = WD_monsterdictionary_ini::M_mp_display_y[n]
  348.           width = WD_monsterdictionary_ini::M_mp_display_width[n]
  349.           self.contents.font.color = system_color
  350.           self.contents.draw_text(x, y, width, WLH, Vocab::mp, 0)
  351.           self.contents.font.color = normal_color
  352.           if $game_system.m_dic_victory_sw[id] == true
  353.             self.contents.draw_text(x, y, width, WLH, enemy.maxmp, 2)
  354.           else
  355.             self.contents.draw_text(x, y, width, WLH, "?", 2)
  356.           end
  357.         end
  358.       end
  359.       if WD_monsterdictionary_ini::M_atk_display
  360.         n = WD_monsterdictionary_ini::M_atk_display_page.index(page)
  361.         if n != nil
  362.           x = WD_monsterdictionary_ini::M_atk_display_x[n]
  363.           y = WD_monsterdictionary_ini::M_atk_display_y[n]
  364.           width = WD_monsterdictionary_ini::M_atk_display_width[n]
  365.           self.contents.font.color = system_color
  366.           self.contents.draw_text(x, y, width, WLH, Vocab::atk, 0)
  367.           self.contents.font.color = normal_color
  368.           if $game_system.m_dic_victory_sw[id] == true
  369.             self.contents.draw_text(x, y, width, WLH, enemy.atk, 2)
  370.           else
  371.             self.contents.draw_text(x, y, width, WLH, "?", 2)
  372.           end
  373.         end
  374.       end
  375.       if WD_monsterdictionary_ini::M_def_display
  376.         n = WD_monsterdictionary_ini::M_def_display_page.index(page)
  377.         if n != nil
  378.           x = WD_monsterdictionary_ini::M_def_display_x[n]
  379.           y = WD_monsterdictionary_ini::M_def_display_y[n]
  380.           width = WD_monsterdictionary_ini::M_def_display_width[n]
  381.           self.contents.font.color = system_color
  382.           self.contents.draw_text(x, y, width, WLH, Vocab::def, 0)
  383.           self.contents.font.color = normal_color
  384.           if $game_system.m_dic_victory_sw[id] == true
  385.             self.contents.draw_text(x, y, width, WLH, enemy.def, 2)
  386.           else
  387.             self.contents.draw_text(x, y, width, WLH, "?", 2)
  388.           end
  389.         end
  390.       end
  391.       if WD_monsterdictionary_ini::M_spi_display
  392.         n = WD_monsterdictionary_ini::M_spi_display_page.index(page)
  393.         if n != nil
  394.           x = WD_monsterdictionary_ini::M_spi_display_x[n]
  395.           y = WD_monsterdictionary_ini::M_spi_display_y[n]
  396.           width = WD_monsterdictionary_ini::M_spi_display_width[n]
  397.           self.contents.font.color = system_color
  398.           self.contents.draw_text(x, y, width, WLH, Vocab::spi, 0)
  399.           self.contents.font.color = normal_color
  400.           if $game_system.m_dic_victory_sw[id] == true
  401.             self.contents.draw_text(x, y, width, WLH, enemy.spi, 2)
  402.           else
  403.             self.contents.draw_text(x, y, width, WLH, "?", 2)
  404.           end
  405.         end
  406.       end
  407.       if WD_monsterdictionary_ini::M_agi_display
  408.         n = WD_monsterdictionary_ini::M_agi_display_page.index(page)
  409.         if n != nil
  410.           x = WD_monsterdictionary_ini::M_agi_display_x[n]
  411.           y = WD_monsterdictionary_ini::M_agi_display_y[n]
  412.           width = WD_monsterdictionary_ini::M_agi_display_width[n]
  413.           self.contents.font.color = system_color
  414.           self.contents.draw_text(x, y, width, WLH, Vocab::agi, 0)
  415.           self.contents.font.color = normal_color
  416.           if $game_system.m_dic_victory_sw[id] == true
  417.             self.contents.draw_text(x, y, width, WLH, enemy.agi, 2)
  418.           else
  419.             self.contents.draw_text(x, y, width, WLH, "?", 2)
  420.           end
  421.         end
  422.       end
  423.       if WD_monsterdictionary_ini::M_hit_display
  424.         n = WD_monsterdictionary_ini::M_hit_display_page.index(page)
  425.         if n != nil
  426.           x = WD_monsterdictionary_ini::M_hit_display_x[n]
  427.           y = WD_monsterdictionary_ini::M_hit_display_y[n]
  428.           width = WD_monsterdictionary_ini::M_hit_display_width[n]
  429.           self.contents.font.color = system_color
  430.           self.contents.draw_text(x, y, width, WLH, WD_monsterdictionary_ini::M_hit_display_text1, 0)
  431.           self.contents.font.color = normal_color
  432.           if $game_system.m_dic_victory_sw[id] == true
  433.             self.contents.draw_text(x, y, width, WLH, "#{enemy.hit}%", 2)
  434.           else
  435.             self.contents.draw_text(x, y, width, WLH, "?", 2)
  436.           end
  437.         end
  438.       end
  439.       if WD_monsterdictionary_ini::M_eva_display
  440.         n = WD_monsterdictionary_ini::M_eva_display_page.index(page)
  441.         if n != nil
  442.           x = WD_monsterdictionary_ini::M_eva_display_x[n]
  443.           y = WD_monsterdictionary_ini::M_eva_display_y[n]
  444.           width = WD_monsterdictionary_ini::M_eva_display_width[n]
  445.           self.contents.font.color = system_color
  446.           self.contents.draw_text(x, y, width, WLH, WD_monsterdictionary_ini::M_eva_display_text1, 0)
  447.           self.contents.font.color = normal_color
  448.           if $game_system.m_dic_victory_sw[id] == true
  449.             self.contents.draw_text(x, y, width, WLH, "#{enemy.eva}%", 2)
  450.           else
  451.             self.contents.draw_text(x, y, width, WLH, "?", 2)
  452.           end
  453.         end
  454.       end
  455.       if WD_monsterdictionary_ini::M_exp_display
  456.         n = WD_monsterdictionary_ini::M_exp_display_page.index(page)
  457.         if n != nil
  458.           x = WD_monsterdictionary_ini::M_exp_display_x[n]
  459.           y = WD_monsterdictionary_ini::M_exp_display_y[n]
  460.           width = WD_monsterdictionary_ini::M_exp_display_width[n]
  461.           self.contents.font.color = system_color
  462.           self.contents.draw_text(x, y, width, WLH, WD_monsterdictionary_ini::M_exp_display_text1, 0)
  463.           self.contents.font.color = normal_color
  464.           if $game_system.m_dic_victory_sw[id] == true
  465.             self.contents.draw_text(x, y, width, WLH, enemy.exp, 2)
  466.           else
  467.             self.contents.draw_text(x, y, width, WLH, "?", 2)
  468.           end
  469.         end
  470.       end
  471.       if WD_monsterdictionary_ini::M_gold_display
  472.         n = WD_monsterdictionary_ini::M_gold_display_page.index(page)
  473.         if n != nil
  474.           x = WD_monsterdictionary_ini::M_gold_display_x[n]
  475.           y = WD_monsterdictionary_ini::M_gold_display_y[n]
  476.           width = WD_monsterdictionary_ini::M_gold_display_width[n]
  477.           self.contents.font.color = system_color
  478.           self.contents.draw_text(x, y, width, WLH, WD_monsterdictionary_ini::M_gold_display_text1, 0)
  479.           self.contents.font.color = normal_color
  480.           if $game_system.m_dic_victory_sw[id] == true
  481.             self.contents.draw_text(x, y, width, WLH, "#{enemy.gold}#{Vocab::gold}", 2)
  482.           else
  483.             self.contents.draw_text(x, y, width, WLH, "?", 2)
  484.           end
  485.         end
  486.       end
  487.       if WD_monsterdictionary_ini::M_drop1_display
  488.         n = WD_monsterdictionary_ini::M_drop1_display_page.index(page)
  489.         if n != nil
  490.           x = WD_monsterdictionary_ini::M_drop1_display_x[n]
  491.           y = WD_monsterdictionary_ini::M_drop1_display_y[n]
  492.           width = WD_monsterdictionary_ini::M_drop1_display_width[n]
  493.           self.contents.font.color = system_color
  494.           self.contents.draw_text(x, y, width, WLH, WD_monsterdictionary_ini::M_drop1_display_text1, 0)
  495.           self.contents.font.color = normal_color
  496.           if enemy.drop_item1.kind != 0
  497.             if $game_system.m_dic_drop1_sw[id] == true
  498.               case enemy.drop_item1.kind
  499.               when 1
  500.                 item = $data_items[enemy.drop_item1.item_id]
  501.               when 2
  502.                 item = $data_weapons[enemy.drop_item1.weapon_id]
  503.               when 3
  504.                 item = $data_armors[enemy.drop_item1.armor_id]
  505.               end
  506.               draw_item_name(item, x + 24, y + 24)
  507.               self.contents.draw_text(x + 24, y + 24, width - 24, WLH, "1/#{enemy.drop_item1.denominator}", 2)
  508.             else
  509.               self.contents.draw_text(x + 48, y + 24, width - 24, WLH, "?", 0)
  510.             end
  511.           else
  512.             self.contents.draw_text(x + 48, y + 24, width - 24, WLH, "-", 0)
  513.           end
  514.         end
  515.       end
  516.       if WD_monsterdictionary_ini::M_drop2_display
  517.         n = WD_monsterdictionary_ini::M_drop2_display_page.index(page)
  518.         if n != nil
  519.           x = WD_monsterdictionary_ini::M_drop2_display_x[n]
  520.           y = WD_monsterdictionary_ini::M_drop2_display_y[n]
  521.           width = WD_monsterdictionary_ini::M_drop2_display_width[n]
  522.           self.contents.font.color = system_color
  523.           self.contents.draw_text(x, y, width, WLH, WD_monsterdictionary_ini::M_drop2_display_text1, 0)
  524.           self.contents.font.color = normal_color
  525.           if enemy.drop_item2.kind != 0
  526.             if $game_system.m_dic_drop2_sw[id] == true
  527.               case enemy.drop_item2.kind
  528.               when 1
  529.                 item = $data_items[enemy.drop_item2.item_id]
  530.               when 2
  531.                 item = $data_weapons[enemy.drop_item2.weapon_id]
  532.               when 3
  533.                 item = $data_armors[enemy.drop_item2.armor_id]
  534.               end
  535.               draw_item_name(item, x + 24, y + 24)
  536.               self.contents.draw_text(x + 24, y + 24, width - 24, WLH, "1/#{enemy.drop_item2.denominator}", 2)
  537.             else
  538.               self.contents.draw_text(x + 48, y + 24, width - 24, WLH, "?", 0)
  539.             end
  540.           else
  541.             self.contents.draw_text(x + 48, y + 24, width - 24, WLH, "-", 0)
  542.           end
  543.         end
  544.       end
  545.       if WD_monsterdictionary_ini::M_geno_display
  546.         n = WD_monsterdictionary_ini::M_geno_display_page.index(page)
  547.         if n != nil
  548.           x = WD_monsterdictionary_ini::M_geno_display_x[n]
  549.           y = WD_monsterdictionary_ini::M_geno_display_y[n]
  550.           width = WD_monsterdictionary_ini::M_geno_display_width[n]
  551.           self.contents.font.color = system_color
  552.           self.contents.draw_text(x, y, width, WLH, WD_monsterdictionary_ini::M_geno_display_text1, 0)
  553.           self.contents.font.color = normal_color
  554.           self.contents.draw_text(x, y, width, WLH, "#{$game_system.m_dic_genoside_num[id]}#{WD_monsterdictionary_ini::M_geno_display_text2}", 2)
  555.         end
  556.       end
  557.       if WD_monsterdictionary_ini::M_help_display
  558.         n = WD_monsterdictionary_ini::M_help_display_page.index(page)
  559.         if n != nil
  560.           x = WD_monsterdictionary_ini::M_help_display_x[n]
  561.           y = WD_monsterdictionary_ini::M_help_display_y[n]
  562.           width = WD_monsterdictionary_ini::M_help_display_width[n]
  563.           self.contents.font.color = system_color
  564.           self.contents.draw_text(x, y, width, WLH, WD_monsterdictionary_ini::M_help_display_text1, 0)
  565.           self.contents.font.color = normal_color
  566.           if $game_system.m_dic_victory_sw[id] == true
  567.             if /<図鑑説明:(.+)>/ =~ enemy.note
  568.               matched = $1
  569.               text = matched.split(/\\n/)
  570.               for i in 0...text.size
  571.                 self.contents.draw_text(x+16, y+WLH*(i+1), width-16, WLH, text[i], 0)
  572.               end
  573.             end
  574.           else
  575.             self.contents.draw_text(x, y+WLH, width, WLH, "?", 0)
  576.           end
  577.         end
  578.       end
  579.       if WD_monsterdictionary_ini::M_element_display
  580.         n = WD_monsterdictionary_ini::M_element_display_page.index(page)
  581.         if n != nil
  582.           x = WD_monsterdictionary_ini::M_element_display_x[n]
  583.           y = WD_monsterdictionary_ini::M_element_display_y[n]
  584.           width = WD_monsterdictionary_ini::M_element_display_width[n]
  585.           indent = WD_monsterdictionary_ini::M_element_display_indent[n]
  586.           for i in 1...$data_system.elements.size
  587.             break if i > WD_monsterdictionary_ini::M_element_display_range
  588.             column = (i+1) % WD_monsterdictionary_ini::M_element_display_column[n]
  589.             row = (i-1) / WD_monsterdictionary_ini::M_element_display_column[n]
  590.             self.contents.font.color = system_color
  591.             self.contents.draw_text(x+(width+indent)*(column), y+WLH*(row), width, WLH, $data_system.elements[i], 0)
  592.             self.contents.font.color = normal_color
  593.             if $game_system.m_dic_victory_sw[id] == true
  594.               rank = WD_monsterdictionary_ini::M_element_display_text1[enemy.element_ranks[i]-1]
  595.               self.contents.draw_text(x+(width+indent)*(column), y+WLH*(row), width, WLH, "#{rank}", 2)
  596.             else
  597.               self.contents.draw_text(x+(width+indent)*(column), y+WLH*(row), width, WLH, "?", 2)
  598.             end
  599.           end
  600.         end
  601.       end
  602.       if WD_monsterdictionary_ini::M_state_display
  603.         n = WD_monsterdictionary_ini::M_state_display_page.index(page)
  604.         if n != nil
  605.           x = WD_monsterdictionary_ini::M_state_display_x[n]
  606.           y = WD_monsterdictionary_ini::M_state_display_y[n]
  607.           width = WD_monsterdictionary_ini::M_state_display_width[n]
  608.           indent = WD_monsterdictionary_ini::M_state_display_indent[n]
  609.           for i in 1...$data_states.size
  610.             break if i > WD_monsterdictionary_ini::M_state_display_range
  611.             column = (i+1) % WD_monsterdictionary_ini::M_state_display_column[n]
  612.             row = (i-1) / WD_monsterdictionary_ini::M_state_display_column[n]
  613.             self.contents.font.color = system_color
  614.             self.contents.draw_text(x+(width+indent)*(column), y+WLH*(row), width, WLH, $data_states[i].name, 0)
  615.             self.contents.font.color = normal_color
  616.             if $game_system.m_dic_victory_sw[id] == true
  617.               rank = WD_monsterdictionary_ini::M_state_display_text1[enemy.state_ranks[i]-1]
  618.               self.contents.draw_text(x+(width+indent)*(column), y+WLH*(row), width, WLH, "#{rank}", 2)
  619.             else
  620.               self.contents.draw_text(x+(width+indent)*(column), y+WLH*(row), width, WLH, "?", 2)
  621.             end
  622.           end
  623.         end
  624.       end
  625.       if WD_monsterdictionary_ini::M_page_display
  626.         n = WD_monsterdictionary_ini::M_page_display_page.index(page)
  627.         if n != nil
  628.           x = WD_monsterdictionary_ini::M_page_display_x[n]
  629.           y = WD_monsterdictionary_ini::M_page_display_y[n]
  630.           width = WD_monsterdictionary_ini::M_page_display_width[n]
  631.           self.contents.font.color = normal_color
  632.           self.contents.draw_text(x, y, width, WLH, "-#{page}/#{WD_monsterdictionary_ini::M_page_number}-", 2)
  633.         end
  634.       end

  635.       


  636.     else
  637.       x = WD_monsterdictionary_ini::M_non_display_x
  638.       y = WD_monsterdictionary_ini::M_non_display_y
  639.       width = WD_monsterdictionary_ini::M_non_display_width
  640.       text1 = WD_monsterdictionary_ini::M_non_display_text1
  641.       self.contents.draw_text(x, y, width, WLH, text1, 0)
  642.     end
  643.   end
  644. end

  645. #==============================================================================
  646. # ■ Window_MonsterDictionaryRight
  647. #------------------------------------------------------------------------------
  648. #  魔物の一覧を表示するウィンドウです。
  649. #==============================================================================

  650. class Window_MonsterDictionaryRight < Window_Selectable
  651.   #--------------------------------------------------------------------------
  652.   # ● 公開インスタンス変数
  653.   #--------------------------------------------------------------------------
  654.   attr_reader   :data_id
  655.   #--------------------------------------------------------------------------
  656.   # ● オブジェクト初期化
  657.   #--------------------------------------------------------------------------
  658.   def initialize
  659.     x = 544 -200
  660.     y = 0
  661.     width = 200
  662.     height = 416-56
  663.     super(x, y, width, height)
  664.     @index=0
  665.     @column_max = 1
  666.     refresh
  667.   end
  668.   #--------------------------------------------------------------------------
  669.   # ● リフレッシュ
  670.   #--------------------------------------------------------------------------
  671.   def refresh
  672.     @data = []
  673.     @data_id = []
  674.     for i in 1...$data_enemies.size
  675.       hantei = /<図鑑無効>/ =~ $data_enemies[i].note
  676.       if $data_enemies[i].name.size > 0 and hantei == nil
  677.         $game_system.m_dic_encount_sw = [] if $game_system.m_dic_encount_sw == nil
  678.         $game_system.m_dic_encount_sw[i] = false if $game_system.m_dic_encount_sw[i] == nil
  679.         if $game_system.m_dic_encount_sw[i] == true
  680.           @data.push($data_enemies[i].name)
  681.         else
  682.           @data.push(WD_monsterdictionary_ini::C_non_display_text1)
  683.         end
  684.         @data_id.push($data_enemies[i].id)
  685.       end
  686.     end
  687.     self.contents.clear
  688.     @item_max = @data.size
  689.     create_contents
  690.     for i in 0...@item_max
  691.       draw_item(i)
  692.     end
  693.   end
  694.   #--------------------------------------------------------------------------
  695.   # ● 項目の描画
  696.   #--------------------------------------------------------------------------
  697.   def draw_item(index)
  698.     rect = item_rect(index)
  699.     rect.x += 4
  700.     rect.width -= 8
  701.     self.contents.clear_rect(rect)
  702.     self.contents.font.color.alpha = 255
  703.     self.contents.font.color.alpha = 128 if @data[index] == WD_monsterdictionary_ini::C_non_display_text1
  704.     self.contents.draw_text(rect, @data[index], 0)
  705.   end
  706. end

  707. #==============================================================================
  708. # ■ Window_DictionaryPerfection2
  709. #------------------------------------------------------------------------------
  710. #  図鑑完成度を表示するウィンドウです。
  711. #==============================================================================

  712. class Window_DictionaryPerfection2 < Window_Base
  713.   #--------------------------------------------------------------------------
  714.   # ● オブジェクト初期化
  715.   #     x : ウィンドウの X 座標
  716.   #     y : ウィンドウの Y 座標
  717.   #--------------------------------------------------------------------------
  718.   def initialize
  719.     super(544 - 200, 416 - 56, 200, 56)
  720.     refresh
  721.   end
  722.   #--------------------------------------------------------------------------
  723.   # ● リフレッシュ
  724.   #--------------------------------------------------------------------------
  725.   def refresh
  726.     self.contents.clear
  727.     dic_max = 0
  728.     dic_num = 0
  729.     self.contents.draw_text(0, 0, 200 - 32, WLH, "图鉴完成度:", 0)
  730.     for i in 1...$data_enemies.size
  731.       hantei = /<図鑑無効>/ =~ $data_enemies[i].note
  732.       if $data_enemies[i].name.size > 0 and hantei == nil
  733.         dic_max += 1
  734.         case WD_monsterdictionary_ini::Perfection_timing
  735.         when 1
  736.           $game_system.m_dic_encount_sw = [] if $game_system.m_dic_encount_sw == nil
  737.           $game_system.m_dic_encount_sw[i] = false if $game_system.m_dic_encount_sw[i] == nil
  738.           if $game_system.m_dic_encount_sw[i] == true
  739.             dic_num += 1
  740.           end
  741.         when 2
  742.           $game_system.m_dic_victory_sw = [] if $game_system.m_dic_victory_sw == nil
  743.           $game_system.m_dic_victory_sw[i] = false if $game_system.m_dic_victory_sw[i] == nil
  744.           if $game_system.m_dic_victory_sw[i] == true
  745.             dic_num += 1
  746.           end
  747.         end
  748.       end
  749.     end
  750.     self.contents.draw_text(0, 0, 200 - 32, WLH, "#{(100*dic_num)/dic_max}%", 2)
  751.   end
  752. end

复制代码
小艾工作室开张= =
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
262 小时
注册时间
2009-10-13
帖子
112
13
 楼主| 发表于 2011-9-18 12:53:16 | 只看该作者
本帖最后由 我為了下載 于 2011-9-18 12:56 编辑

你这个介面比较丰富!
谢谢你
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-9 16:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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