Project1

标题: 请问怎么让物品栏只留物品或者贵重物品 [打印本页]

作者: 幽灵栞    时间: 2014-8-2 22:42
标题: 请问怎么让物品栏只留物品或者贵重物品
用这个脚本之后会多出武器的选项
RUBY 代码复制
  1. =begin
  2. ===============================================================================
  3.   物品菜单简化 By喵呜喵5
  4. ===============================================================================
  5.  
  6. 【说明】
  7.  
  8.   按照RMVX的方式修改了默认的物品菜单,删除了分类框,默认显示持有的物品
  9.  
  10.   (
  11.   针对懂脚本的人:
  12.   你可以使用Scene_Item、Scene_M5KeyItem、Scene_M5Weapon、Scene_M5Armor
  13.   来调出四个分类各自的物品界面
  14.   )
  15.  
  16. =end
  17. $m5script = {} if $m5script.nil?
  18. $m5script["M5SimpleItem"] = true
  19. module M5SimpleItem
  20. #==============================================================================
  21. #  设定部分
  22. #==============================================================================
  23.  
  24.   INCLUDE = false
  25.   #物品菜单中是否包含重要物品
  26.   #如果希望普通物品和重要物品不区分对待的话,这里设置成true
  27.  
  28.   MENU = true
  29.   #如果希望在菜单中显示其他物品分类的话,这里设置成true
  30.  
  31.     SWI = [-1,0,1]
  32.     #请按照顺序依次填写各个物品分类的菜单选项对应的出现条件
  33.     #小于零:出现
  34.     #等于零:不出现
  35.     #大于零:对应数字ID的开关打开时才出现
  36.     #顺序:[武器,防具,重要物品]
  37.     #(显示名字可以在数据库中修改)
  38.  
  39.  
  40. #==============================================================================
  41. #  设定结束
  42. #==============================================================================
  43. end
  44. class Window_ItemList
  45.   alias m5_20131108_include? include?
  46.   def include?(item)   
  47.     case @category
  48.     when :item
  49.       return true if (item.is_a?(RPG::Item) and M5SimpleItem::INCLUDE)
  50.     end
  51.     m5_20131108_include?(item)
  52.   end
  53. end
  54. class Scene_Item
  55.   def start
  56.     super
  57.     create_help_window
  58.     create_item_window
  59.     @item_window.category = :item
  60.     m5start
  61.   end
  62.   def m5start
  63.     @item_window.activate
  64.     @item_window.index = 0
  65.     @item_window.select_last
  66.   end
  67.   def create_item_window
  68.     wy = @help_window.height
  69.     wh = Graphics.height - wy
  70.     @item_window = Window_ItemList.new(0, wy, Graphics.width, wh)
  71.     @item_window.viewport = @viewport
  72.     @item_window.help_window = @help_window
  73.     @item_window.set_handler(:ok,     method(:on_item_ok))
  74.     @item_window.set_handler(:cancel, method(:return_scene))
  75.   end
  76. end
  77. class Scene_M5KeyItem < Scene_Item
  78.   def start
  79.     super
  80.     @item_window.category = :key_item
  81.     m5start
  82.   end
  83. end
  84. class Scene_M5Weapon < Scene_Item
  85.   def start
  86.     super
  87.     @item_window.category = :weapon
  88.     m5start
  89.   end
  90. end
  91. class Scene_M5Armor < Scene_Item
  92.   def start
  93.     super
  94.     @item_window.category = :armor
  95.     m5start
  96.   end
  97. end
  98. class Window_MenuCommand
  99.   alias m5_20131108_add_original_commands add_original_commands
  100.   def add_original_commands
  101.     m5_20131108_add_original_commands
  102.     add_m5_simple_item_commands if M5SimpleItem::MENU
  103.   end
  104.   def add_m5_simple_item_commands
  105.     name = [Vocab::weapon,Vocab::armor,Vocab::key_item]
  106.     index = [:m5weapon,:m5armor,:m5key_item]
  107.     3.times do |i|
  108.       add_command(name[i],index[i]) if \
  109.       (M5SimpleItem::SWI[i] < 0 or $game_switches[M5SimpleItem::SWI[i]])
  110.     end
  111.   end
  112. end
  113. class Scene_Menu
  114.   alias m5_20131108_create_command_window create_command_window
  115.   def create_command_window
  116.     m5_20131108_create_command_window
  117.     index = [:m5weapon,:m5armor,:m5key_item]
  118.     3.times do |i|
  119.       @command_window.set_handler(index[i],method(index[i]))
  120.     end   
  121.   end
  122.   def m5weapon
  123.     SceneManager.call(Scene_M5Weapon)
  124.   end
  125.   def m5armor
  126.     SceneManager.call(Scene_M5Armor)
  127.   end
  128.   def m5key_item
  129.     SceneManager.call(Scene_M5KeyItem)
  130.   end
  131. end
  132. #==============================================================================
  133. #  脚本结束
  134. #==============================================================================

作者: VIPArcher    时间: 2014-8-2 23:16
本帖最后由 VIPArcher 于 2014-8-2 23:20 编辑
  1. class Window_ItemCategory < Window_HorzCommand
  2.   #--------------------------------------------------------------------------
  3.   # ● 获取列数
  4.   #--------------------------------------------------------------------------
  5.   def col_max
  6.     return 2
  7.   end
  8.   #--------------------------------------------------------------------------
  9.   # ● 生成指令列表
  10.   #--------------------------------------------------------------------------
  11.   def make_command_list
  12.     add_command(Vocab::item,     :item)
  13.     add_command(Vocab::key_item, :key_item)
  14.   end
  15. end
复制代码
诶诶诶,等等。你这不是用的是喵呜的脚本吗?看注释啊
用脚本的时候看注释!看注释啊
RUBY 代码复制
  1. MENU = true
  2.   #如果希望在菜单中显示其他物品分类的话,这里设置成true
  3.  
  4.     SWI = [-1,0,1]
  5.     #请按照顺序依次填写各个物品分类的菜单选项对应的出现条件
  6.     #小于零:出现
  7.     #等于零:不出现
  8.     #大于零:对应数字ID的开关打开时才出现
  9.     #顺序:[武器,防具,重要物品]
  10.     #(显示名字可以在数据库中修改)

你把SWI这样设置不就好了?
RUBY 代码复制
  1. SWI = [0,0,-1]





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1