查看: 2561|回复: 1

[已经解决] 如何设置可以使一个技能必须消耗掉某物品才能使用

[复制链接]
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2014-10-25 22:41:00 | 显示全部楼层 |阅读模式

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

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

×
比如十字斩必须消耗掉滋补剂才能使用出来,没有滋补剂就不能使用。该如何设置。
本来想在公共事件里设置,可是公共事件是在技能放完后才发动的
梦石
0
星屑
34466
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2014-10-25 23:06:07 | 显示全部楼层
本帖最后由 芯☆淡茹水 于 2014-10-25 23:37 编辑

这个,没有测试:

这样好一点
  1. #==============================================================================
  2. # 消耗物品的技能。 格式:技能ID => [物品ID, 物品数量]
  3. CONSUME_ITEM_SKILLS = {57=>[9,1]}
  4. class Game_Battler
  5.   #--------------------------------------------------------------------------
  6.   alias add_skill_can_use? skill_can_use?
  7.   def skill_can_use?(skill_id)
  8.     if CONSUME_ITEM_SKILLS.keys.include?(skill_id)
  9.       id = CONSUME_ITEM_SKILLS[skill_id][0]
  10.       if $game_party.item_number(id) < CONSUME_ITEM_SKILLS[skill_id][1]
  11.         return false
  12.       end
  13.     end
  14.     add_skill_can_use?(skill_id)
  15.   end
  16.    #--------------------------------------------------------------------------
  17.   alias add_skill_effect_xdrs skill_effect
  18.   def skill_effect(user, skill)
  19.     if CONSUME_ITEM_SKILLS.keys.include?(skill.id) and user.is_a?(Game_Actor)
  20.       id = CONSUME_ITEM_SKILLS[skill.id][0]
  21.       $game_party.lose_item(id, CONSUME_ITEM_SKILLS[skill.id][1])
  22.     end
  23.     add_skill_effect_xdrs(user, skill)
  24.   end
  25. end
  26. #===============================================================================
复制代码

点评

可以用,谢谢  发表于 2014-10-26 12:54
公共事件扣除即可,或者是在耗sp的地方扣除  发表于 2014-10-25 23:12
↓其实不应该在这儿扣除物品的。  发表于 2014-10-25 23:10
我想到了R考场第一期  发表于 2014-10-25 23:08

评分

参与人数 1星屑 +220 收起 理由
RyanBern + 220 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部