赞 | 6 |
VIP | 22 |
好人卡 | 15 |
积分 | 13 |
经验 | 97563 |
最后登录 | 2022-11-26 |
在线时间 | 831 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1323
- 在线时间
- 831 小时
- 注册时间
- 2007-12-25
- 帖子
- 1558
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 九夜神尊 于 2010-10-2 22:34 编辑
前几天我发布过一些创新的数据库使用方法,那、我拿出一个实例来。
让一些喜欢找茬的人再找找茬。
技能冷却系统
实现了对技能的冷却,同时也可以自由的创新技能的使用方式。上脚本- #=====================================================================
- # ■ 技能冷却
- #——————————————————————————————
- # 实现技能有冷却时间
- #=====================================================================
- =begin
- 版本:1.00
- 说明:
- 作用:为技能设置冷却
- 方法:设置 技能ID + 100号状态,该状态为技能冷却时间
- 使用技能后,会获得该状态,该状态若解除,技能可用。
- 解除方法自定,若设置成若干回合100%解除则与常规冷却无异。
-
- 注意:对于冷却一回合,到底是下一回合解除,还是隔一回合冷却
- 不同战斗系统,有差异,需要测试后定着。
-
- 需要为该状态命名才能使冷却生效
- 设置状态定量为0 ,以免会在状态栏显示出来
-
- 技能冷却对敌方也有效
- 可能的冲突,无。若冲突,请查看○标志的地方
- =end
- #==============================================================================
- # ■ Scene_Battle (分割定义 4)
- #------------------------------------------------------------------------------
- # 处理战斗画面的类。
- #==============================================================================
- class Scene_Battle
- #--------------------------------------------------------------------------
- # ● 生成特技行动结果
- #--------------------------------------------------------------------------
- alias swtf_make_skill_action_result make_skill_action_result
- def 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会实现完全恢复不影响技能冷却状态(实现起来很简单)
|
评分
-
查看全部评分
|