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

Project1

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

[已经解决] 求教一下物品图鉴脚本的一个问题

[复制链接]

Lv2.观梦者

梦石
0
星屑
809
在线时间
176 小时
注册时间
2017-1-15
帖子
81
跳转到指定楼层
1
发表于 2019-12-4 12:43:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
50星屑
本帖最后由 foot1982 于 2019-12-4 14:05 编辑

论坛里的物品图鉴脚本,里面有个完成度,我想把完成度用个变量记录下来
看了半天完成度的计算应该在这一段
RUBY 代码复制
  1. def item_dictionary_perfection
  2.     dic_max = 0
  3.     dic_num = 0
  4.     $data_items.each do |item|
  5.       if print_dictionary?(item)
  6.         dic_max += 1
  7.         if i_dictionary_switch_on?(item.id) == true
  8.           dic_num += 1
  9.         end
  10.       end
  11.     end
  12.     $data_weapons.each do |item|
  13.       if print_dictionary?(item)
  14.         dic_max += 1
  15.         if w_dictionary_switch_on?(item.id) == true
  16.           dic_num += 1
  17.         end
  18.       end
  19.     end
  20.     $data_armors.each do |item|
  21.       if print_dictionary?(item)
  22.         dic_max += 1
  23.         if a_dictionary_switch_on?(item.id) == true
  24.           dic_num += 1
  25.         end
  26.       end
  27.     end
  28.     return (100*dic_num)/dic_max
  29.   end


我在 return下面加了一段
    $game_variables[1] = (100*dic_num)/dic_max

结果并不起作用- -  求教大神怎么办



下面是图鉴脚本

RUBY 代码复制
  1. #==============================================================================
  2. # ■ RGSS3 アイテム図鑑 ver 1.00 初期設定
  3. #------------------------------------------------------------------------------
  4. #  配布元:
  5. #     白の魔 [url]http://izumiwhite.web.fc2.com/[/url]
  6. #
  7. #  利用規約:
  8. #     RPGツクールVXの正規の登録者のみご利用になれます。
  9. #     利用報告・著作権表示とかは必要ありません。
  10. #     改造もご自由にどうぞ。
  11. #     何か問題が発生しても責任は持ちません。
  12. #==============================================================================
  13.  
  14. #-------------------------------------------------------------------------------
  15. # ★ 初期設定。
  16. #-------------------------------------------------------------------------------
  17. module WD_itemdictionary_layout
  18.  
  19. #=== 各項目のレイアウト設定項目 ================================================
  20. #
  21. #   *_***_display       : trueで表示。falseで非表示。
  22. #   *_***_display_x     : 表示位置のx座標
  23. #   *_***_display_y     : 表示位置のy座標
  24. #   *_***_display_width : 表示テキストの幅
  25. #   *_***_display_text* : 表示テキスト
  26. #
  27. #===============================================================================
  28.  
  29. #===全図鑑共通設定==============================================================
  30.  
  31.   #フォントサイズ
  32.   C_font_size = 20
  33.  
  34. #===道具図鑑設定================================================================
  35.  
  36.   #番号の表示
  37.   I_id_display        = true
  38.   I_id_display_x      = 0
  39.   I_id_display_y      = 0
  40.   I_id_display_width  = 60
  41.   I_id_display_digit  = 3 #桁数
  42.  
  43.   #名前の表示
  44.   I_name_display        = true
  45.   I_name_display_x      = 84
  46.   I_name_display_y      = 0
  47.   I_name_display_width  = 172
  48.  
  49.   #価格の表示
  50.   I_price_display        = true
  51.   I_price_display_x      = 150
  52.   I_price_display_y      = 32
  53.   I_price_display_width  = 136
  54.   I_price_display_text1  = "价格"
  55.  
  56.   #使用可能時の表示
  57.   I_occasion_display        = true
  58.   I_occasion_display_x      = 0
  59.   I_occasion_display_y      = 62
  60.   I_occasion_display_width  = 140
  61.   I_occasion_display_text1  = "使用"
  62.   I_occasion_display_text2  = "平时"
  63.   I_occasion_display_text3  = "战斗时"
  64.   I_occasion_display_text4  = "移动时"
  65.   I_occasion_display_text5  = "-"
  66.  
  67.   #消耗の表示
  68.   I_consumable_display        = true
  69.   I_consumable_display_x      = 150
  70.   I_consumable_display_y      = 62
  71.   I_consumable_display_width  = 140
  72.   I_consumable_display_text1  = "消耗"
  73.   I_consumable_display_text2  = "需要消耗"
  74.   I_consumable_display_text3  = "不用消耗"
  75.  
  76.   #特徴の表示
  77.   I_option_display       = true
  78.   I_option_display_x     = 0
  79.   I_option_display_y     = 92
  80.   I_option_display_width = 286
  81.   I_option_display_text1 = "说明"
  82.   I_option_display_text2 = "无"
  83.  
  84. #===武器図鑑設定================================================================
  85.  
  86.   #番号の表示
  87.   W_id_display        = true
  88.   W_id_display_x      = 0
  89.   W_id_display_y      = 0
  90.   W_id_display_width  = 60
  91.   W_id_display_digit  = 3 #桁数
  92.  
  93.   #名前の表示
  94.   W_name_display        = true
  95.   W_name_display_x      = 84
  96.   W_name_display_y      = 0
  97.   W_name_display_width  = 172
  98.  
  99.   #タイプの表示
  100.   W_type_display        = true
  101.   W_type_display_x      = 0
  102.   W_type_display_y      = 32
  103.   W_type_display_width  = 136
  104.   W_type_display_text1  = "类型"
  105.  
  106.   #価格の表示
  107.   W_price_display       = true
  108.   W_price_display_x     = 150
  109.   W_price_display_y     = 32
  110.   W_price_display_width = 136
  111.   W_price_display_text1 = "价格"
  112.  
  113.   #攻撃力の表示
  114.   W_atk_display         = true
  115.   W_atk_display_x       = 0
  116.   W_atk_display_y       = 62
  117.   W_atk_display_width   = 136
  118.  
  119.   #防御力の表示
  120.   W_def_display         = true
  121.   W_def_display_x       = 150
  122.   W_def_display_y       = 62
  123.   W_def_display_width   = 136
  124.  
  125.   #魔法力の表示
  126.   W_mat_display         = true
  127.   W_mat_display_x       = 0
  128.   W_mat_display_y       = 82
  129.   W_mat_display_width   = 136
  130.  
  131.   #魔法防御の表示
  132.   W_mdf_display         = true
  133.   W_mdf_display_x       = 150
  134.   W_mdf_display_y       = 82
  135.   W_mdf_display_width   = 136
  136.  
  137.   #敏捷性の表示
  138.   W_agi_display         = true
  139.   W_agi_display_x       = 0
  140.   W_agi_display_y       = 102
  141.   W_agi_display_width   = 136
  142.  
  143.   #運の表示
  144.   W_luk_display         = true
  145.   W_luk_display_x       = 150
  146.   W_luk_display_y       = 102
  147.   W_luk_display_width   = 136
  148.  
  149.   #最大HPの表示
  150.   W_mhp_display         = true
  151.   W_mhp_display_x       = 0
  152.   W_mhp_display_y       = 122
  153.   W_mhp_display_width   = 136
  154.  
  155.   #最大MPの表示
  156.   W_mmp_display         = true
  157.   W_mmp_display_x       = 150
  158.   W_mmp_display_y       = 122
  159.   W_mmp_display_width   = 136
  160.  
  161.   #特徴の表示
  162.   W_option_display       = true
  163.   W_option_display_x     = 0
  164.   W_option_display_y     = 152
  165.   W_option_display_width = 486
  166.   W_option_display_text1 = "说明"
  167.   W_option_display_text2 = "无"
  168.  
  169.  
  170. #===防具図鑑設定================================================================
  171.  
  172.   #番号の表示
  173.   A_id_display        = true
  174.   A_id_display_x      = 0
  175.   A_id_display_y      = 0
  176.   A_id_display_width  = 60
  177.   A_id_display_digit  = 3 #桁数
  178.  
  179.   #名前の表示
  180.   A_name_display        = true
  181.   A_name_display_x      = 84
  182.   A_name_display_y      = 0
  183.   A_name_display_width  = 172
  184.  
  185.   #タイプの表示
  186.   A_type_display        = true
  187.   A_type_display_x      = 0
  188.   A_type_display_y      = 32
  189.   A_type_display_width  = 136
  190.   A_type_display_text1  = "类型"
  191.  
  192.   #価格の表示
  193.   A_price_display       = true
  194.   A_price_display_x     = 150
  195.   A_price_display_y     = 32
  196.   A_price_display_width = 136
  197.   A_price_display_text1 = "价格"
  198.  
  199.   #攻撃力の表示
  200.   A_atk_display         = true
  201.   A_atk_display_x       = 0
  202.   A_atk_display_y       = 62
  203.   A_atk_display_width   = 136
  204.  
  205.   #防御力の表示
  206.   A_def_display         = true
  207.   A_def_display_x       = 150
  208.   A_def_display_y       = 62
  209.   A_def_display_width   = 136
  210.  
  211.   #魔法力の表示
  212.   A_mat_display         = true
  213.   A_mat_display_x       = 0
  214.   A_mat_display_y       = 82
  215.   A_mat_display_width   = 136
  216.  
  217.   #魔法防御の表示
  218.   A_mdf_display         = true
  219.   A_mdf_display_x       = 150
  220.   A_mdf_display_y       = 82
  221.   A_mdf_display_width   = 136
  222.  
  223.   #敏捷性の表示
  224.   A_agi_display         = true
  225.   A_agi_display_x       = 0
  226.   A_agi_display_y       = 102
  227.   A_agi_display_width   = 136
  228.  
  229.   #運の表示
  230.   A_luk_display         = true
  231.   A_luk_display_x       = 150
  232.   A_luk_display_y       = 102
  233.   A_luk_display_width   = 136
  234.  
  235.   #最大HPの表示
  236.   A_mhp_display         = true
  237.   A_mhp_display_x       = 0
  238.   A_mhp_display_y       = 122
  239.   A_mhp_display_width   = 136
  240.  
  241.   #最大MPの表示
  242.   A_mmp_display         = true
  243.   A_mmp_display_x       = 150
  244.   A_mmp_display_y       = 122
  245.   A_mmp_display_width   = 136
  246.  
  247.   #特徴の表示
  248.   A_option_display       = true
  249.   A_option_display_x     = 0
  250.   A_option_display_y     = 152
  251.   A_option_display_width = 486
  252.   A_option_display_text1 = "说明"
  253.   A_option_display_text2 = "无"
  254.  
  255.  
  256. end
  257. #-------------------------------------------------------------------------------
  258. # ★ 初期設定おわり
  259. #-------------------------------------------------------------------------------



