- 打卡等级:魔龙套勇士
- 打卡总天数:98
- 打卡月天数:22
- 打卡总奖励:11436
- 最近打卡:2025-07-22 00:17:43
管理员
本站站长
- 积分
- 7395
|
在传奇 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。
通过以上配置,新技能 “烈焰冲击” 即可在游戏中生效,不同等级会有不同的范围、伤害和特效表现,同时附带灼烧效果。可根据需求调整脚本中的参数(如伤害系数、范围、状态持续时间等)。
|
|