赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 0 |
经验 | 0 |
最后登录 | 2008-4-14 |
在线时间 | 0 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 40
- 在线时间
- 0 小时
- 注册时间
- 2008-4-5
- 帖子
- 3
|
一个状态限制多个技能。
class Game_Battler
def skill_can_use?(skill_id)
# 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
# ==========================================================
if !self.state?(状态ID) and [13,14,15].include?(skill_id)
return false
end
# 注意把状态ID和技能ID改成数字 假设13,14,15三个特技限制一个在一个状态中,记得半角逗号分割。
# ==========================================================
# 获取可以使用的时机
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 系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~ |
|