RUBY 代码复制
  1. #==============================================================================
  2. # ■ RGSS3 アイテム図鑑 ver 1.00 本体プログラム
  3. #------------------------------------------------------------------------------
  4. #  配布元:
  5. #     白の魔 [url]http://izumiwhite.web.fc2.com/[/url]
  6. #
  7. #  利用規約:
  8. #     RPGツクールVXの正規の登録者のみご利用になれます。
  9. #     利用報告・著作権表示とかは必要ありません。
  10. #     改造もご自由にどうぞ。
  11. #     何か問題が発生しても責任は持ちません。
  12. #==============================================================================
  13.  
  14. #==============================================================================
  15. # ■ WD_itemdictionary
  16. #------------------------------------------------------------------------------
  17. #  アイテム図鑑用の共通メソッドです。
  18. #==============================================================================
  19.  
  20. module WD_itemdictionary
  21.  
  22.  
  23.  
  24.   def i_dictionary_switch_on(id)
  25.     $game_system.i_dic_sw = [] if $game_system.i_dic_sw == nil
  26.     $game_system.i_dic_sw[id] = false if $game_system.i_dic_sw[id] == nil
  27.     $game_system.i_dic_sw[id] = true
  28.   end
  29.   def i_dictionary_switch_off(id)
  30.     $game_system.i_dic_sw = [] if $game_system.i_dic_sw == nil
  31.     $game_system.i_dic_sw[id] = false if $game_system.i_dic_sw[id] == nil
  32.     $game_system.i_dic_sw[id] = false
  33.   end
  34.   def i_dictionary_switch_on?(id)
  35.     $game_system.i_dic_sw = [] if $game_system.i_dic_sw == nil
  36.     $game_system.i_dic_sw[id] = false if $game_system.i_dic_sw[id] == nil
  37.     return $game_system.i_dic_sw[id]
  38.   end
  39.   def w_dictionary_switch_on(id)
  40.     $game_system.w_dic_sw = [] if $game_system.w_dic_sw == nil
  41.     $game_system.w_dic_sw[id] = false if $game_system.w_dic_sw[id] == nil
  42.     $game_system.w_dic_sw[id] = true
  43.   end
  44.   def w_dictionary_switch_off(id)
  45.     $game_system.w_dic_sw = [] if $game_system.w_dic_sw == nil
  46.     $game_system.w_dic_sw[id] = false if $game_system.w_dic_sw[id] == nil
  47.     $game_system.w_dic_sw[id] = false
  48.   end
  49.   def w_dictionary_switch_on?(id)
  50.     $game_system.w_dic_sw = [] if $game_system.w_dic_sw == nil
  51.     $game_system.w_dic_sw[id] = false if $game_system.w_dic_sw[id] == nil
  52.     return $game_system.w_dic_sw[id]
  53.   end
  54.   def a_dictionary_switch_on(id)
  55.     $game_system.a_dic_sw = [] if $game_system.a_dic_sw == nil
  56.     $game_system.a_dic_sw[id] = false if $game_system.a_dic_sw[id] == nil
  57.     $game_system.a_dic_sw[id] = true
  58.   end
  59.   def a_dictionary_switch_off(id)
  60.     $game_system.a_dic_sw = [] if $game_system.a_dic_sw == nil
  61.     $game_system.a_dic_sw[id] = false if $game_system.a_dic_sw[id] == nil
  62.     $game_system.a_dic_sw[id] = false
  63.   end
  64.   def a_dictionary_switch_on?(id)
  65.     $game_system.a_dic_sw = [] if $game_system.a_dic_sw == nil
  66.     $game_system.a_dic_sw[id] = false if $game_system.a_dic_sw[id] == nil
  67.     return $game_system.a_dic_sw[id]
  68.   end
  69.   def t_dictionary_switch_on(item)
  70.     if item.is_a?(RPG::Item)
  71.       i_dictionary_switch_on(item.id)
  72.     end
  73.     if item.is_a?(RPG::Weapon)
  74.       w_dictionary_switch_on(item.id)
  75.     end
  76.     if item.is_a?(RPG::Armor)
  77.       a_dictionary_switch_on(item.id)
  78.     end
  79.   end
  80.   def t_dictionary_switch_on?(item)
  81.     if item.is_a?(RPG::Item)
  82.       return i_dictionary_switch_on?(item.id)
  83.     end
  84.     if item.is_a?(RPG::Weapon)
  85.       return w_dictionary_switch_on?(item.id)
  86.     end
  87.     if item.is_a?(RPG::Armor)
  88.       return a_dictionary_switch_on?(item.id)
  89.     end
  90.   end
  91.   def print_dictionary?(item)
  92.     if item != nil
  93.       if item.name.size > 0
  94.         hantei = /<图鉴无效>/ =~ item.note
  95.         if hantei == nil
  96.           return true
  97.         end
  98.       end
  99.     end
  100.     return false
  101.   end
  102.   def item_dictionary_perfection
  103.     dic_max = 0
  104.     dic_num = 0
  105.     $data_items.each do |item|
  106.       if print_dictionary?(item)
  107.         dic_max += 1
  108.         if i_dictionary_switch_on?(item.id) == true
  109.           dic_num += 1
  110.         end
  111.       end
  112.     end
  113.     $data_weapons.each do |item|
  114.       if print_dictionary?(item)
  115.         dic_max += 1
  116.         if w_dictionary_switch_on?(item.id) == true
  117.           dic_num += 1
  118.         end
  119.       end
  120.     end
  121.     $data_armors.each do |item|
  122.       if print_dictionary?(item)
  123.         dic_max += 1
  124.         if a_dictionary_switch_on?(item.id) == true
  125.           dic_num += 1
  126.         end
  127.       end
  128.     end
  129.     return (100*dic_num)/dic_max
  130.   end
  131. end
  132.  
  133. class Game_Interpreter
  134.   include WD_itemdictionary
  135. end
  136.  
  137. class Game_System
  138.   #--------------------------------------------------------------------------
  139.   # ● 公開インスタンス変数
  140.   #--------------------------------------------------------------------------
  141.   attr_accessor :i_dic_sw
  142.   attr_accessor :w_dic_sw
  143.   attr_accessor :a_dic_sw
  144.   #--------------------------------------------------------------------------
  145.   # ● オブジェクト初期化
  146.   #--------------------------------------------------------------------------
  147.   alias wd_orig_initialize001 initialize
  148.   def initialize
  149.     wd_orig_initialize001
  150.     @i_dic_sw = []
  151.     @w_dic_sw = []
  152.     @a_dic_sw = []
  153.   end
  154. end
  155.  
  156. class Game_Party < Game_Unit
  157.   include WD_itemdictionary
  158.   #--------------------------------------------------------------------------
  159.   # ● アイテムの増加(減少)
  160.   #     include_equip : 装備品も含める
  161.   #--------------------------------------------------------------------------
  162.   alias wd_orig_gain_item001 gain_item
  163.   def gain_item(item, amount, include_equip = false)   
  164.     wd_orig_gain_item001(item, amount, include_equip = false)
  165.     if amount > 0
  166.       t_dictionary_switch_on(item)
  167.     end
  168.   end
  169. end
  170.  
  171.  
  172. #==============================================================================
  173. # ■ Scene_ItemDictionary
  174. #------------------------------------------------------------------------------
  175. #  アイテム図鑑画面の処理を行うクラスです。
  176. #==============================================================================
  177.  
  178. class Scene_ItemDictionary < Scene_ItemBase
  179.   #--------------------------------------------------------------------------
  180.   # ● 開始処理
  181.   #--------------------------------------------------------------------------
  182.   def start
  183.     super
  184.  
  185.     create_help_window
  186.     create_category_window
  187.     create_status_window
  188.     create_item_window
  189.     create_perfection_window
  190.   end
  191.   #--------------------------------------------------------------------------
  192.   # ● カテゴリウィンドウの作成
  193.   #--------------------------------------------------------------------------
  194.   def create_category_window
  195.     @category_window = Window_ItemCategory.new
  196.     @category_window.viewport = @viewport
  197.     @category_window.help_window = @help_window
  198.     @category_window.y = @help_window.height
  199.     @category_window.set_handler(:ok,     method(:on_category_ok))
  200.     @category_window.set_handler(:cancel, method(:return_scene))
  201.   end
  202.  
  203.   def return_scene
  204.     $game_map.autoplay
  205.     SceneManager.return
  206.   end
  207.  
  208.   #--------------------------------------------------------------------------
  209.   # ● アイテムウィンドウの作成
  210.   #--------------------------------------------------------------------------
  211.   def create_item_window
  212.     wy = @category_window.y + @category_window.height
  213.     wh = Graphics.height - wy - 48
  214.     @item_window = Window_ItemDictionaryList.new(Graphics.width-172-48, wy, 172+48, wh)
  215.     @item_window.viewport = @viewport
  216.     @item_window.help_window = @help_window
  217.     @item_window.status_window = @status_window
  218.     @item_window.set_handler(:cancel, method(:on_item_cancel))
  219.     @category_window.item_window = @item_window
  220.   end
  221.   #--------------------------------------------------------------------------
  222.   # ● アイテムステータスウィンドウの作成
  223.   #--------------------------------------------------------------------------
  224.   def create_status_window
  225.     wy = @category_window.y + @category_window.height
  226.     wh = Graphics.height - wy
  227.     @status_window = Window_ItemDictionaryStatus.new(0, wy, Graphics.width-172-48, wh)
  228.     @status_window.viewport = @viewport
  229.     @status_window.set_item(nil)
  230.   end
  231.   #--------------------------------------------------------------------------
  232.   # ● 図鑑完成度ウィンドウの作成
  233.   #--------------------------------------------------------------------------
  234.   def create_perfection_window
  235.     wy = @item_window.y + @item_window.height
  236.     wh = 48
  237.     @perfection_window = Window_ItemDictionaryPerfection.new(Graphics.width-172-48, wy, 172+48, wh)
  238.     @perfection_window.viewport = @viewport
  239.   end
  240.   #--------------------------------------------------------------------------
  241.   # ● カテゴリ[決定]
  242.   #--------------------------------------------------------------------------
  243.   def on_category_ok
  244.     @item_window.activate
  245.     @item_window.select_last
  246.   end
  247.   #--------------------------------------------------------------------------
  248.   # ● アイテム[キャンセル]
  249.   #--------------------------------------------------------------------------
  250.   def on_item_cancel
  251.     @item_window.unselect
  252.     @category_window.activate
  253.     @status_window.set_item(nil)
  254.   end
  255. end
  256.  
  257.  
  258.  
  259. #==============================================================================
  260. # ■ Window_ItemDictionaryList
  261. #------------------------------------------------------------------------------
  262. #  アイテム図鑑画面で、アイテムの一覧を表示するウィンドウです。
  263. #==============================================================================
  264.  
  265. class Window_ItemDictionaryList < Window_Selectable
  266.   include WD_itemdictionary
  267.   #--------------------------------------------------------------------------
  268.   # ● オブジェクト初期化
  269.   #--------------------------------------------------------------------------
  270.   def initialize(x, y, width, height)
  271.     super
  272.     @category = :none
  273.     @data = []
  274.   end
  275.   #--------------------------------------------------------------------------
  276.   # ● カテゴリの設定
  277.   #--------------------------------------------------------------------------
  278.   def category=(category)
  279.     return if @category == category
  280.     @category = category
  281.     refresh
  282.     self.oy = 0
  283.   end
  284.   #--------------------------------------------------------------------------
  285.   # ● 桁数の取得
  286.   #--------------------------------------------------------------------------
  287.   def col_max
  288.     return 1
  289.   end
  290.   #--------------------------------------------------------------------------
  291.   # ● 項目数の取得
  292.   #--------------------------------------------------------------------------
  293.   def item_max
  294.     @data ? @data.size : 1
  295.   end
  296.   #--------------------------------------------------------------------------
  297.   # ● アイテムの取得
  298.   #--------------------------------------------------------------------------
  299.   def item
  300.     @data && index >= 0 ? @data[index] : nil
  301.   end
  302.   #--------------------------------------------------------------------------
  303.   # ● 選択項目の有効状態を取得
  304.   #--------------------------------------------------------------------------
  305.   def current_item_enabled?
  306.     enable?(@data[index])
  307.   end
  308.   #--------------------------------------------------------------------------
  309.   # ● アイテムをリストに含めるかどうか
  310.   #--------------------------------------------------------------------------
  311.   def include?(item)
  312.     case @category
  313.     when :item
  314.       item.is_a?(RPG::Item) && !item.key_item?
  315.     when :weapon
  316.       item.is_a?(RPG::Weapon)
  317.     when :armor
  318.       item.is_a?(RPG::Armor)
  319.     when :key_item
  320.       item.is_a?(RPG::Item) && item.key_item?
  321.     else
  322.       false
  323.     end
  324.   end
  325.   #--------------------------------------------------------------------------
  326.   # ● アイテムリストの作成
  327.   #--------------------------------------------------------------------------
  328.   def make_item_list
  329.     @data = []
  330.     $data_items.each do |item|
  331.       if print_dictionary?(item)
  332.         @data.push(item) if include?(item)
  333.       end
  334.     end
  335.     $data_weapons.each do |item|
  336.       if print_dictionary?(item)
  337.         @data.push(item) if include?(item)
  338.       end
  339.     end
  340.     $data_armors.each do |item|
  341.       if print_dictionary?(item)
  342.         @data.push(item) if include?(item)
  343.       end
  344.     end
  345.     @data.push(nil) if include?(nil)
  346.   end
  347.   #--------------------------------------------------------------------------
  348.   # ● 前回の選択位置を復帰
  349.   #--------------------------------------------------------------------------
  350.   def select_last
  351.     select(0)
  352.   end
  353.   #--------------------------------------------------------------------------
  354.   # ● 項目の描画
  355.   #--------------------------------------------------------------------------
  356.   def draw_item(index)
  357.     item = @data[index]
  358.     if item
  359.       rect = item_rect(index)
  360.       rect.width -= 4
  361.       if t_dictionary_switch_on?(item)
  362.         change_color(normal_color, true)
  363.         draw_item_name(item, rect.x, rect.y, true)
  364.       else
  365.         change_color(normal_color, false)
  366.         draw_text(rect.x + 24, rect.y, 172, line_height, "???????")
  367.       end
  368.     end
  369.   end
  370.   #--------------------------------------------------------------------------
  371.   # ● ヘルプテキスト更新
  372.   #--------------------------------------------------------------------------
  373.   def update_help
  374.     if t_dictionary_switch_on?(item)
  375.       @help_window.set_item(item)
  376.       @status_window.set_item(item, @index, true)
  377.     else
  378.       @help_window.set_text("???????")
  379.       @status_window.set_item(item, @index, false)
  380.     end
  381.   end
  382.   #--------------------------------------------------------------------------
  383.   # ● リフレッシュ
  384.   #--------------------------------------------------------------------------
  385.   def refresh
  386.     make_item_list
  387.     create_contents
  388.     draw_all_items
  389.   end
  390.   #--------------------------------------------------------------------------
  391.   # ● ステータスウィンドウの設定
  392.   #--------------------------------------------------------------------------
  393.   def status_window=(status_window)
  394.     @status_window = status_window
  395.   end
  396. end
  397.  
  398. #==============================================================================
  399. # ■ Window_ItemDictionaryPerfection
  400. #------------------------------------------------------------------------------
  401. #  アイテム図鑑画面で、図鑑の完成度を表示するウィンドウです。
  402. #==============================================================================
  403.  
  404. class Window_ItemDictionaryPerfection < Window_Selectable
  405.   include WD_itemdictionary
  406.   #--------------------------------------------------------------------------
  407.   # ● オブジェクト初期化
  408.   #--------------------------------------------------------------------------
  409.   def initialize(x, y, width, height)
  410.     super
  411.     refresh(width)
  412.   end
  413.   #--------------------------------------------------------------------------
  414.   # ● リフレッシュ
  415.   #--------------------------------------------------------------------------
  416.   def refresh(width)
  417.     contents.clear
  418.     draw_text(0, 0, width-24, line_height, "图鉴完成度: #{item_dictionary_perfection} %", 1)
  419.   end
  420. end
  421.  
  422.  
  423. #==============================================================================
  424. # ■ Window_ItemDictionaryStatus
  425. #------------------------------------------------------------------------------
  426. #  アイテム図鑑画面で、アイテムの詳細を表示するウィンドウです。
  427. #==============================================================================
  428.  
  429. class Window_ItemDictionaryStatus < Window_Selectable
  430.   include WD_itemdictionary
  431.   #--------------------------------------------------------------------------
  432.   # ● オブジェクト初期化
  433.   #--------------------------------------------------------------------------
  434.   def initialize(x, y, width, height)
  435.     super
  436.     @item = nil
  437.     refresh
  438.   end
  439.   #--------------------------------------------------------------------------
  440.   # ● アイテムの設定
  441.   #--------------------------------------------------------------------------
  442.   def set_item(item, index=-1, print=false)
  443.     return if ((@item == item) and (@index == index))
  444.     @item = item
  445.     @index = index
  446.     @print = print
  447.     refresh
  448.   end
  449.   #--------------------------------------------------------------------------
  450.   # ● リフレッシュ
  451.   #--------------------------------------------------------------------------
  452.   def refresh
  453.     contents.clear
  454.     contents.font.size = 24
  455.  
  456.     if @print
  457.  
  458.       if @item.is_a?(RPG::Item)
  459.         if WD_itemdictionary_layout::I_id_display
  460.           text1  = sprintf("%0#{WD_itemdictionary_layout::I_id_display_digit}d",@index+1)
  461.           x      = WD_itemdictionary_layout::I_id_display_x
  462.           y      = WD_itemdictionary_layout::I_id_display_y
  463.           width  = WD_itemdictionary_layout::I_id_display_width
  464.           height = line_height
  465.           draw_text(x, y, width, height, text1, 0)
  466.         end
  467.         if WD_itemdictionary_layout::I_name_display
  468.           x      = WD_itemdictionary_layout::I_name_display_x
  469.           y      = WD_itemdictionary_layout::I_name_display_y
  470.           draw_item_name(@item, x, y, true)
  471.         end
  472.         font_size = WD_itemdictionary_layout::C_font_size
  473.         contents.font.size = font_size
  474.         if WD_itemdictionary_layout::I_price_display
  475.           text1  = WD_itemdictionary_layout::I_price_display_text1
  476.           text2  = @item.price
  477.           text3  = Vocab::currency_unit
  478.           x      = WD_itemdictionary_layout::I_price_display_x
  479.           y      = WD_itemdictionary_layout::I_price_display_y
  480.           width  = WD_itemdictionary_layout::I_price_display_width
  481.           change_color(system_color)
  482.           draw_text(x, y, width, font_size, text1, 0)
  483.           cx = text_size(Vocab::currency_unit).width
  484.           change_color(normal_color)
  485.           draw_text(x, y, width - cx - 2, font_size, text2, 2)
  486.           change_color(system_color)
  487.           draw_text(x, y, width, font_size, text3, 2)
  488.           change_color(normal_color)
  489.         end
  490.         if WD_itemdictionary_layout::I_occasion_display
  491.           text1  = WD_itemdictionary_layout::I_occasion_display_text1
  492.           text2  = WD_itemdictionary_layout::I_occasion_display_text2
  493.           text3  = WD_itemdictionary_layout::I_occasion_display_text3
  494.           text4  = WD_itemdictionary_layout::I_occasion_display_text4
  495.           text5  = WD_itemdictionary_layout::I_occasion_display_text5
  496.           x      = WD_itemdictionary_layout::I_occasion_display_x
  497.           y      = WD_itemdictionary_layout::I_occasion_display_y
  498.           width  = WD_itemdictionary_layout::I_occasion_display_width
  499.           change_color(system_color)
  500.           draw_text(x, y, width, font_size, text1, 0)
  501.           change_color(normal_color)
  502.           case @item.occasion
  503.           when 0
  504.             draw_text(x, y, width, font_size, text2, 2)
  505.           when 1
  506.             draw_text(x, y, width, font_size, text3, 2)
  507.           when 2
  508.             draw_text(x, y, width, font_size, text4, 2)
  509.           when 3
  510.             draw_text(x, y, width, font_size, text5, 2)
  511.           end
  512.         end
  513.         if WD_itemdictionary_layout::I_consumable_display
  514.           text1  = WD_itemdictionary_layout::I_consumable_display_text1
  515.           text2  = WD_itemdictionary_layout::I_consumable_display_text2
  516.           text3  = WD_itemdictionary_layout::I_consumable_display_text3
  517.           x      = WD_itemdictionary_layout::I_consumable_display_x
  518.           y      = WD_itemdictionary_layout::I_consumable_display_y
  519.           width  = WD_itemdictionary_layout::I_consumable_display_width
  520.           change_color(system_color)
  521.           draw_text(x, y, width, font_size, text1, 0)
  522.           change_color(normal_color)
  523.           if @item.consumable
  524.             draw_text(x, y, width, font_size, text2, 2)
  525.           else
  526.             draw_text(x, y, width, font_size, text3, 2)
  527.           end
  528.         end  
  529.         if WD_itemdictionary_layout::I_option_display
  530.           text1  = WD_itemdictionary_layout::I_option_display_text1
  531.           text2  = WD_itemdictionary_layout::I_option_display_text2
  532.           x      = WD_itemdictionary_layout::I_option_display_x
  533.           y      = WD_itemdictionary_layout::I_option_display_y
  534.           width  = WD_itemdictionary_layout::I_option_display_width
  535.           change_color(system_color)
  536.           draw_text(x, y, width, font_size, text1, 0)
  537.           change_color(normal_color)
  538.           i = 0
  539.           @item.note.scan(/<图鉴功能:(.*)>/){|matched|
  540.             i += 1
  541.             self.contents.draw_text(x + font_size, y + font_size * i, width - font_size, font_size, matched[0], 0)
  542.            }
  543.           if i == 0
  544.             self.contents.draw_text(x + font_size, y + font_size, width - font_size, font_size, text2, 0)
  545.           end
  546.         end
  547.  
  548.       elsif @item.is_a?(RPG::Weapon)
  549.         if WD_itemdictionary_layout::W_id_display
  550.           text1  = sprintf("%0#{WD_itemdictionary_layout::W_id_display_digit}d",@index+1)
  551.           x      = WD_itemdictionary_layout::W_id_display_x
  552.           y      = WD_itemdictionary_layout::W_id_display_y
  553.           width  = WD_itemdictionary_layout::W_id_display_width
  554.           height = line_height
  555.           draw_text(x, y, width, height, text1, 0)
  556.         end
  557.         if WD_itemdictionary_layout::W_name_display
  558.           x      = WD_itemdictionary_layout::W_name_display_x
  559.           y      = WD_itemdictionary_layout::W_name_display_y
  560.           draw_item_name(@item, x, y, true)
  561.         end
  562.         font_size = WD_itemdictionary_layout::C_font_size
  563.         contents.font.size = font_size
  564.         if WD_itemdictionary_layout::W_type_display
  565.           text1  = WD_itemdictionary_layout::W_type_display_text1
  566.           text2  = $data_system.weapon_types[@item.wtype_id]
  567.           x      = WD_itemdictionary_layout::W_type_display_x
  568.           y      = WD_itemdictionary_layout::W_type_display_y
  569.           width  = WD_itemdictionary_layout::W_type_display_width
  570.           change_color(system_color)
  571.           draw_text(x, y, width, font_size, text1, 0)
  572.           change_color(normal_color)
  573.           draw_text(x, y, width, font_size, text2, 2)
  574.         end
  575.         if WD_itemdictionary_layout::W_price_display
  576.           text1  = WD_itemdictionary_layout::W_price_display_text1
  577.           text2  = @item.price
  578.           text3  = Vocab::currency_unit
  579.           x      = WD_itemdictionary_layout::W_price_display_x
  580.           y      = WD_itemdictionary_layout::W_price_display_y
  581.           width  = WD_itemdictionary_layout::W_price_display_width
  582.           change_color(system_color)
  583.           draw_text(x, y, width, font_size, text1, 0)
  584.           cx = text_size(Vocab::currency_unit).width
  585.           change_color(normal_color)
  586.           draw_text(x, y, width - cx - 2, font_size, text2, 2)
  587.           change_color(system_color)
  588.           draw_text(x, y, width, font_size, text3, 2)
  589.           change_color(normal_color)
  590.         end
  591.         if WD_itemdictionary_layout::W_atk_display
  592.           text1  = Vocab::param(2)
  593.           text2  = @item.params[2]
  594.           x      = WD_itemdictionary_layout::W_atk_display_x
  595.           y      = WD_itemdictionary_layout::W_atk_display_y
  596.           width  = WD_itemdictionary_layout::W_atk_display_width
  597.           change_color(system_color)
  598.           draw_text(x, y, width, font_size, text1, 0)
  599.           change_color(normal_color)
  600.           draw_text(x, y, width, font_size, text2, 2)
  601.         end
  602.         if WD_itemdictionary_layout::W_def_display
  603.           text1  = Vocab::param(3)
  604.           text2  = @item.params[3]
  605.           x      = WD_itemdictionary_layout::W_def_display_x
  606.           y      = WD_itemdictionary_layout::W_def_display_y
  607.           width  = WD_itemdictionary_layout::W_def_display_width
  608.           change_color(system_color)
  609.           draw_text(x, y, width, font_size, text1, 0)
  610.           change_color(normal_color)
  611.           draw_text(x, y, width, font_size, text2, 2)
  612.         end
  613.         if WD_itemdictionary_layout::W_mat_display
  614.           text1  = Vocab::param(4)
  615.           text2  = @item.params[4]
  616.           x      = WD_itemdictionary_layout::W_mat_display_x
  617.           y      = WD_itemdictionary_layout::W_mat_display_y
  618.           width  = WD_itemdictionary_layout::W_mat_display_width
  619.           change_color(system_color)
  620.           draw_text(x, y, width, font_size, text1, 0)
  621.           change_color(normal_color)
  622.           draw_text(x, y, width, font_size, text2, 2)
  623.         end
  624.         if WD_itemdictionary_layout::W_mdf_display
  625.           text1  = Vocab::param(5)
  626.           text2  = @item.params[5]
  627.           x      = WD_itemdictionary_layout::W_mdf_display_x
  628.           y      = WD_itemdictionary_layout::W_mdf_display_y
  629.           width  = WD_itemdictionary_layout::W_mdf_display_width
  630.           change_color(system_color)
  631.           draw_text(x, y, width, font_size, text1, 0)
  632.           change_color(normal_color)
  633.           draw_text(x, y, width, font_size, text2, 2)
  634.         end
  635.         if WD_itemdictionary_layout::W_agi_display
  636.           text1  = Vocab::param(6)
  637.           text2  = @item.params[6]
  638.           x      = WD_itemdictionary_layout::W_agi_display_x
  639.           y      = WD_itemdictionary_layout::W_agi_display_y
  640.           width  = WD_itemdictionary_layout::W_agi_display_width
  641.           change_color(system_color)
  642.           draw_text(x, y, width, font_size, text1, 0)
  643.           change_color(normal_color)
  644.           draw_text(x, y, width, font_size, text2, 2)
  645.         end
  646.         if WD_itemdictionary_layout::W_luk_display
  647.           text1  = Vocab::param(7)
  648.           text2  = @item.params[7]
  649.           x      = WD_itemdictionary_layout::W_luk_display_x
  650.           y      = WD_itemdictionary_layout::W_luk_display_y
  651.           width  = WD_itemdictionary_layout::W_luk_display_width
  652.           change_color(system_color)
  653.           draw_text(x, y, width, font_size, text1, 0)
  654.           change_color(normal_color)
  655.           draw_text(x, y, width, font_size, text2, 2)
  656.         end
  657.         if WD_itemdictionary_layout::W_mhp_display
  658.           text1  = Vocab::param(0)
  659.           text2  = @item.params[0]
  660.           x      = WD_itemdictionary_layout::W_mhp_display_x
  661.           y      = WD_itemdictionary_layout::W_mhp_display_y
  662.           width  = WD_itemdictionary_layout::W_mhp_display_width
  663.           change_color(system_color)
  664.           draw_text(x, y, width, font_size, text1, 0)
  665.           change_color(normal_color)
  666.           draw_text(x, y, width, font_size, text2, 2)
  667.         end
  668.         if WD_itemdictionary_layout::W_mmp_display
  669.           text1  = Vocab::param(1)
  670.           text2  = @item.params[1]
  671.           x      = WD_itemdictionary_layout::W_mmp_display_x
  672.           y      = WD_itemdictionary_layout::W_mmp_display_y
  673.           width  = WD_itemdictionary_layout::W_mmp_display_width
  674.           change_color(system_color)
  675.           draw_text(x, y, width, font_size, text1, 0)
  676.           change_color(normal_color)
  677.           draw_text(x, y, width, font_size, text2, 2)
  678.         end
  679.         if WD_itemdictionary_layout::W_option_display
  680.           text1  = WD_itemdictionary_layout::W_option_display_text1
  681.           text2  = WD_itemdictionary_layout::W_option_display_text2
  682.           x      = WD_itemdictionary_layout::W_option_display_x
  683.           y      = WD_itemdictionary_layout::W_option_display_y
  684.           width  = WD_itemdictionary_layout::W_option_display_width
  685.           change_color(system_color)
  686.           draw_text(x, y, width, font_size, text1, 0)
  687.           change_color(normal_color)
  688.           i = 0
  689.           @item.note.scan(/<图鉴功能:(.*)>/){|matched|
  690.             i += 1
  691.             self.contents.draw_text(x + font_size, y + font_size * i, width - font_size, font_size, matched[0], 0)
  692.            }
  693.           if i == 0
  694.             self.contents.draw_text(x + font_size, y + font_size, width - font_size, font_size, text2, 0)
  695.           end
  696.         end
  697.  
  698.       elsif @item.is_a?(RPG::Armor)
  699.         if WD_itemdictionary_layout::A_id_display
  700.           text1  = sprintf("%0#{WD_itemdictionary_layout::A_id_display_digit}d",@index+1)
  701.           x      = WD_itemdictionary_layout::A_id_display_x
  702.           y      = WD_itemdictionary_layout::A_id_display_y
  703.           width  = WD_itemdictionary_layout::A_id_display_width
  704.           height = line_height
  705.           draw_text(x, y, width, height, text1, 0)
  706.         end
  707.         if WD_itemdictionary_layout::A_name_display
  708.           x      = WD_itemdictionary_layout::A_name_display_x
  709.           y      = WD_itemdictionary_layout::A_name_display_y
  710.           draw_item_name(@item, x, y, true)
  711.         end
  712.         font_size = WD_itemdictionary_layout::C_font_size
  713.         contents.font.size = font_size
  714.         if WD_itemdictionary_layout::A_type_display
  715.           text1  = WD_itemdictionary_layout::A_type_display_text1
  716.           text2  = $data_system.armor_types[@item.atype_id]
  717.           x      = WD_itemdictionary_layout::A_type_display_x
  718.           y      = WD_itemdictionary_layout::A_type_display_y
  719.           width  = WD_itemdictionary_layout::A_type_display_width
  720.           change_color(system_color)
  721.           draw_text(x, y, width, font_size, text1, 0)
  722.           change_color(normal_color)
  723.           draw_text(x, y, width, font_size, text2, 2)
  724.         end
  725.         if WD_itemdictionary_layout::A_price_display
  726.           text1  = WD_itemdictionary_layout::A_price_display_text1
  727.           text2  = @item.price
  728.           text3  = Vocab::currency_unit
  729.           x      = WD_itemdictionary_layout::A_price_display_x
  730.           y      = WD_itemdictionary_layout::A_price_display_y
  731.           width  = WD_itemdictionary_layout::A_price_display_width
  732.           change_color(system_color)
  733.           draw_text(x, y, width, font_size, text1, 0)
  734.           cx = text_size(Vocab::currency_unit).width
  735.           change_color(normal_color)
  736.           draw_text(x, y, width - cx - 2, font_size, text2, 2)
  737.           change_color(system_color)
  738.           draw_text(x, y, width, font_size, text3, 2)
  739.           change_color(normal_color)
  740.         end
  741.         if WD_itemdictionary_layout::A_atk_display
  742.           text1  = Vocab::param(2)
  743.           text2  = @item.params[2]
  744.           x      = WD_itemdictionary_layout::A_atk_display_x
  745.           y      = WD_itemdictionary_layout::A_atk_display_y
  746.           width  = WD_itemdictionary_layout::A_atk_display_width
  747.           change_color(system_color)
  748.           draw_text(x, y, width, font_size, text1, 0)
  749.           change_color(normal_color)
  750.           draw_text(x, y, width, font_size, text2, 2)
  751.         end
  752.         if WD_itemdictionary_layout::A_def_display
  753.           text1  = Vocab::param(3)
  754.           text2  = @item.params[3]
  755.           x      = WD_itemdictionary_layout::A_def_display_x
  756.           y      = WD_itemdictionary_layout::A_def_display_y
  757.           width  = WD_itemdictionary_layout::A_def_display_width
  758.           change_color(system_color)
  759.           draw_text(x, y, width, font_size, text1, 0)
  760.           change_color(normal_color)
  761.           draw_text(x, y, width, font_size, text2, 2)
  762.         end
  763.         if WD_itemdictionary_layout::A_mat_display
  764.           text1  = Vocab::param(4)
  765.           text2  = @item.params[4]
  766.           x      = WD_itemdictionary_layout::A_mat_display_x
  767.           y      = WD_itemdictionary_layout::A_mat_display_y
  768.           width  = WD_itemdictionary_layout::A_mat_display_width
  769.           change_color(system_color)
  770.           draw_text(x, y, width, font_size, text1, 0)
  771.           change_color(normal_color)
  772.           draw_text(x, y, width, font_size, text2, 2)
  773.         end
  774.         if WD_itemdictionary_layout::A_mdf_display
  775.           text1  = Vocab::param(5)
  776.           text2  = @item.params[5]
  777.           x      = WD_itemdictionary_layout::A_mdf_display_x
  778.           y      = WD_itemdictionary_layout::A_mdf_display_y
  779.           width  = WD_itemdictionary_layout::A_mdf_display_width
  780.           change_color(system_color)
  781.           draw_text(x, y, width, font_size, text1, 0)
  782.           change_color(normal_color)
  783.           draw_text(x, y, width, font_size, text2, 2)
  784.         end
  785.         if WD_itemdictionary_layout::A_agi_display
  786.           text1  = Vocab::param(6)
  787.           text2  = @item.params[6]
  788.           x      = WD_itemdictionary_layout::A_agi_display_x
  789.           y      = WD_itemdictionary_layout::A_agi_display_y
  790.           width  = WD_itemdictionary_layout::A_agi_display_width
  791.           change_color(system_color)
  792.           draw_text(x, y, width, font_size, text1, 0)
  793.           change_color(normal_color)
  794.           draw_text(x, y, width, font_size, text2, 2)
  795.         end
  796.         if WD_itemdictionary_layout::A_luk_display
  797.           text1  = Vocab::param(7)
  798.           text2  = @item.params[7]
  799.           x      = WD_itemdictionary_layout::A_luk_display_x
  800.           y      = WD_itemdictionary_layout::A_luk_display_y
  801.           width  = WD_itemdictionary_layout::A_luk_display_width
  802.           change_color(system_color)
  803.           draw_text(x, y, width, font_size, text1, 0)
  804.           change_color(normal_color)
  805.           draw_text(x, y, width, font_size, text2, 2)
  806.         end
  807.         if WD_itemdictionary_layout::A_mhp_display
  808.           text1  = Vocab::param(0)
  809.           text2  = @item.params[0]
  810.           x      = WD_itemdictionary_layout::A_mhp_display_x
  811.           y      = WD_itemdictionary_layout::A_mhp_display_y
  812.           width  = WD_itemdictionary_layout::A_mhp_display_width
  813.           change_color(system_color)
  814.           draw_text(x, y, width, font_size, text1, 0)
  815.           change_color(normal_color)
  816.           draw_text(x, y, width, font_size, text2, 2)
  817.         end
  818.         if WD_itemdictionary_layout::A_mmp_display
  819.           text1  = Vocab::param(1)
  820.           text2  = @item.params[1]
  821.           x      = WD_itemdictionary_layout::A_mmp_display_x
  822.           y      = WD_itemdictionary_layout::A_mmp_display_y
  823.           width  = WD_itemdictionary_layout::A_mmp_display_width
  824.           change_color(system_color)
  825.           draw_text(x, y, width, font_size, text1, 0)
  826.           change_color(normal_color)
  827.           draw_text(x, y, width, font_size, text2, 2)
  828.         end
  829.         if WD_itemdictionary_layout::A_option_display
  830.           text1  = WD_itemdictionary_layout::A_option_display_text1
  831.           text2  = WD_itemdictionary_layout::A_option_display_text2
  832.           x      = WD_itemdictionary_layout::A_option_display_x
  833.           y      = WD_itemdictionary_layout::A_option_display_y
  834.           width  = WD_itemdictionary_layout::A_option_display_width
  835.           change_color(system_color)
  836.           draw_text(x, y, width, font_size, text1, 0)
  837.           change_color(normal_color)
  838.           i = 0
  839.           @item.note.scan(/<图鉴功能:(.*)>/){|matched|
  840.             i += 1
  841.             self.contents.draw_text(x + font_size, y + font_size * i, width - font_size, font_size, matched[0], 0)
  842.            }
  843.           if i == 0
  844.             self.contents.draw_text(x + font_size, y + font_size, width - font_size, font_size, text2, 0)
  845.           end
  846.         end
  847.  
  848.       end
  849.  
  850.     elsif @item != nil
  851.       if @item.is_a?(RPG::Item)
  852.         if WD_itemdictionary_layout::I_id_display
  853.           text1  = sprintf("%0#{WD_itemdictionary_layout::I_id_display_digit}d",@index+1)
  854.           x      = WD_itemdictionary_layout::I_id_display_x
  855.           y      = WD_itemdictionary_layout::I_id_display_y
  856.           width  = WD_itemdictionary_layout::I_id_display_width
  857.           height = line_height
  858.           draw_text(x, y, width, height, text1, 0)
  859.         end
  860.         if WD_itemdictionary_layout::I_name_display
  861.           text1  = "- No Data -"
  862.           x      = WD_itemdictionary_layout::I_name_display_x
  863.           y      = WD_itemdictionary_layout::I_name_display_y
  864.           width  = WD_itemdictionary_layout::I_name_display_width
  865.           height = line_height
  866.           draw_text(x, y, width, height, text1, 0)
  867.         end
  868.       end
  869.       if @item.is_a?(RPG::Weapon)
  870.         if WD_itemdictionary_layout::W_id_display
  871.           text1  = sprintf("%0#{WD_itemdictionary_layout::W_id_display_digit}d",@index+1)
  872.           x      = WD_itemdictionary_layout::W_id_display_x
  873.           y      = WD_itemdictionary_layout::W_id_display_y
  874.           width  = WD_itemdictionary_layout::W_id_display_width
  875.           height = line_height
  876.           draw_text(x, y, width, height, text1, 0)
  877.         end
  878.         if WD_itemdictionary_layout::W_name_display
  879.           text1  = "- No Data -"
  880.           x      = WD_itemdictionary_layout::W_name_display_x
  881.           y      = WD_itemdictionary_layout::W_name_display_y
  882.           width  = WD_itemdictionary_layout::W_name_display_width
  883.           height = line_height
  884.           draw_text(x, y, width, height, text1, 0)
  885.         end
  886.       end
  887.       if @item.is_a?(RPG::Armor)
  888.         if WD_itemdictionary_layout::A_id_display
  889.           text1  = sprintf("%0#{WD_itemdictionary_layout::A_id_display_digit}d",@index+1)
  890.           x      = WD_itemdictionary_layout::A_id_display_x
  891.           y      = WD_itemdictionary_layout::A_id_display_y
  892.           width  = WD_itemdictionary_layout::A_id_display_width
  893.           height = line_height
  894.           draw_text(x, y, width, height, text1, 0)
  895.         end
  896.         if WD_itemdictionary_layout::A_name_display
  897.           text1  = "- No Data -"
  898.           x      = WD_itemdictionary_layout::A_name_display_x
  899.           y      = WD_itemdictionary_layout::A_name_display_y
  900.           width  = WD_itemdictionary_layout::A_name_display_width
  901.           height = line_height
  902.           draw_text(x, y, width, height, text1, 0)
  903.         end
  904.       end
  905.  
  906.     end
  907.   end
  908. end

