当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇刀刀触发冰冻Buff脚本编写方法

热度:
在传奇自建服务器中实现“刀刀冰冻”效果,即每次物理攻击命中时有概率或必定附加冰冻状态,需通过服务端的技能触发机制与自定义Buff系统配合完成。以下以Mir2引擎(如1117、1280等常见版本)为例,说明具体配置步骤。

一、确认引擎是否支持自定义Buff
多数新版Mir2引擎已内置Buff系统,通常通过!MagicInfo.txt定义技能,通过QFunction中的[@Attack]或[@HitMonster]事件触发附加效果。若引擎不支持原生Buff,需依赖“中毒状态模拟”或“定身技能”替代冰冻。

二、创建冰冻Buff技能
在!MagicInfo.txt中添加一个隐藏技能,作为冰冻效果载体:


[冰冻效果]
MagicID=999
SpellName=冰冻效果
SpellType=1
Damage=0
MP=0
Level=0
Range=0
Time=3000
Speed=0
Effect=0
SelfEffect=0
TargetEffect=107
Need=000


说明:
MagicID=999为自定义ID,需确保未被占用
Time=3000表示冰冻持续3秒(单位毫秒)
TargetEffect=107为客户端显示的冰冻特效(需客户端支持该特效ID)

三、绑定攻击触发逻辑
在QFunction-0.txt中使用[@HitMonster]事件(玩家攻击怪物)或[@HitPlayer](玩家互攻)触发冰冻:


[@HitMonster]
IF
CHECKITEMBOX武器名称
ACT
CALL[ApplyFreezeBuff]

[@HitPlayer]
IF
CHECKITEMBOX武器名称
ACT
CALL[ApplyFreezeBuff]

[ApplyFreezeBuff]
IF
RANDOM100


说明:
CHECKITEMBOX可限定仅特定武器触发(如“屠龙”),若不限制可删除此条件
RANDOM100)

四、处理Buff实际效果(定身+减速)
纯视觉特效无法阻止目标移动。需通过技能附带“定身”逻辑。部分引擎支持在!MagicInfo.txt中设置:


MoveBlock=1


或在QManage.txt中监听Buff生效事件:


[@BuffStart_999]
ACT
CHANGEATTRIB动作锁定1

[@BuffEnd_999]
ACT
CHANGEATTRIB动作锁定0


若引擎不支持动作锁定,可用高减速替代:


[@BuffStart_999]
ACT
SETHUMANFREEZE_SPEED1
CALCVARHUMANSPEED=HUMANSPEED*0.1
...(需配合移动速度检测脚本)


五、测试与调试要点
确保目标能被正确识别(在[@HitMonster]中有效)
检查客户端是否加载了特效ID107(冰冻粒子),否则无视觉反馈
若Buff不生效,确认MagicID未冲突,且CASTSPELL命令被引擎支持
玩家对玩家场景需在!Setup.txt中开启PK相关事件(如AllowPkEvent=1)

通过上述配置,可实现每次攻击命中时自动附加冰冻状态,达成“刀刀冰冻”效果。脚本结构可根据实际引擎特性调整触发条件与持续时间。
[顶部]