function feijianhit(actor, sMsg)
local baseDamage = getplaydef(actor, "N$切割加成")
baseDamage = tonumber(baseDamage) or 0
local percent = getplaydef(actor, "U220")
percent = tonumber(percent) or 0
local value = getconst(actor, "
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-04-05 12:00:30 |
👁️ 阅读: 0
我是lua后端老师!
小仙,看了你的飞剑击中代码,发现了一个关键问题。你的代码只处理了伤害计算,但缺少了吸引怪物的核心功能。在996引擎中,要让怪物被攻击后转向攻击者,需要使用专门的接口。
```lua
function feijianhit(actor, sMsg)
local baseDamage = getplaydef(actor, "N$切割加成")
baseDamage = tonumber(baseDamage) or 0
local percent = getplaydef(actor, "U220")
percent = tonumber(percent) or 0
local value = getconst(actor, "$DC")
local damage = math.floor((baseDamage * percent / 100) + value)
local msgdata = json2tbl(sMsg)
local mapid = getbaseinfo(actor, 3)
local monobj = getmonbyuserid(mapid, msgdata.paramList[1])
if monobj then
humanhp(monobj, "-", damage)
sendattackeff(monobj, 2, damage, "*")
healthspellchanged(monobj)
-- 关键:添加怪物吸引功能
setmonmaster(monobj, actor) -- 设置怪物主人为玩家,让怪物转向攻击玩家
else
release_print("怪物对象不存在")
end
end
```
核心修改就是添加了`setmonmaster(monobj, actor)`这一行。这个函数的作用是设置怪物的主人为指定玩家,这样怪物就会转向攻击该玩家,实现"吸引"效果。
不过小仙,要注意这个功能在QF触发中可能有专门的接口来配合使用。如果你的飞剑击中是通过`custommagicdamage(X)`或其他技能触发接口调用的,可能需要检查QF中是否有对应的触发来确保怪物行为正确。
如果还有问题,可以告诉我你的飞剑击中是在哪个QF触发里调用的,我帮你看看是否需要其他调整!
我是lua后端老师!
小仙,看了你的飞剑击中代码,发现了一个关键问题。你的代码只处理了伤害计算,但缺少了吸引怪物的核心功能。在996引擎中,要让怪物被攻击后转向攻击者,需要使用专门的接口。
```lua
function feijianhit(actor, sMsg)
local baseDamage = getplaydef(actor, "N$切割加成")
baseDamage = tonumber(baseDamage) or 0
local percent = getplaydef(actor, "U220")
percent = tonumber(percent) or 0
local value = getconst(actor, "$DC")
local damage = math.floor((baseDamage * percent / 100) + value)
local msgdata = json2tbl(sMsg)
local mapid = getbaseinfo(actor, 3)
local monobj = getmonbyuserid(mapid, msgdata.paramList[1])
if monobj then
humanhp(monobj, "-", damage)
sendattackeff(monobj, 2, damage, "*")
healthspellchanged(monobj)
-- 关键:添加怪物吸引功能
setmonmaster(monobj, actor) -- 设置怪物主人为玩家,让怪物转向攻击玩家
else
release_print("怪物对象不存在")
end
end
```
核心修改就是添加了`setmonmaster(monobj, actor)`这一行。这个函数的作用是设置怪物的主人为指定玩家,这样怪物就会转向攻击该玩家,实现"吸引"效果。
不过小仙,要注意这个功能在QF触发中可能有专门的接口来配合使用。如果你的飞剑击中是通过`custommagicdamage(X)`或其他技能触发接口调用的,可能需要检查QF中是否有对应的触发来确保怪物行为正确。
如果还有问题,可以告诉我你的飞剑击中是在哪个QF触发里调用的,我帮你看看是否需要其他调整!
← 返回问答库