最佳答案

查看完整内容

按照楼主的改法的话 在return上面一行加 当然这么改的话也必须进入Scene_ItemDictionary之后变量才会更新 另外其实也可以在事件中直接给变量赋值脚本 item_dictionary_perfection 想在除事件外其他地方也用脚本随时赋值的话 module WD_itemdictionary下面插入 然后在想更新变量的地方

Lv4.逐梦者

梦石
0
星屑
13753
在线时间
5690 小时
注册时间
2011-7-18
帖子
158

开拓者

2
发表于 2019-12-4 12:43:44 | 只看该作者
本帖最后由 gqxastg 于 2019-12-4 17:23 编辑

按照楼主的改法的话
在return上面一行
  1. $game_variables[1] =  (100*dic_num)/dic_max
复制代码


当然这么改的话也必须进入Scene_ItemDictionary之后变量才会更新

另外其实也可以在事件中直接给变量赋值脚本
item_dictionary_perfection

想在除事件外其他地方也用脚本随时赋值的话
module WD_itemdictionary下面插入
  1. class << self; include WD_itemdictionary; end
复制代码

然后在想更新变量的地方
  1. $game_variables[1] = WD_itemdictionary.item_dictionary_perfection
复制代码

点评

更新了一下 试试这个办法  发表于 2019-12-4 15:37
试了下上面那个法子还是不顶用,事件里直接直接赋值倒是可以,但是听不方便~  发表于 2019-12-4 14:13

评分

参与人数 2+2 收起 理由
Cupidk爱呗茶 + 1
foot1982 + 1 谢谢啦

查看全部评分

这里岚风·雷,任饭、PM理性粉、UT/DR原作粉、(Trans)Furry自萌,半吊子技术一枚_(:з」∠)_    游戏制作交流工(liao)作(tian)室欢迎来玩!
【无偿/有偿】RGSS3(VA)脚本定制 + 合作招募/同好交友    修正Firefox/火狐浏览器的代码框复制问题(油猴脚本)
Click→←Click
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-25 21:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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