超强大技能冷却系统
前几天我发布过一些创新的数据库使用方法,那、我拿出一个实例来。让一些喜欢找茬的人再找找茬。
技能冷却系统
实现了对技能的冷却,同时也可以自由的创新技能的使用方式。上脚本#=====================================================================# ■ 技能冷却#——————————————————————————————#实现技能有冷却时间#======================================================================begin版本:1.00说明:作用:为技能设置冷却方法:设置 技能ID + 100号状态,该状态为技能冷却时间 使用技能后,会获得该状态,该状态若解除,技能可用。 解除方法自定,若设置成若干回合100%解除则与常规冷却无异。 注意:对于冷却一回合,到底是下一回合解除,还是隔一回合冷却 不同战斗系统,有差异,需要测试后定着。 需要为该状态命名才能使冷却生效 设置状态定量为0 ,以免会在状态栏显示出来 技能冷却对敌方也有效可能的冲突,无。若冲突,请查看○标志的地方=end#==============================================================================# ■ Scene_Battle (分割定义 4)#------------------------------------------------------------------------------# 处理战斗画面的类。#==============================================================================class Scene_Battle#--------------------------------------------------------------------------# ● 生成特技行动结果#--------------------------------------------------------------------------alias swtf_make_skill_action_result make_skill_action_resultdef make_skill_action_result swtf_make_skill_action_result if $data_states[@skill.id+100] != nil and $data_states[@skill.id+100].name != "" @active_battler.add_state(@skill.id + 100) #附加状态 end end#make_skill_action_result end#class Scene_Battle#==============================================================================# ■ Game_Battler (分割定义 3)#------------------------------------------------------------------------------# 处理战斗者的类。这个类作为 Game_Actor 类与 Game_Enemy 类的# 超级类来使用。#==============================================================================class Game_Battler#--------------------------------------------------------------------------# ● 可以使用特技的判定# skill_id : 特技 ID#--------------------------------------------------------------------------alias swtf_skill_can_use? skill_can_use?def skill_can_use?(skill_id) if state?(skill_id+100) return false end swtf_skill_can_use?(skill_id)end #skill_can_use?(skill_id) end #class Game_Battler#==================================================================# 作者:九夜神尊#==================================================================复制代码喜欢找茬的人仔细看看有多少句脚本,全部只alias了两个地方。
因为没有重新定义方法,所以基本无冲突(自建战斗系统除外)
原理很简单,就是使用技能以后会自动获得一个状态,只有这个状态解除以后才能再次使用这个技能。、
来看看新的使用方法
1:使用某技能以后会虚弱
只需要在对应状态上将能力值调低即可
2:受攻击后才能使用的技能
只需要在状态上勾选受攻击解除,当然自然解除0%即可
3:使用某物品以后才能使用某技能
只需要设置某物品可以解除某状态即可
4:蓄力技能
使用蓄力技能可以解除另一个技能的无限冷却
5:未知冷却技能
只需对状态设置非100%解除,则可实现未知回合数解除,当1%解除时,估计是宇宙爆发技能了。
6:跨战斗技能冷却
只要不勾选战斗结束后解除即可,这样技能设置冷却几十回合也有意义,那种技能也有爆发力吧。
7:聪明的作者还能开发出来更多吧
这个脚本配合某达人的战斗中不显示无用技能,更有神秘性。
技能剩余冷却回合数忘了是怎么调用的,反正就是直接读取状态的剩余参量
然后版本1.1会实现完全恢复不影响技能冷却状态(实现起来很简单)
本帖来自P1论坛作者九夜神尊,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=157705若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
页:
[1]