Project1

标题: 用了物品分类脚本之后无法出售的问题 [打印本页]

作者: yl51379    时间: 2015-7-9 23:13
标题: 用了物品分类脚本之后无法出售的问题
用了这个物品分类脚本之后

RUBY 代码复制
  1. #==============================================================================
  2. #  功能:[RMVA]增加物品栏类别
  3. #  作者:ScottyFan
  4. #  版本:v1.0 2013.8.8
  5. #  使用说明:
  6. #         在数据库-物品(包括装备)-备注 里写入 @itype[位置编号]
  7. #         新的物品分类编号是从 1 开始。比如 @itype[1]或者@itype[2]
  8. #==============================================================================
  9. module SFS
  10.   CATEGORY = [            #格式["显示名称", :标识],  标识随便写,不重复即可
  11.     ["",     :default],   #注意,不要更改此行
  12.     ["恢复", :Recovery],  #此处为编号1
  13.     ["辅助", :Aid],
  14.     ["材料", :Material],
  15.     ["宝石", :Gem],
  16.     ]
  17. end
  18.  
  19. class RPG::BaseItem
  20.   attr_reader   :category_id
  21.   def category_id
  22.     return if self.is_a?(RPG::Skill)
  23.     if @category_id.nil?
  24.       /@itype\[(.+?)\]/ =~ @note
  25.       @category_id = $1.to_i
  26.     end
  27.     @category_id
  28.   end
  29. end
  30.  
  31.  
  32. class Window_ItemList
  33.   #--------------------------------------------------------------------------
  34.   # ● 查询列表中是否含有此物品
  35.   #--------------------------------------------------------------------------
  36.   def include?(item)
  37.     if item && item.category_id > 0 #如果是特殊类别
  38.       return @category == SFS::CATEGORY[item.category_id][1]
  39.     end
  40.     case @category   
  41.     when :item
  42.       item.is_a?(RPG::Item) && !item.key_item?
  43.     when :weapon
  44.       item.is_a?(RPG::Weapon)
  45.     when :armor
  46.       item.is_a?(RPG::Armor)
  47.     when :key_item
  48.       item.is_a?(RPG::Item) && item.key_item?
  49.     else
  50.       false
  51.     end
  52.   end
  53. end
  54.  
  55. class Window_ItemCategoryNew < Window_Command
  56.   #--------------------------------------------------------------------------
  57.   # ● 定义实例变量
  58.   #--------------------------------------------------------------------------
  59.   attr_reader   :item_window
  60.   #--------------------------------------------------------------------------
  61.   # ● 更新画面
  62.   #--------------------------------------------------------------------------
  63.   def update
  64.     super
  65.     @item_window.category = current_symbol if @item_window
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● 生成指令列表
  69.   #--------------------------------------------------------------------------
  70.   def make_command_list
  71.     SFS::CATEGORY.each do |itype|
  72.       next if itype[1] == :default
  73.       add_command(itype[0],  itype[1])
  74.     end
  75.     add_command("其它",     :item)
  76.     add_command(Vocab::weapon,   :weapon)
  77.     add_command(Vocab::armor,    :armor)
  78.     add_command(Vocab::key_item, :key_item)
  79.   end
  80.   #--------------------------------------------------------------------------
  81.   # ● 设置物品窗口
  82.   #--------------------------------------------------------------------------
  83.   def item_window=(item_window)
  84.     @item_window = item_window
  85.     update
  86.   end
  87. end
  88.  
  89. class Scene_Item < Scene_ItemBase
  90.   #--------------------------------------------------------------------------
  91.   # ● 生成分类窗口
  92.   #--------------------------------------------------------------------------
  93.   def create_category_window
  94.     @category_window = Window_ItemCategoryNew.new(0, @help_window.height)
  95.     @category_window.viewport = @viewport
  96.     @category_window.help_window = @help_window
  97.     @category_window.height = Graphics.height - @help_window.height
  98.     @category_window.set_handler(:ok,     method(:on_category_ok))
  99.     @category_window.set_handler(:cancel, method(:return_scene))
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # ● 生成物品窗口
  103.   #--------------------------------------------------------------------------
  104.   def create_item_window
  105.     wx = @category_window.width
  106.     wh = Graphics.height - @help_window.height
  107.     @item_window = Window_ItemList.new(wx, @help_window.height, Graphics.width - wx, wh)
  108.     @item_window.viewport = @viewport
  109.     @item_window.help_window = @help_window
  110.     @item_window.set_handler(:ok,     method(:on_item_ok))
  111.     @item_window.set_handler(:cancel, method(:on_item_cancel))
  112.     @category_window.item_window = @item_window
  113.   end
  114. end


普通的物品就无法出售了   不知道有没有办法解决
作者: VIPArcher    时间: 2015-7-9 23:33
试试这个https://raw.githubusercontent.co ... 5%88%86%E7%B1%BB.rb




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