查看: 1667|回复: 4

[已经过期] 怎样使特定玩家使用特定物品其它物品则隐藏起来?

[复制链接]
梦石
0
星屑
3784
在线时间
933 小时
注册时间
2017-1-19
回帖
156
发表于 2017-7-8 00:53:49 来自手机 | 显示全部楼层 |阅读模式

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

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

×
大神请指教

点评

刚回来发现BUG,已修复,请重新复制脚本。  发表于 2017-7-8 20:24
梦石
0
星屑
3784
在线时间
933 小时
注册时间
2017-1-19
回帖
156
 楼主| 发表于 2017-7-8 01:54:56 来自手机 | 显示全部楼层
忘说了在战斗中
回复

使用道具 举报

梦石
0
星屑
253
在线时间
574 小时
注册时间
2006-8-25
回帖
772
发表于 2017-7-8 02:14:55 | 显示全部楼层
本帖最后由 jhhuang 于 2017-7-8 20:25 编辑

在物品备注里写上下面这句话:
@actor_cost[1]
代表只有1号角色可以使用,如果多个角色可使用写:
@actor_cost[1,3,5,7]
如果都没写,默认所有人可以使用
如果没人能使用,可以写:
@actor_cost[0]

[pre lang="ruby"]#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[/pre]
回复

使用道具 举报

梦石
0
星屑
446
在线时间
256 小时
注册时间
2015-3-21
回帖
37
发表于 2017-8-18 08:18:20 | 显示全部楼层
jhhuang 发表于 2017-7-8 02:14
在物品备注里写上下面这句话:
@actor_cost[1]
代表只有1号角色可以使用,如果多个角色可使用写:

这个为啥只有在战斗中有用, 在菜单中
还是都能使用啊
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部