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

Project1

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

改变装备的可装配方法

[复制链接]

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
跳转到指定楼层
1
发表于 2015-3-2 16:10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 三途亚梦 于 2015-3-2 17:38 编辑

RUBY 代码复制
  1. #==============================================================================
  2. # +++ 改变装备的装配方法 +++
  3. #==============================================================================
  4. # 作者 三途亚梦
  5. # 如要使用此脚本,请署名。
  6. # 脚本原地址:[url]https://rpg.blue/thread-377080-1-1.html[/url]
  7. #==============================================================================
  8. # 本脚本的默认作用是让装备改成任意位置可装备,
  9. # 然后通过在改变可更换列表的物品筛选方法来让装备限制装备在不正确的位置上。
  10. #==============================================================================
  11. # ■ Game_Actor
  12. #------------------------------------------------------------------------------
  13. #  管理角色的类。
  14. #   本类在 Game_Actors 类 ($game_actors) 的内部使用。
  15. #   具体使用请查看 Game_Party 类 ($game_party) 。
  16. #==============================================================================
  17. class Game_Actor < Game_Battler
  18.   #--------------------------------------------------------------------------
  19.   # ● 更换装备
  20.   #     slot_id : 装备栏 ID
  21.   #     item    : 武器/护甲(为 nil 时装备解除)
  22.   #--------------------------------------------------------------------------
  23.   def change_equip(slot_id, item)
  24.     return unless trade_item_with_party(item, equips[slot_id])
  25.     @equips[slot_id].object = item
  26.     refresh
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 卸下无法装备的物品
  30.   #     item_gain : 卸下的装备是否保留
  31.   #--------------------------------------------------------------------------
  32.   def release_unequippable_items(item_gain = true)
  33.     @equips.each_with_index do |item, i|
  34.       if !equippable?(item.object)
  35.         trade_item_with_party(nil, item.object) if item_gain
  36.         item.object = nil
  37.       end
  38.     end
  39.   end
  40. end
  41. #==============================================================================
  42. # ■ Window_EquipItem
  43. #------------------------------------------------------------------------------
  44. #  装备画面中,显示可替换装备的窗口。
  45. #==============================================================================
  46. class Window_EquipItem < Window_ItemList
  47.   #--------------------------------------------------------------------------
  48.   # ● 查询使用列表中是否含有此物品
  49.   #--------------------------------------------------------------------------
  50.   def include?(item)
  51.     return true if item == nil
  52.     return false if @slot_id == 0 && item.is_a?(RPG::Armor)
  53.     return false unless item.is_a?(RPG::EquipItem)
  54.     return false if @slot_id < 0
  55.     return false if @slot_id != 0 && item.is_a?(RPG::Weapon)
  56.     return @actor.equippable?(item)
  57.   end
  58. end

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

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

GMT+8, 2024-4-28 16:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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