Project1

标题: 技能使用条件 [打印本页]

作者: 星语心の梦    时间: 2008-8-16 19:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: IamI    时间: 2008-8-16 19:39
  1.   def skill_can_use?(skill_id)
  2.     # SP 不足的情况下不能使用
  3.     if $data_skills[skill_id].sp_cost > self.sp
  4.       return false
  5.     end
  6.     # 战斗不能的情况下不能使用
  7.     if dead?
  8.       return false
  9.     end
  10.     # 沉默状态的情况下、物理特技以外的特技不能使用
  11.     if $data_skills[skill_id].atk_f == 0 and self.restriction == 1
  12.       return false
  13.     end
  14.     # 获取可以使用的时机
  15.     occasion = $data_skills[skill_id].occasion
  16.     # 战斗中的情况下
  17.     if $game_temp.in_battle
  18.       # [平时] 或者是 [战斗中] 可以使用
  19.       return (occasion == 0 or occasion == 1)
  20.     # 不是战斗中的情况下
  21.     else
  22.       # [平时] 或者是 [菜单中] 可以使用
  23.       return (occasion == 0 or occasion == 2)
  24.     end
  25.   end
复制代码

来自Game_Battler3
在“获取可以使用的时机”之前加入
if skill_id == 技能编号 and @hp < (maxhp * 0.6)
return false
end
那个0.6随便改
未经测试 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 星语心の梦    时间: 2008-8-16 19:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: 凌冰    时间: 2008-8-16 19:43
以下引用星语心の梦于2008-8-16 11:41:43的发言:

@hp 是使用者的HP么

在特定类下,是的
作者: IamI    时间: 2008-8-16 19:44
在initialize下有一个定义
    @hp = 0
当然了在属性表里也有一个
作者: 星语心の梦    时间: 2008-8-16 19:45
提示: 作者被禁止或删除 内容自动屏蔽
作者: 「旅」    时间: 2008-8-16 19:48
if  @hp < (maxhp * 0.6)
$data_skills[招式编号].occasion = 1
else
$data_skills[招式编号].occasion = X  ##自己设定…
end
作者: IamI    时间: 2008-8-16 19:49
以下引用星语心の梦于2008-8-16 11:45:22的发言:

问题是这么设当HP小于0.6MAXHP的时候 所有技能都无法使用
(我只设一个技能的ID)

我已经改了,我把=改成了==
中间只有2秒……你不会这么快吧ORZ
作者: 凌冰    时间: 2008-8-16 19:53
以下引用「旅」于2008-8-16 11:48:49的发言:

if  @hp < (maxhp * 0.6)
$data_skills[招式编号].occasion = 1
else
$data_skills[招式编号].occasion = X  ##自己设定…
end

虽然这样做纠结一下貌似也可以达到效果,但是怎么感觉你是在误导新人
作者: 星语心の梦    时间: 2008-8-16 19:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: 「旅」    时间: 2008-8-16 20:04

作者: 星语心の梦    时间: 2008-8-16 20:37
提示: 作者被禁止或删除 内容自动屏蔽




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