本帖最后由 jhhuang 于 2017-7-8 20:25 编辑
在物品备注里写上下面这句话:
@actor_cost[1]
代表只有1号角色可以使用,如果多个角色可使用写:
@actor_cost[1,3,5,7]
如果都没写,默认所有人可以使用
如果没人能使用,可以写:
@actor_cost[0]
#encoding:utf-8 #============================================================================== # ■ Window_BattleItem #------------------------------------------------------------------------------ # 战斗画面中,选择“使用物品”的窗口。 #============================================================================== class Window_BattleItem < Window_ItemList #-------------------------------------------------------------------------- # ● 生成物品列表 #-------------------------------------------------------------------------- def make_item_list @data = $game_party.all_items.select {|item| include?(item) and actor_cost?(item) } @data.push(nil) if include?(nil) end #-------------------------------------------------------------------------- # ● 特定玩家判断 #-------------------------------------------------------------------------- def actor_cost?(item) if item.note =~ /@actor_cost\[(.+?)\]/ return false unless $1.split(/,/).collect{|str|str.to_i}.include?(BattleManager.actor.id) end return true end end
#encoding:utf-8
#==============================================================================
# ■ Window_BattleItem
#------------------------------------------------------------------------------
# 战斗画面中,选择“使用物品”的窗口。
#==============================================================================
class Window_BattleItem < Window_ItemList
#--------------------------------------------------------------------------
# ● 生成物品列表
#--------------------------------------------------------------------------
def make_item_list
@data = $game_party.all_items.select {|item| include?(item) and actor_cost?(item) }
@data.push(nil) if include?(nil)
end
#--------------------------------------------------------------------------
# ● 特定玩家判断
#--------------------------------------------------------------------------
def actor_cost?(item)
if item.note =~ /@actor_cost\[(.+?)\]/
return false unless $1.split(/,/).collect{|str|str.to_i}.include?(BattleManager.actor.id)
end
return true
end
end
|