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

Project1

 找回密码
 注册会员
搜索

关于道具栏的一些问题

查看数: 2438 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-10-29 16:22

正文摘要:

有没有办法能把原来armor菜单里的装备显示在weapon里呢? 以及有没有办法将一个装备设置成全部的位置都能装备?

回复

张咚咚 发表于 2017-10-29 18:17:09

在装备的备注里写上  equip_all  即可。

  1. class Game_Actor < Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 更换装备
  4.   #     slot_id : 装备栏 ID
  5.   #     item    : 武器/护甲(为 nil 时装备解除)
  6.   #--------------------------------------------------------------------------
  7.   def change_equip(slot_id, item)
  8.     return unless trade_item_with_party(item, equips[slot_id])
  9.     return if item && (equip_slots[slot_id] != item.etype_id and !item.note.include?('equip_all'))
  10.     @equips[slot_id].object = item
  11.     refresh
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ● 获取武器实例的数组
  15.   #--------------------------------------------------------------------------
  16.   def weapons
  17.     @equips.select {|item| item.is_weapon? or item.is_armor? }.collect {|item| item.object }
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 获取护甲实例的数组
  21.   #--------------------------------------------------------------------------
  22.   def armors
  23.     @equips.select {|item| item.is_armor? or item.is_armor? }.collect {|item| item.object }
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 卸下无法装备的物品
  27.   #     item_gain : 卸下的装备是否保留
  28.   #--------------------------------------------------------------------------
  29.   def release_unequippable_items(item_gain = true)
  30.     @equips.each_with_index do |item, i|
  31.       if !equippable?(item.object) || (item.object.etype_id != equip_slots[i] and !item.object.note.include?('equip_all'))
  32.         trade_item_with_party(nil, item.object) if item_gain
  33.         item.object = nil
  34.       end
  35.     end
  36.   end
  37. end

  38. class Window_EquipItem < Window_ItemList
  39.   #--------------------------------------------------------------------------
  40.   # ● 查询使用列表中是否含有此物品
  41.   #--------------------------------------------------------------------------
  42.   def include?(item)
  43.     return true if item == nil
  44.     return false unless item.is_a?(RPG::EquipItem)
  45.     return false if @slot_id < 0
  46.     return false if (item.etype_id != @actor.equip_slots[@slot_id] and !item.note.include?('equip_all'))
  47.     return @actor.equippable?(item)
  48.   end
  49. end
复制代码

点评

直接插到main前面即可  发表于 2017-10-29 21:24
这段代码是要分两段加吗?  发表于 2017-10-29 21:19
百里_飞柳 发表于 2017-10-29 18:00:20
你直接把装备槽全部改成同一类不就好了
Game_Actor#equip_slots方法返回的是角色的装备槽类型数组,当然直接改的话可能会出现事件指令里更换装备指令出错、以及各种由于默认装备类型和其位置相同而导致的奇妙BUG
不会的话就用 YEA 里面的装备界面扩展,英语名字似乎是 Equip Core……
全站搜索 装备 大概能找到
芯☆淡茹水 发表于 2017-10-29 17:12:58
这个问题有点奇怪:

脚部 => 铜剑
头部 => 牛仔短裤
上身 => 荣耀之戒
下身 => 魔法帽
.
.
.
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-17 16:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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