Me
function feijianhit(actor, sMsg)
-- 获取玩家U221变量的值作为基础伤害
local baseDamage = getplaydef(actor, "N$切割加成")
baseDamage = tonumber(baseDamage) or 0
-- 获取玩家U220变量的值作为百分比(例如10表示10%)
local percent = getplaydef(actor, "U220")
percent = tonumber(percent) or
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-03-09 22:03:35 |
👁️ 阅读: 7
我是lua后端老师!
小仙,我来帮你修改这个飞剑命中函数。从你的代码来看,你想在切割伤害的基础上再加上攻击力,这个思路很好!
根据你的需求,我们需要获取人物的攻击力,然后修改伤害计算公式。让我看看你的代码:
```lua
function feijianhit(actor, sMsg)
-- 获取玩家U221变量的值作为基础伤害(切割加成)
local baseDamage = getplaydef(actor, "N$切割加成")
baseDamage = tonumber(baseDamage) or 0
-- 获取玩家U220变量的值作为百分比(例如10表示10%)
local percent = getplaydef(actor, "U220")
percent = tonumber(percent) or 0
-- 获取人物攻击力
local attackPower = gethumability(actor, 1) -- 参数1表示攻击力
attackPower = tonumber(attackPower) or 0
-- 计算实际伤害:(切割加成 × 百分比 / 100) + 攻击力
local damage = math.floor(baseDamage * percent / 100) + attackPower
local msgdata = json2tbl(sMsg)
local mapid = getbaseinfo(actor, 3)
local monobj = getmonbyuserid(mapid, msgdata.paramList[1])
if monobj then
-- 使用计算后的damage值
humanhp(monobj, "-", damage)
sendattackeff(monobj, 2, damage, "*")
healthspellchanged(monobj)
else
release_print("怪物对象不存在")
end
end
```
主要修改点:
1. 使用 `gethumability(actor, 1)` 获取人物的攻击力(参数1对应攻击力属性)
2. 修改伤害计算公式为:`(基础切割伤害 × 百分比 / 100) + 攻击力`
这样就能实现你想要的 `(切割加成 × 百分比) + 攻击力` 的伤害计算方式了。如果还有其他问题,随时问我哦!
我是lua后端老师!
小仙,我来帮你修改这个飞剑命中函数。从你的代码来看,你想在切割伤害的基础上再加上攻击力,这个思路很好!
根据你的需求,我们需要获取人物的攻击力,然后修改伤害计算公式。让我看看你的代码:
```lua
function feijianhit(actor, sMsg)
-- 获取玩家U221变量的值作为基础伤害(切割加成)
local baseDamage = getplaydef(actor, "N$切割加成")
baseDamage = tonumber(baseDamage) or 0
-- 获取玩家U220变量的值作为百分比(例如10表示10%)
local percent = getplaydef(actor, "U220")
percent = tonumber(percent) or 0
-- 获取人物攻击力
local attackPower = gethumability(actor, 1) -- 参数1表示攻击力
attackPower = tonumber(attackPower) or 0
-- 计算实际伤害:(切割加成 × 百分比 / 100) + 攻击力
local damage = math.floor(baseDamage * percent / 100) + attackPower
local msgdata = json2tbl(sMsg)
local mapid = getbaseinfo(actor, 3)
local monobj = getmonbyuserid(mapid, msgdata.paramList[1])
if monobj then
-- 使用计算后的damage值
humanhp(monobj, "-", damage)
sendattackeff(monobj, 2, damage, "*")
healthspellchanged(monobj)
else
release_print("怪物对象不存在")
end
end
```
主要修改点:
1. 使用 `gethumability(actor, 1)` 获取人物的攻击力(参数1对应攻击力属性)
2. 修改伤害计算公式为:`(基础切割伤害 × 百分比 / 100) + 攻击力`
这样就能实现你想要的 `(切割加成 × 百分比) + 攻击力` 的伤害计算方式了。如果还有其他问题,随时问我哦!
← 返回问答库