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号角色使用
  1. class Scene_ItemBase < Scene_MenuBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 判定物品是否可以使用
  4.   #--------------------------------------------------------------------------
  5.   def item_usable?
  6.     user.usable?(item) && item_effects_valid? && vip_usable?
  7.   end
  8.   #--------------------------------------------------------------------------
  9.   # ● 添加的判断
  10.   #--------------------------------------------------------------------------
  11.   def vip_usable?
  12.     if item.id == 1
  13.       item_target_actors.any? do |target| target.id == 4 ? false : true
  14.       end
  15.     else
  16.       return true
  17.     end
  18.   end
  19. end
复制代码

作者: tseyik    时间: 2014-9-1 15:26
  1. #==============================================================================
  2. # ★ RGSS3_対象アクター限定 Ver1.0
  3. #==============================================================================
  4. =begin

  5. 作者:tomoaky
  6. webサイト:ひきも記は閉鎖しました。 (http://hikimoki.sakura.ne.jp/)

  7. アイテム効果の対象者を一部のアクターに限定することができます。
  8. アイテムのメモ欄に以下のようにタグを設定してください、
  9. 値はカンマで区切って複数指定することができます。

  10. <対象アクター 1,2>
  11.   アクター番号で対象者を制限

  12. <対象職業 3>
  13.   職業番号で対象者を制限

  14. 2013.06.25  Ver1.0
  15.   公開

  16. =end

  17. #==============================================================================
  18. # ■ Game_Actor
  19. #==============================================================================
  20. class Game_Actor
  21.   #--------------------------------------------------------------------------
  22.   # ● スキル/アイテムの適用テスト
  23.   #    使用対象が全快しているときの回復禁止などを判定する。
  24.   #--------------------------------------------------------------------------
  25.   alias tmitactarget_game_actor_item_test item_test
  26.   def item_test(user, item)
  27.     tmitactarget_game_actor_item_test(user, item) && item_effectable?(item)
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ○ アイテムのアクター制限を判定する
  31.   #--------------------------------------------------------------------------
  32.   def item_effectable?(item)
  33.     if /<対象アクター\s*((?:\d+\s*\,*\s*)+)>/ =~ item.note
  34.       return false unless $1.scan(/\d+/).include?(@actor_id.to_s)
  35.     end
  36.     if /<対象職業\s*((?:\d+\s*\,*\s*)+)>/ =~ item.note
  37.       return false unless $1.scan(/\d+/).include?(@class_id.to_s)
  38.     end
  39.     true
  40.   end
  41. end

复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1