Project1
标题:
关于物品使用问题
[打印本页]
作者:
艾孜哈尔
时间:
2014-9-1 11:22
标题:
关于物品使用问题
怎样才能使一个物品只有一个人或几个人才能使用。举个例子,10号物品,只有1,2,3号人可以使用,可4号人物却不能使用。
脚本也行,公共事件也行,最好脚本
作者:
VIPArcher
时间:
2014-9-1 11:33
修改Scene_ItemBase#item_usable? 方法
作者:
艾孜哈尔
时间:
2014-9-1 12:07
VIPArcher 发表于 2014-9-1 11:33
修改Scene_ItemBase#item_usable? 方法
第几行?
作者:
VIPArcher
时间:
2014-9-1 15:12
艾孜哈尔 发表于 2014-9-1 12:07
第几行?
随便写的例子
1号物品无法对4号角色使用
class Scene_ItemBase < Scene_MenuBase
#--------------------------------------------------------------------------
# ● 判定物品是否可以使用
#--------------------------------------------------------------------------
def item_usable?
user.usable?(item) && item_effects_valid? && vip_usable?
end
#--------------------------------------------------------------------------
# ● 添加的判断
#--------------------------------------------------------------------------
def vip_usable?
if item.id == 1
item_target_actors.any? do |target| target.id == 4 ? false : true
end
else
return true
end
end
end
复制代码
作者:
tseyik
时间:
2014-9-1 15:26
#==============================================================================
# ★ RGSS3_対象アクター限定 Ver1.0
#==============================================================================
=begin
作者:tomoaky
webサイト:ひきも記は閉鎖しました。 (http://hikimoki.sakura.ne.jp/)
アイテム効果の対象者を一部のアクターに限定することができます。
アイテムのメモ欄に以下のようにタグを設定してください、
値はカンマで区切って複数指定することができます。
<対象アクター 1,2>
アクター番号で対象者を制限
<対象職業 3>
職業番号で対象者を制限
2013.06.25 Ver1.0
公開
=end
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor
#--------------------------------------------------------------------------
# ● スキル/アイテムの適用テスト
# 使用対象が全快しているときの回復禁止などを判定する。
#--------------------------------------------------------------------------
alias tmitactarget_game_actor_item_test item_test
def item_test(user, item)
tmitactarget_game_actor_item_test(user, item) && item_effectable?(item)
end
#--------------------------------------------------------------------------
# ○ アイテムのアクター制限を判定する
#--------------------------------------------------------------------------
def item_effectable?(item)
if /<対象アクター\s*((?:\d+\s*\,*\s*)+)>/ =~ item.note
return false unless $1.scan(/\d+/).include?(@actor_id.to_s)
end
if /<対象職業\s*((?:\d+\s*\,*\s*)+)>/ =~ item.note
return false unless $1.scan(/\d+/).include?(@class_id.to_s)
end
true
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1