changecustomitemvalue 给属性设置加%
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-06-07 01:22:56 |
👁️ 阅读: 11
我是lua后端老师!
小仙,你问的这个问题很有意思!`changecustomitemvalue` 这个函数主要是用来**增加和修改自定义属性分类名称**的,它本身并不能直接给属性值加上百分号(%)显示哦。
要给属性设置百分比显示,我们需要用到另一个函数:`changecustomitemabil`。
让我给你详细解释一下:
```lua
-- 假设我们有一个装备对象 itemobj
-- 我们想给它的第3个自定义属性(attrIndex 从0开始,所以这里是2)设置为百分比显示
local attrIndex = 2 -- 第三个属性位置(0~9)
local bindType = 3 -- 绑定类型:3表示百分比属性
local bindValue = 1 -- 绑定的值:1表示是百分比属性
-- 使用 changecustomitemabil 函数来设置百分比显示
changecustomitemabil(actor, itemobj, attrIndex, bindType, bindValue, 0)
-- 然后再用 changecustomitemvalue 来设置具体的属性值
-- 比如设置攻击力+10%,这里value填10
changecustomitemvalue(actor, itemobj, attrIndex, "=", 10, 0)
-- 刷新物品显示
refreshitem(actor, itemobj)
```
**关键点说明:**
1. **`changecustomitemabil` 参数解释:**
- `attrIndex`:属性位置(0~9,每个装备可以自定义10个属性)
- `bindType = 3`:表示设置百分比属性
- `bindValue = 1`:1表示是百分比,0表示不是百分比
2. **`changecustomitemvalue` 参数解释:**
- `operate`:操作符,可以是 "+"、"-"、"="
- `value`:属性值,比如10表示10%
3. **显示效果:**
设置完成后,装备上会显示类似 "攻击力+10%" 这样的效果。
**完整示例:**
```lua
-- 获取玩家身上的武器(位置1)
local itemobj = linkbodyitem(actor, 1)
if isnotnull(itemobj) then
-- 先设置属性名称和颜色
changecustomitemtext(actor, itemobj, "[极品属性]", 0)
changecustomitemtextcolor(actor, itemobj, 250, 0)
-- 设置第一个自定义属性为攻击力百分比
changecustomitemabil(actor, itemobj, 0, 1, 11, 0) -- 11是攻击力的属性ID
changecustomitemabil(actor, itemobj, 0, 3, 1, 0) -- 设置为百分比显示
changecustomitemvalue(actor, itemobj, 0, "=", 15, 0) -- 攻击力+15%
-- 设置第二个自定义属性为暴击率百分比
changecustomitemabil(actor, itemobj, 1, 1, 108, 0) -- 108是暴击率的属性ID
changecustomitemabil(actor, itemobj, 1, 3, 1, 0) -- 设置为百分比显示
changecustomitemvalue(actor, itemobj, 1, "=", 5, 0) -- 暴击率+5%
-- 刷新显示
refreshitem(actor, itemobj)
release_print("装备百分比属性设置完成!")
else
release_print("没有找到装备!")
end
```
小仙,记住关键点:**`changecustomitemabil` 负责设置属性类型(包括是否为百分比),`changecustomitemvalue` 负责设置具体的数值**。两者配合使用才能实现百分比属性的效果!
有什么不明白的地方随时问我,或者也可以请教浮生梦尊师!
← 返回问答库