设为首页收藏本站
  • 官方微信
    lmkj_wx 微信公众号 添加方式:
    1:扫描左侧二维码
  • 手机访问
    lmkj_sj
  •  找回密码
     立即注册

    QQ登录

    只需一步,快速开始

    查看: 1|回复: 0

    传奇hero引擎新技能脚本设置

    [复制链接]
    avatar
    • 打卡等级:魔龙套勇士
    • 打卡总天数:98
    • 打卡月天数:22
    • 打卡总奖励:11436
    • 最近打卡:2025-07-22 00:17:43

    5883

    主题

    96

    回帖

    7395

    积分

    管理员

    本站站长

    积分
    7395
    online_admin 发表于 昨天 18:35 | 显示全部楼层 |阅读模式
    在传奇 Hero 引擎中,新技能的脚本设置主要涉及技能基础属性定义、等级参数配置、效果触发逻辑等,通常需要修改对应的技能数据库文件和脚本文件。以下是一个完整的新技能脚本设置示例及说明:
    一、技能基础信息配置(Skill.DB 文件)
    首先需要在D:\MirServer\Mud2\DB\Skill.DB(路径根据实际服务器目录调整)中注册新技能,添加一行技能基础信息:

    plaintext
    ;格式:技能ID 技能名称 技能类型 魔法消耗 冷却时间 最大等级 图标ID 职业限制 学习等级 书籍ID 描述
    1001 烈焰冲击 1 30 5000 5 25 0 35 1001 释放一道烈焰对前方扇形区域造成伤害,附带灼烧效果

    技能 ID(1001):需唯一,建议大于系统默认技能 ID
    职业限制(0):0 = 全职业,1 = 战士,2 = 法师,3 = 道士
    冷却时间(5000):单位毫秒
    最大等级(5):该技能可升级的最高等级
    二、技能等级参数脚本(Skill1001.txt)
    在D:\MirServer\Mud2\Envir\Skill\目录下创建对应技能 ID 的脚本文件(如Skill1001.txt),定义各等级的具体效果:

    lua
    ;技能等级配置:Level 等级 范围 伤害系数 特效ID 灼烧概率 灼烧伤害
    Level 1
    {
        Range = 3  ;攻击范围(格数)
        Damage = 1.2  ;伤害系数(基于魔法/物理攻击)
        Effect = 105  ;释放时的特效ID(对应Effect.wzl中的特效)
        BurnRate = 30  ;灼烧触发概率(%)
        BurnDamage = 20  ;灼烧每秒伤害
        NeedMP = 30  ;消耗魔法值
    }

    Level 2
    {
        Range = 4
        Damage = 1.5
        Effect = 105
        BurnRate = 40
        BurnDamage = 30
        NeedMP = 35
    }

    Level 3
    {
        Range = 4
        Damage = 1.8
        Effect = 106  ;更高等级使用更炫特效
        BurnRate = 50
        BurnDamage = 40
        NeedMP = 40
    }

    ;技能释放逻辑
    Release
    {
        ;检查释放条件:是否有目标、魔法值是否足够
        if (TargetExist() == 0) then
            SendMsg 7 "请选择目标!"  ;发送提示信息(7为红色字体)
            return 0  ;终止释放
        end

        if (GetMP() < NeedMP) then
            SendMsg 7 "魔法值不足!"
            return 0
        end

        ;扣除魔法值
        SubMP NeedMP

        ;播放释放音效
        PlaySound 502  ;音效ID(对应Sound.wzl)

        ;执行范围伤害
        AreaDamage Range, Damage  ;对范围内目标造成伤害

        ;触发灼烧效果(随机)
        if (Random(100) <= BurnRate) then
            AddState Target, 10  ;给目标添加灼烧状态(状态ID=10)
            SetStateTime Target, 10, 5000  ;灼烧持续5秒(5000毫秒)
        end

        return 1  ;释放成功
    }

    ;灼烧状态效果(需在State.txt中定义状态10)
    StateEffect 10
    {
        ;每秒触发一次伤害
        PerSecond
        {
            SubHP Target, BurnDamage  ;扣除灼烧伤害
            SendMsg 6 "你受到灼烧伤害:" + BurnDamage  ;发送伤害提示(6为橙色字体)
        }
    }
    三、状态效果配置(State.txt)
    在D:\MirServer\Mud2\Envir\State.txt中添加灼烧状态的基础定义:

    plaintext
    ;状态ID 状态名称 图标 能否移动 能否攻击 持续类型
    10 灼烧 38 1 1 1  ;1=可移动,1=可攻击,1=计时消失

    四、注意事项
    文件路径:确保脚本文件名称与技能 ID 一致(如技能 ID=1001 对应 Skill1001.txt),否则引擎无法识别。
    特效与音效:特效 ID(Effect)和音效 ID(Sound)需在客户端的Effect.wzl和Sound.wzl中存在,否则无效果。
    参数测试:新技能添加后,建议在游戏中通过@调试技能 1001命令测试,观察伤害、范围、状态是否正常。
    权限配置:如需让技能可通过书籍学习,需在Book.DB中添加对应书籍条目,关联技能 ID=1001。

    通过以上配置,新技能 “烈焰冲击” 即可在游戏中生效,不同等级会有不同的范围、伤害和特效表现,同时附带灼烧效果。可根据需求调整脚本中的参数(如伤害系数、范围、状态持续时间等)。

    您需要登录后才可以回帖 登录 | 立即注册 qq_login

    本版积分规则

    QQArchiver 手机版 小黑屋 39传奇素材网 ( 蜀ICP备2022016510号-3 )

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