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

[转载发布] 对技能的描述的改进(显示伤害量,治疗量)

[复制链接]
累计送礼:
0 个
累计收礼:
0 个
  • TA的每日心情
    开心
    昨天 18:01
  • 签到天数: 114 天

    连续签到: 4 天

    [LV.6]常住居民II

    2338

    主题

    403

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    10627
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    13396

    灌水之王

    发表于 2024-4-19 17:52:20 | 显示全部楼层 |阅读模式
    话说,在很久很久以前,接触rm开始,对数据库编写一直头疼。最郁闷的就是技能描述中的那几句话。
    “造成大量伤害”,“大量治疗”……试问,这大量……到底是多少?
    大家都了解“魔兽世界”这款游戏吧,他的技能描述就很实际。跟你写出个具体数值,供你参考。这个数值就有了个量的概念,比“大量”“少量”来的实际的多。

    还请大家测试下,谢谢。
    这个是给一般的默认战斗系统使用的:[code]#==============================================================================#                      ★超级懒人之技能物品描述自生成系统★#说明:这个脚本几乎兼容任何脚本,可以生成技能的伤害写在描述中,也可以生成武器#      防具的表述,再也不用自己编写描述想半天写不出半个字了。#By:希望化身##设置:角色属性存储变量(用于计算技能伤害,默认为30-34)FOR_SKILL_STATES = 30##==============================================================================class Scene_Skill  #--------------------------------------------------------------------------  # ● 主处理(追加读取角色属性)  #--------------------------------------------------------------------------  def main    # 获取角色    @actor = $game_party.actors[@actor_index]        $game_variables[FOR_SKILL_STATES] = @actor.atk    $game_variables[FOR_SKILL_STATES + 1] = @actor.str    $game_variables[FOR_SKILL_STATES + 2] = @actor.dex    $game_variables[FOR_SKILL_STATES + 3] = @actor.agi    $game_variables[FOR_SKILL_STATES + 4] = @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.dispose  endendclass 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[FOR_SKILL_STATES] = @actor.atk    $game_variables[FOR_SKILL_STATES + 1] = @actor.str    $game_variables[FOR_SKILL_STATES + 2] = @actor.dex    $game_variables[FOR_SKILL_STATES + 3] = @actor.agi    $game_variables[FOR_SKILL_STATES + 4] = @actor.int    end  endendmodule RPGclass Skill      attr_accessor :sdag      attr_accessor :sdag_max      attr_accessor :sdag_min  #==============================================================================# 定义技能描述后缀#==============================================================================     def description      if @power != 0      # 计算威力      sdag = power + $game_variables[FOR_SKILL_STATES + 0] * atk_f / 100      # 计算倍率      rate = 20      rate += ($game_variables[FOR_SKILL_STATES + 1] * str_f / 100)      rate += ($game_variables[FOR_SKILL_STATES + 2] * dex_f / 100)      rate += ($game_variables[FOR_SKILL_STATES + 3] * agi_f / 100)      rate += ($game_variables[FOR_SKILL_STATES + 4] * int_f / 100)      # 计算基本伤害      sdag_max = sdag * rate / 20      sdag_min = sdag * rate / 20# 分散      if variance > 0 and sdag_max.abs > 0        amp = [sdag_max.abs * variance / 100, 1].max        sdag_max += amp        sdag_min -= amp      end      if sdag != 0 or sdag != 1      if sdag 0        amp = [sdag_max.abs * variance / 100, 1].max        sdag_max += amp        sdag_min -= amp      end      if sdag != 0 or sdag != 1      if sdag
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

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

    本版积分规则

    关闭

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2025-3-15 00:44 , Processed in 0.117440 second(s), 53 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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