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

[转载发布] 求大神把VA的技能cd脚本改成MV用插件

[复制链接]
累计送礼:
0 个
累计收礼:
0 个
  • TA的每日心情
    开心
    2025-2-4 02:05
  • 签到天数: 110 天

    连续签到: 2 天

    [LV.6]常住居民II

    2327

    主题

    395

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    10475
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    13225

    灌水之王

    发表于 2024-2-25 12:09:57 | 显示全部楼层 |阅读模式
    如题,一直在VA中使用技能cd脚本,因为想有限制某些技能使用次数和频率,所以很久之前寻到这样一个脚本,感觉蛮好用的。
    现在入MV坑,想把这个脚本延续下去,但是找来找去也没有这样的插件,我的js又无比之烂,上学时就写不出一两行,几年不摸更是深感无力,只能伸手求助各位大神了。
    一下是VA的脚本,希望可以给各路大神一些灵感,或者节约一些时间。各位大神一定要帮帮忙啊~~~~~~~
    1. class RPG::Skill < RPG::UsableItem  def cool_time    @note.each_line{|line|    case line    when /\/      return $1.to_i    end    }    return 0  endend#==============================================================================# ■ Game_Actor#------------------------------------------------------------------------------#  管理角色的类。#   本类在 Game_Actors 类 ($game_actors) 的内部使用。#   具体使用请查看 Game_Party 类 ($game_party) 。#==============================================================================class Game_Battler#--------------------------------------------------------------------------# ● 初始化对象#--------------------------------------------------------------------------  alias skill_cool_time_initialize initialize  def initialize    skill_cool_time_initialize    @skill_cool_time=[]  end#--------------------------------------------------------------------------# ● 应用技能/物品的效果#--------------------------------------------------------------------------  alias skill_cool_time_item_apply item_apply  def item_apply(user, item)    skill_cool_time_item_apply(user,item)    if item.is_a?(RPG::Skill)      user.set_cool_time(item)    end  end#--------------------------------------------------------------------------# ● 设置技能冷却时间#--------------------------------------------------------------------------  def set_cool_time(skill)    if skill.cool_time      @skill_cool_time[skill.id] = skill.cool_time    end  end#--------------------------------------------------------------------------# ● 回合结束处理#--------------------------------------------------------------------------  alias skill_cool_time_on_turn_end on_turn_end  def on_turn_end    skill_cool_time_on_turn_end    @skill_cool_time.each_index{|index|    @skill_cool_time[index] -= 1 if @skill_cool_time[index] and @skill_cool_time[index] > 0    }  end#--------------------------------------------------------------------------# ● 技能是否正在冷却#--------------------------------------------------------------------------  def skill_cooling?(skill)    @skill_cool_time[skill.id] and @skill_cool_time[skill.id] != 0  end#--------------------------------------------------------------------------# ● 获取冷却回合#--------------------------------------------------------------------------  def skill_cool_turn(skill)    @skill_cool_time[skill.id] ? @skill_cool_time[skill.id] : 0  end#--------------------------------------------------------------------------# ● 检查技能的使用条件#--------------------------------------------------------------------------  alias skill_cool_time_skill_conditions_met? skill_conditions_met?  def skill_conditions_met?(skill)    skill_cool_time_skill_conditions_met?(skill) && !skill_cooling?(skill)  end#--------------------------------------------------------------------------# ● 战斗结束处理#--------------------------------------------------------------------------  alias skill_cool_time_on_battle_end on_battle_end  def on_battle_end    skill_cool_time_on_battle_end    @skill_cool_time.clear  endend#==============================================================================# ■ Window_SkillList#------------------------------------------------------------------------------#  技能画面中,显示技能的窗口。#==============================================================================class Window_SkillList < Window_Selectable#--------------------------------------------------------------------------# ● 绘制项目#--------------------------------------------------------------------------  alias skill_cool_time_draw_item draw_item  def draw_item(index)    skill = @data[index]        if skill      if @actor.skill_cooling?(skill)        rect = item_rect(index)        rect.width -= 4        w = @actor.skill_cool_turn(skill)        draw_item_name(skill, rect.x, rect.y, enable?(skill))        change_color(crisis_color)        draw_text(rect ,"-  " ,2)        draw_text(rect ,w ,2)      else        rect = item_rect(index)        rect.width -= 4        draw_item_name(skill, rect.x, rect.y, enable?(skill))        draw_skill_cost(rect, skill)      end    end  end  end复制代码
    复制代码
                 本帖来自P1论坛作者salvareless,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=388260  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

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

    本版积分规则

    关闭

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2025-3-10 22:05 , Processed in 0.130077 second(s), 53 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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