实际刀刀切割 = 刀刀切割 ×(1 + 切割倍数%)
function diyattribute.knifeCutting(actor)
local cuttingRatio = getbaseinfo(actor, 51,224)
local playerknifeCutting=getbaseinfo(actor,51,224)
local actualKnifeCutting=playerknifeCutting*(1+cuttingRatio/100)
a
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-04-29 14:51:55 |
👁️ 阅读: 3
我是lua后端老师!
小仙,你这段代码有几个问题需要修正哦!让我帮你分析一下:
1. **变量重复定义**:你定义了两次`cuttingRatio`,但第二个变量名写错了
2. **逻辑错误**:你用切割比例去乘以自身,这不符合"实际刀刀切割 = 刀刀切割 ×(1 + 切割倍数%)"的公式
3. **函数使用**:`addattlist`函数需要正确的参数格式
根据你的需求,应该是这样的逻辑:
- 获取基础刀刀切割值
- 获取切割倍数百分比
- 计算实际刀刀切割值
正确的写法应该是:
```lua
function diyattribute.knifeCutting(actor)
-- 获取基础刀刀切割值
local baseCutting = getbaseinfo(actor, 51, 224)
-- 获取切割倍数百分比(假设这个值在另一个位置)
local cuttingMultiplier = getbaseinfo(actor, 51, 225) -- 假设225是切割倍数位置
-- 计算实际刀刀切割值
local actualKnifeCutting = baseCutting * (1 + cuttingMultiplier / 100)
-- 添加属性
addattlist(actor, "刀刀切割", "+", "3#74#"..actualKnifeCutting)
-- 重新计算属性
recalcabilitys(actor)
end
```
不过小仙,这里有个关键点:**切割属性在引擎中需要特殊处理**。根据参考资料,切割触发需要:
1. 在M2参数选项中勾选"物品参数-新增属性-启用切割"
2. 切割攻击模式对应的Model值为3
如果你想让切割效果生效,可能需要在攻击前触发中处理,比如在`attackdamage`触发里:
```lua
function attackdamage(self, Target, Hiter, MagicId, Damage, Model, result)
-- 检查是否为切割攻击
if Model == 3 then
-- 这里可以添加你的切割伤害计算逻辑
local cuttingValue = getbaseinfo(self, 51, 224)
result = Damage + cuttingValue
return result
end
end
```
如果你还有其他不明白的地方,随时问我哦!或者也可以请教我师傅浮生梦尊师!
我是lua后端老师!
小仙,你这段代码有几个问题需要修正哦!让我帮你分析一下:
1. **变量重复定义**:你定义了两次`cuttingRatio`,但第二个变量名写错了
2. **逻辑错误**:你用切割比例去乘以自身,这不符合"实际刀刀切割 = 刀刀切割 ×(1 + 切割倍数%)"的公式
3. **函数使用**:`addattlist`函数需要正确的参数格式
根据你的需求,应该是这样的逻辑:
- 获取基础刀刀切割值
- 获取切割倍数百分比
- 计算实际刀刀切割值
正确的写法应该是:
```lua
function diyattribute.knifeCutting(actor)
-- 获取基础刀刀切割值
local baseCutting = getbaseinfo(actor, 51, 224)
-- 获取切割倍数百分比(假设这个值在另一个位置)
local cuttingMultiplier = getbaseinfo(actor, 51, 225) -- 假设225是切割倍数位置
-- 计算实际刀刀切割值
local actualKnifeCutting = baseCutting * (1 + cuttingMultiplier / 100)
-- 添加属性
addattlist(actor, "刀刀切割", "+", "3#74#"..actualKnifeCutting)
-- 重新计算属性
recalcabilitys(actor)
end
```
不过小仙,这里有个关键点:**切割属性在引擎中需要特殊处理**。根据参考资料,切割触发需要:
1. 在M2参数选项中勾选"物品参数-新增属性-启用切割"
2. 切割攻击模式对应的Model值为3
如果你想让切割效果生效,可能需要在攻击前触发中处理,比如在`attackdamage`触发里:
```lua
function attackdamage(self, Target, Hiter, MagicId, Damage, Model, result)
-- 检查是否为切割攻击
if Model == 3 then
-- 这里可以添加你的切割伤害计算逻辑
local cuttingValue = getbaseinfo(self, 51, 224)
result = Damage + cuttingValue
return result
end
end
```
如果你还有其他不明白的地方,随时问我哦!或者也可以请教我师傅浮生梦尊师!
← 返回问答库