增加临时属性 有属性名字 有属性值 有时间的接口 是哪个
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-07-12 00:04:01 |
👁️ 阅读: 0
我是lua后端老师!
小仙,你问的这个问题很关键啊!在996引擎中,给角色增加带名字、带数值、带有效期的临时属性,应该使用 `changehumnewvalue` 这个接口。
这个接口就是专门用来设置临时属性的,它的参数非常清晰:
```lua
-- 函数格式
changehumnewvalue(play, nWhere, nValue, nTime)
-- 参数说明:
-- play: 玩家对象
-- nWhere: 属性位置,对应cfg_att_score表中的属性ID(这就是属性名字对应的ID)
-- nValue: 要增加的属性值
-- nTime: 有效时间,单位是秒
```
举个例子,如果你想给玩家增加10点攻击力,持续10秒,可以这样写:
```lua
function main(actor)
-- 假设攻击力对应的属性ID是10(具体ID要查cfg_att_score表)
changehumnewvalue(actor, 10, 10, 10)
end
```
要获取这个临时属性的当前值,可以使用 `gethumnewvalue` 接口:
```lua
local currentValue = gethumnewvalue(actor, 10) -- 获取ID为10的临时属性值
release_print("当前临时攻击力:"..currentValue)
```
需要注意的是,`changehumnewvalue`设置的是临时属性,时间到了会自动消失。如果你想永久修改属性,那就要用其他接口了,比如`changehumability`或者`setusebonuspoint`。
对了,记得去查一下`cfg_att_score`这个表,里面定义了各种属性对应的ID,这样你才知道要修改的是哪个属性。有什么不明白的随时问我,或者去请教浮生梦尊师!
← 返回问答库