Project1

标题: 如何在特定状态可使用特定技能 [打印本页]

作者: clannad    时间: 2011-3-23 23:18
标题: 如何在特定状态可使用特定技能
就是比方说技能“十字剑”在附加了状态“沉默”的情况下可以使用,这个该怎么办?
作者: Wind2010    时间: 2011-3-24 12:30
  1. $louse_can_use_skill = []
  2. # 上面是初始化
  3. #===============================================================================
  4. # 自定义内容
  5. # 定义方法:
  6. # $louse_can_use_skill.push([技能ID,状态ID])
  7. # 定义后只有在该状态下才能使用该技能
  8. # 咳咳SP不够自然也不能用
  9. #===============================================================================
  10. $louse_can_use_skill.push([57,5])
  11. #===============================================================================
  12. # 脚本内容
  13. #===============================================================================
  14. $louse_states_id = []
  15. $louse_skills_id = []
  16. for shizi in $louse_can_use_skill
  17.   $louse_states_id.push(shizi[1])
  18.   $louse_skills_id.push(shizi[0])
  19. end
  20. class Game_Battler
  21.   def skill_can_use?(skill_id)
  22.     if $data_skills[skill_id].sp_cost > self.sp
  23.       return false
  24.     end
  25.     if dead?
  26.       return false
  27.     end
  28.     if $data_skills[skill_id].atk_f == 0 and self.restriction == 1
  29.       return false
  30.     end
  31.     occasion = $data_skills[skill_id].occasion
  32.     if $game_temp.in_battle
  33.       for i in 0...$louse_skills_id.size
  34.         shizi_skill = $louse_skills_id[i]
  35.         if skill_id == shizi_skill
  36.           return self.state?($louse_states_id[i])
  37.         end
  38.       end
  39.       return (occasion == 0 or occasion == 1)
  40.     else
  41.       return (occasion == 0 or occasion == 2)
  42.     end
  43.   end
  44. end
复制代码

作者: clannad    时间: 2011-3-24 15:57
回复 Wind2010 的帖子

哦!!!!好的,prefect!!!
谢谢啊




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