Project1

标题: 怎样能实现使用某件物品之后触发指定事件呢? [打印本页]

作者: 逍遥诗仙    时间: 2010-7-15 21:26
标题: 怎样能实现使用某件物品之后触发指定事件呢?
本帖最后由 逍遥诗仙 于 2010-7-16 16:36 编辑

请教一下各位,怎样能实现使用某件物品之后触发指定事件呢?
比如,我想加入一个技能书系统,让主角使用技能书之后可以习得指定的技能。
作者: darkdrium    时间: 2010-7-15 22:25
挂个状态,然后用公共事件实现
具体请搜索状态法,论坛里应该有
作者: 学徒    时间: 2010-7-15 22:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: 木葬枫    时间: 2010-7-15 23:10
状态法。
作者: 负零    时间: 2010-7-16 00:05
虽然有点答非所问 但...
  1. #==============================================================================
  2. # ★ ExItem_LearnSkill
  3. #------------------------------------------------------------------------------
  4. #  设定学会技能的物品。
  5. #==============================================================================

  6. # 物品学会技能的指定用文字。
  7. # 在学会技能的物品的「備註」中使用  指定用文字 + [技能 ID]
  8. # 「效果範圍」 设为 「我方單體」、「使用場合」 设为 「菜单中」 。
  9. # 范例: 使用某物品後学会 30 号技能 => *LEARN_SKILL[30]
  10. EXITM_LRNSKILL_SIGNATURE = "*LEARN_SKILL"

  11. #------------------------------------------------------------------------------

  12. class Game_Battler
  13.   alias _exilskl_item_test item_test
  14.   alias _exilskl_item_effect item_effect
  15.   #--------------------------------------------------------------------------
  16.   # ● 物品使用測試 (追加定義)
  17.   #     user : 物品使用者
  18.   #     item : 物品
  19.   #--------------------------------------------------------------------------
  20.   def item_test(user, item)
  21.     sig = EXITM_LRNSKILL_SIGNATURE
  22.     if item.note[/#{Regexp.quote sig}\[(\d+)\]/].to_a[0]
  23.       return (not user.skill_learn?($data_skills[$1.to_i]))
  24.     end
  25.     return _exilskl_item_test(user, item)
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ● 判斷物品能否使用(追加定義)
  29.   #     user : 物品使用者
  30.   #     item : 物品
  31.   #--------------------------------------------------------------------------
  32.   def item_effect(user, item)
  33.     _exilskl_item_effect(user, item)
  34.     sig = EXITM_LRNSKILL_SIGNATURE
  35.     if item.note[/#{Regexp.quote sig}\[(\d+)\]/].to_a[0]
  36.       skill_id = $1.to_i
  37.       used = true unless user.skill_learn?($data_skills[skill_id])
  38.       user.learn_skill(skill_id)
  39.     end
  40.   end
  41. end

复制代码

作者: 我的米呀    时间: 2010-7-16 09:43




如图,不用脚本也可实现。
作者: wangswz    时间: 2010-7-16 10:12
附灵的脚本更好 不用判断使用者了
作者: 逍遥诗仙    时间: 2010-7-16 16:36
多谢各位,已经解决啦




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