对技能的描述的改进(显示伤害量,治疗量)
话说,在很久很久以前,接触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]