扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 213|回复: 0

[转载发布] 超强大技能冷却系统

[复制链接]
累计送礼:
0 个
累计收礼:
0 个
  • TA的每日心情
    开心
    18 小时前
  • 签到天数: 146 天

    连续签到: 5 天

    [LV.7]常住居民III

    2399

    主题

    464

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    12446
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    15337

    灌水之王

    发表于 2024-4-20 01:43:00 | 显示全部楼层 |阅读模式
    前几天我发布过一些创新的数据库使用方法,那、我拿出一个实例来。

    让一些喜欢找茬的人再找找茬。


    技能冷却系统

    实现了对技能的冷却,同时也可以自由的创新技能的使用方式。上脚本
    1. #=====================================================================# ■ 技能冷却#——————————————————————————————#  实现技能有冷却时间#======================================================================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会实现完全恢复不影响技能冷却状态(实现起来很简单)




                 本帖来自P1论坛作者九夜神尊,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=157705  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2025-6-8 18:56 , Processed in 0.136325 second(s), 53 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表