Project1

标题: 如何使某角色在处于某状态时某个物品不能对这个角色使用 [打印本页]

作者: maotouying    时间: 2017-8-1 14:58
标题: 如何使某角色在处于某状态时某个物品不能对这个角色使用
如题,请问如何才能做到这样的效果呢?
作者: 300英雄    时间: 2017-8-1 15:16
本帖最后由 300英雄 于 2017-8-1 15:18 编辑

Game_BattlerBase里面 # ● 判定技能/使用物品是否可用
  def usable?(item)下行    return skill_conditions_met?(item) if item.is_a?(RPG::Skill)上行插入
    return false if item.is_a?(RPG::Skill) && item.id == 666 && !self.state?(229) 判定666号技能如果没有229号状态无法使用 你把RPG::Skill改为RPG::Item就变成了666号物品了


举个例子
  def usable?(item)
    return false if item.is_a?(RPG::Skill) && item.id == 666 && !self.state?(229) #此行就是要的效果 666号技能 299状态ID的要求   
    return skill_conditions_met?(item) if item.is_a?(RPG::Skill)
    return item_conditions_met?(item)  if item.is_a?(RPG::Item)
    return false
  end

作者: maotouying    时间: 2017-8-1 15:57
300英雄 发表于 2017-8-1 15:16
Game_BattlerBase里面 # ● 判定技能/使用物品是否可用
  def usable?(item)下行    return skill_condit ...

不是的,我是想让某位角色在附加某个状态后不能使用那个物品,而不是在附加某个状态后才能使用
作者: 300英雄    时间: 2017-8-1 17:40
本帖最后由 300英雄 于 2017-8-1 17:43 编辑

其实你发现没有 !self.state?(229)前面一个感叹号,明白了吗代表不,否则的意思
那句话的意思是ID为666,不存在229ID状态不能使用。你把去除掉就是存在229不能使用。别告诉我你没看见
这个脑筋应该有吧。一般来说self.state?(X)代表存在某个状态作为条件,如果是否则那么就有两个做法
if self.state?(X)
else
end
第二种就是简单点用!
if !self.state?(X)
end
两种都代表不存在这个状态




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