赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 29377 |
最后登录 | 2013-8-7 |
在线时间 | 1 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 1 小时
- 注册时间
- 2008-8-3
- 帖子
- 976
|
刚试了一下,用叶子发明的状态法也适用于这个战棋系统
具体做法:
把 ▼ Materials中的Game_Battler 拷贝到所有其他块下面、MAIN上面(以防止改错,所以拷贝出来再改!)
在1438行(佩服下脚本作者,能写这么长= =)开始有个* Determine Usable Skills部分,(中文版的话就是 判断技能是否可用)里面加入判断语句就可以。
比如:你要使ID为100的技能冷却3回合,就在数据库新建一个3回合的状态,ID比如是120,
然后ID=100的技能要设置触发这个ID=120状态,
然后在判断技能是否可用的函数skill_can_use?(skill)里加入
return false if ( skill.id == 100 and self.state?(120) )
像这样:
- #--------------------------------------------------------------------------
- # * Determine Usable Skills
- # skill : skill
- #--------------------------------------------------------------------------
- def skill_can_use?(skill)
- return false unless skill.is_a?(RPG::Skill)
- return false unless movable?
- return false if ( skill.id == 100 and self.state?(120) ) #冷却语句
- return false if silent? and skill.spi_f > 0
- return false if calc_mp_cost(skill) > mp
- if $game_temp.in_battle
- sum = GTBS::is_summon?(skill.id)
- if sum > 0
- name = $game_actors[sum].name.to_s
- is = false
- for bat in $game_system.tactics_actors + $game_system.tactics_enemies + $game_system.tactics_neutral
- if bat.name.to_s == name
- is = true
- end
- end
- return false if is
- end
- return skill.battle_ok?
- else
- return skill.menu_ok?
- end
- end
复制代码
|
|