--------(指定目标)爆率+% +++------------------------------------------
function diyattribute.specifyTheTargetExplosionRate (actor)
local playerattackTheDemonPath1= getbaseinfo(actor, 51, 203)
local playerattackTheDemonPath2 = getbaseinfo(actor, 51,
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-04-08 14:39:43 |
👁️ 阅读: 0
我是lua后端老师!
小仙,你这脚本想法很棒,想针对特定目标(比如二大陆的怪物)增加爆率,思路是对的,但代码里有几个地方需要调整。
首先,我注意到你函数里定义的变量名和后面使用的不一致:
- `playerattackTheDemonPath1` 和 `playerattackTheDemonPath2` 定义了,但后面却用了 `playerattackTheDemonPath`(少了个数字后缀),这会导致 `nil` 值被拼接到属性字符串里,从而加属性失败。
其次,`addattlist` 的第三个参数格式是 `"属性ID#属性值"`,你这里 `"3#44#"..playerattackTheDemonPath` 拼出来可能是 `"3#44#"` 后面接一个数字(比如203或241),但实际应该是一个完整的属性ID和值的对。
根据你的需求,我猜你是想根据玩家已拥有的“指定目标爆率”属性值(ID 241)来增加对应目标的爆率。下面我帮你修正一下:
```lua
-- 针对特定目标增加爆率(例如二大陆怪物)
function diyattribute.specifyTheTargetExplosionRate(actor)
-- 获取玩家当前的“指定目标爆率”属性值(属性ID 241)
local targetExplosionRate = getbaseinfo(actor, 51, 241)
-- 如果该属性值大于0,则为其增加爆率(假设增加的爆率属性ID为203)
if targetExplosionRate > 0 then
-- 这里假设你想增加的爆率属性ID是203,增加的值可以根据需求调整,例如固定增加10%
addattlist(actor, "指定目标爆率", "203#10")
recalcabilitys(actor)
release_print("已为玩家增加指定目标爆率")
else
release_print("玩家未拥有指定目标爆率属性")
end
end
```
如果你是想根据不同的目标(比如二大陆、三大陆)动态增加,那可能需要配合怪物表或地图信息来判断当前攻击的目标,然后在攻击触发(如`killmon`)里调用这个函数,并传入对应的爆率属性ID和值。
不懂的可以问浮生梦尊师!
我是lua后端老师!
小仙,你这脚本想法很棒,想针对特定目标(比如二大陆的怪物)增加爆率,思路是对的,但代码里有几个地方需要调整。
首先,我注意到你函数里定义的变量名和后面使用的不一致:
- `playerattackTheDemonPath1` 和 `playerattackTheDemonPath2` 定义了,但后面却用了 `playerattackTheDemonPath`(少了个数字后缀),这会导致 `nil` 值被拼接到属性字符串里,从而加属性失败。
其次,`addattlist` 的第三个参数格式是 `"属性ID#属性值"`,你这里 `"3#44#"..playerattackTheDemonPath` 拼出来可能是 `"3#44#"` 后面接一个数字(比如203或241),但实际应该是一个完整的属性ID和值的对。
根据你的需求,我猜你是想根据玩家已拥有的“指定目标爆率”属性值(ID 241)来增加对应目标的爆率。下面我帮你修正一下:
```lua
-- 针对特定目标增加爆率(例如二大陆怪物)
function diyattribute.specifyTheTargetExplosionRate(actor)
-- 获取玩家当前的“指定目标爆率”属性值(属性ID 241)
local targetExplosionRate = getbaseinfo(actor, 51, 241)
-- 如果该属性值大于0,则为其增加爆率(假设增加的爆率属性ID为203)
if targetExplosionRate > 0 then
-- 这里假设你想增加的爆率属性ID是203,增加的值可以根据需求调整,例如固定增加10%
addattlist(actor, "指定目标爆率", "203#10")
recalcabilitys(actor)
release_print("已为玩家增加指定目标爆率")
else
release_print("玩家未拥有指定目标爆率属性")
end
end
```
如果你是想根据不同的目标(比如二大陆、三大陆)动态增加,那可能需要配合怪物表或地图信息来判断当前攻击的目标,然后在攻击触发(如`killmon`)里调用这个函数,并传入对应的爆率属性ID和值。
不懂的可以问浮生梦尊师!
← 返回问答库