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

Project1

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

[RMVA发布] 道具新增分類

[复制链接]

Lv1.梦旅人

梦石
0
星屑
99
在线时间
158 小时
注册时间
2011-7-15
帖子
39
跳转到指定楼层
1
发表于 2013-11-20 09:23:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 deeg 于 2013-11-20 12:52 编辑

新手編寫,所以相容性不保證
使用上應該沒問題
還是個不成熟的腳本
使用方法都寫在註解裡了
主要是給不懂或跟我一樣稍微懂一點腳本的人看
也請有興趣的高手指點如何變得更完美

RUBY 代码复制
  1. #==============================================================================
  2. # ■ ItemCategory
  3. #
  4. #   物品新增類別
  5. #------------------------------------------------------------------------------
  6. #   作者 怨飄靈   
  7. #------------------------------------------------------------------------------
  8. #  ITEMTYPE   => 用語
  9. #   ITEMSYMBOL => symbol
  10. #==============================================================================
  11. module ItemCategory
  12.   ITEMTYPE   = ["材料","01"]
  13.   ITEMSYMBOL = [:m_item,:f_item]
  14. end
  15. #==============================================================================
  16. # ■ RPG::Item
  17. #------------------------------------------------------------------------------
  18. #  新增類別判斷 => 根據 m_item? 的格式定義新增名稱
  19. #
  20. #  itype_id == n  n = 自設數字
  21. #
  22. #  並在 normal_item? 中的 itype_id 之後加入 && !n
  23. #  
  24. #  調用方法  在數據庫的物品描述欄加上 itype_id[n]
  25. #  
  26. #  n 必須對應到類別的 n 才有作用  
  27. #==============================================================================
  28. class RPG::Item < RPG::UsableItem
  29.   #--------------------------------------------------------------------------
  30.   # itype_id
  31.   #--------------------------------------------------------------------------
  32.   def itype_id
  33.     if /itype_id\[(\d+)]/ =~ @note
  34.       return $1.to_i
  35.     else
  36.       return nil
  37.     end
  38.   end
  39.   #--------------------------------------------------------------------------
  40.   # 一般類別
  41.   #--------------------------------------------------------------------------
  42.         def normal_item?
  43.                 itype_id == nil
  44.   end
  45.   #--------------------------------------------------------------------------
  46.   # 新增分類1
  47.   #--------------------------------------------------------------------------
  48.         def m_item?
  49.                 itype_id == 3
  50.         end
  51.   #--------------------------------------------------------------------------
  52.   # 新增分類2
  53.   #--------------------------------------------------------------------------
  54.         def f_item?
  55.                 itype_id == 4
  56.         end
  57. end
  58. #==============================================================================
  59. # ■ Window_ItemList
  60. #------------------------------------------------------------------------------
  61. #  物品画面中,显示持有物品的窗口。
  62. #------------------------------------------------------------------------------
  63. #   新增條件分歧
  64. #
  65. #   symbol 按照 ItemCategory::ITEMSYMBOL[n]對應
  66. #
  67. #   格式為 item.is_a?(RPG::Item) && item.ex_item?
  68. #
  69. #   注  ex_item? 為上面的新增類別判斷,請依照自訂的類別判斷代換
  70. #==============================================================================
  71.  
  72. class Window_ItemList < Window_Selectable
  73.  
  74.   def include?(item)
  75.     case @category
  76.     when :item
  77.       item.is_a?(RPG::Item) && !item.key_item? && item.normal_item?
  78.     when :weapon
  79.       item.is_a?(RPG::Weapon)
  80.     when :armor
  81.       item.is_a?(RPG::Armor)
  82.     when :key_item
  83.       item.is_a?(RPG::Item) && item.key_item?
  84.     when ItemCategory::ITEMSYMBOL[0]
  85.       item.is_a?(RPG::Item) && item.m_item?
  86.     when ItemCategory::ITEMSYMBOL[1]
  87.       item.is_a?(RPG::Item) && item.f_item?
  88.     else
  89.       false
  90.     end
  91.   end
  92.  
  93. end
  94. #==============================================================================
  95. # ■ Window_ItemCategory
  96. #------------------------------------------------------------------------------
  97. #  物品畫面和商店畫面中,顯示裝備、所持物品等專案清單的視窗。
  98. #==============================================================================
  99.  
  100. class Window_ItemCategory < Window_HorzCommand
  101.  
  102.   def make_command_list
  103.     add_command(Vocab::item,     :item)
  104.     add_command(Vocab::weapon,   :weapon)
  105.     add_command(Vocab::armor,    :armor)
  106.     add_command(Vocab::key_item, :key_item)
  107.     ItemCategory::ITEMTYPE.size.times {|i| add_command(ItemCategory::ITEMTYPE[i],ItemCategory::ITEMSYMBOL[i]) }
  108.   end
  109.  
  110. end

效果圖如下

评分

参与人数 1星屑 +20 收起 理由
菜鸟飞呀飞 + 20 我很赞同

查看全部评分

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

2
发表于 2013-11-22 03:47:54 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
416 小时
注册时间
2012-11-30
帖子
162
3
发表于 2013-11-23 22:10:42 | 只看该作者
脚本拿走研究,随便一问,可以做到不显示物品名只显示图标吗??我琢磨了好久多没做到。

<object width="630" height="500" align="middle" id="reader" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" classid="clsid:d27cdb6e-ae6d-11cf-96b8-44455354000
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
99
在线时间
158 小时
注册时间
2011-7-15
帖子
39
4
 楼主| 发表于 2013-11-25 14:15:45 | 只看该作者
本帖最后由 deeg 于 2013-11-25 17:03 编辑
1091160905 发表于 2013-11-23 22:10
脚本拿走研究,随便一问,可以做到不显示物品名只显示图标吗??我琢磨了好久多没做到。 ...
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_ItemCategory
  4. #------------------------------------------------------------------------------
  5. #  物品画面和商店画面中,显示装备、所持物品等项目列表的窗口。
  6. #==============================================================================
  7. module ItemCategory
  8.         CATEGORYICON = [101,102,103,104]
  9.         #ICON代號請自行更換、增減,但不影響實際作用的分類,即便在這邊設定了5個依舊只會有4個選項
  10. end

  11. class Window_ItemCategory < Window_HorzCommand
  12.   #--------------------------------------------------------------------------
  13.   # ● 定义实例变量
  14.   #--------------------------------------------------------------------------
  15.   attr_reader   :item_window
  16.   #--------------------------------------------------------------------------
  17.   # ● 初始化对象
  18.   #--------------------------------------------------------------------------
  19.   def initialize
  20.     super(0, 0)
  21.         refresh
  22.    end
  23.   
  24.   def refresh
  25.      draw_item_icon
  26.   end
  27.   
  28.   def draw_item_icon(x = 0, y = 0)
  29.    ItemCategory::CATEGORYICON.size.times {
  30.    |i|draw_icon(ItemCategory::CATEGORYICON[i],x + (item_width+spacing) * i, y)}
  31.   end
  32.   #繪製圖標
  33. end
复制代码
插入這段就行
嫌太寬請在下面的類裡重新定義 => item_width
間距則是 => spacing
名稱有錯會無效
這兩個原定義都能在Windowbase裡找到,不過不建議直接改Windowbase裡的

更正
記錯了不是Windowbase是Window_Selectable
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 09:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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