じ☆ve冰风 发表于 2024-4-19 17:52:20

对技能的描述的改进(显示伤害量,治疗量)

话说,在很久很久以前,接触rm开始,对数据库编写一直头疼。最郁闷的就是技能描述中的那几句话。
“造成大量伤害”,“大量治疗”……试问,这大量……到底是多少?
大家都了解“魔兽世界”这款游戏吧,他的技能描述就很实际。跟你写出个具体数值,供你参考。这个数值就有了个量的概念,比“大量”“少量”来的实际的多。

还请大家测试下,谢谢。
这个是给一般的默认战斗系统使用的:#==============================================================================#                      ★超级懒人之技能物品描述自生成系统★#说明:这个脚本几乎兼容任何脚本,可以生成技能的伤害写在描述中,也可以生成武器#      防具的表述,再也不用自己编写描述想半天写不出半个字了。#By:希望化身##设置:角色属性存储变量(用于计算技能伤害,默认为30-34)FOR_SKILL_STATES = 30##==============================================================================class Scene_Skill#--------------------------------------------------------------------------# ● 主处理(追加读取角色属性)#--------------------------------------------------------------------------def main    # 获取角色    @actor = $game_party.actors[@actor_index]      $game_variables = @actor.atk    $game_variables = @actor.str    $game_variables = @actor.dex    $game_variables = @actor.agi    $game_variables = @actor.int    # 生成帮助窗口、状态窗口、特技窗口    @help_window = Window_Help.new    @status_window = Window_SkillStatus.new(@actor)    @skill_window = Window_Skill.new(@actor)    # 关联帮助窗口    @skill_window.help_window = @help_window    # 生成目标窗口 (设置为不可见・不活动)    @target_window = Window_Target.new    @target_window.visible = false    @target_window.active = false    # 执行过渡    Graphics.transition    # 主循环    loop do      # 刷新游戏画面      Graphics.update      # 刷新输入信息      Input.update      # 刷新画面      update      # 如果画面切换的话就中断循环      if $scene != self      break      end    end    # 准备过渡    Graphics.freeze    # 释放窗口    @help_window.dispose    @status_window.dispose    @skill_window.dispose    @target_window.disposeendendclass Window_Skill < Window_Selectable#--------------------------------------------------------------------------# ● 初始化对像#   actor : 角色#--------------------------------------------------------------------------def initialize(actor)    super(0, 128, 640, 352)    @actor = actor    @column_max = 2    refresh    self.index = 0    # 战斗中的情况下将窗口移至中央并将其半透明化    if $game_temp.in_battle      self.y = 64      self.height = 256      self.back_opacity = 160    $game_variables = @actor.atk    $game_variables = @actor.str    $game_variables = @actor.dex    $game_variables = @actor.agi    $game_variables = @actor.int    endendendmodule RPGclass Skill      attr_accessor :sdag      attr_accessor :sdag_max      attr_accessor :sdag_min#==============================================================================# 定义技能描述后缀#==============================================================================   def description      if @power != 0      # 计算威力      sdag = power + $game_variables * atk_f / 100      # 计算倍率      rate = 20      rate += ($game_variables * str_f / 100)      rate += ($game_variables * dex_f / 100)      rate += ($game_variables * agi_f / 100)      rate += ($game_variables * int_f / 100)      # 计算基本伤害      sdag_max = sdag * rate / 20      sdag_min = sdag * rate / 20# 分散      if variance > 0 and sdag_max.abs > 0      amp = .max      sdag_max += amp      sdag_min -= amp      end      if sdag != 0 or sdag != 1      if sdag 0      amp = .max      sdag_max += amp      sdag_min -= amp      end      if sdag != 0 or sdag != 1      if sdag
页: [1]
查看完整版本: 对技能的描述的改进(显示伤害量,治疗量)