Project1

标题: 消耗HP的技能在菜单中竟然可以使用|||||||| [打印本页]

作者: 君迁子    时间: 2008-11-22 03:08
标题: 消耗HP的技能在菜单中竟然可以使用||||||||
首先,俺用的是RTAB,整合横版在计算部分插入了以下脚本

     if((@skill.element_set).include?(($data_system.elements).index("HP消费")))
      battler.hp -= @skill.sp_cost
     else
      battler.sp -= @skill.sp_cost
     end

战斗当中没有任何错误,但是明明技能的“可能使用时”是仅在战斗中使用的,一勾上这个属性就显示可以在菜单中使用了|||||||||
试着在脚本的可以使用技能地方用以下脚本判定却没有用OTZ
unless $game_temp.in_battle
if((@skill.element_set).include?(($data_system.elements).index("HP消费")))
return false
end
end
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: Stifling    时间: 2008-11-22 06:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: 柳之一    时间: 2008-11-22 16:58
因为你仅仅添加了使用效果的脚本。
而没有添加限制使用条件的脚本。

由于是你添加的技能,非在编辑器中。(只引用部分数据)
编辑器里的一些东西自然判断失效。
作者: 君迁子    时间: 2008-11-22 20:05
def skill_can_use?(skill_id)
    # HP 不足的情况下不能使用
    if((@skill.element_set).include?(($data_system.elements).index("HP消费")))
      if $data_skills[skill_id].sp_cost > self.hp
        return false
      else
        return true
      end
    elsif $data_skills[skill_id].sp_cost > self.sp
      return false
    end
    # SP 不足的情况下不能使用
    if $data_skills[skill_id].sp_cost > self.sp
      return false
    end
    # 战斗不能的情况下不能使用
    if dead?
      return false
    end
   # 沉默状态的情况下、物理特技以外的特技不能使用
    if $data_skills[skill_id].atk_f == 0 and self.restriction == 1
      return false
    end   
    # 获取可以使用的时机
    occasion = $data_skills[skill_id].occasion
    # 战斗中的情况下
    if $game_temp.in_battle
      # [平时] 或者是 [战斗中] 可以使用
      return (occasion == 0 or occasion == 1)
    # 不是战斗中的情况下
    else
      # [平时] 或者是 [菜单中] 可以使用
      return (occasion == 0 or occasion == 2)
    end
  end

需要在哪里再增加限制?@x@
作者: Stifling    时间: 2008-11-30 02:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: 君迁子    时间: 2008-11-30 02:34
谢谢!可以了~{/hx}




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