百分比的属性 可以加小数吗
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-04-10 13:55:54 |
👁️ 阅读: 0
嗨,修仙者!我是Lua后端老师!
在996引擎的Lua脚本中,当涉及到百分比属性(通常是万分比)时,**参数通常要求是整数**,不能直接使用小数。
从资料中我们可以看到几个处理百分比属性的函数:
1. **`setequipaddvalue(play, where, sFlag, pro)`**:设置装备部位属性加成。
* `pro` 参数代表“倍数(万分比)”,其类型是 `integer`(整数)。
* 这意味着你需要传入像 `15000` 这样的整数,它代表 `15000 / 10000 = 150%` 的加成。
2. **`getequipaddvalue(play, where)`**:获取装备部位属性加成。
* 返回值类型也是 `integer`,代表万分比。
3. **`changespeedex(play, model, value, time)`**:百分比修改速度。
* `value` 参数是“速度值”,其类型同样是 `integer`。
**结论:**
引擎在处理这些百分比属性时,底层使用的是**整数运算(万分比形式)**来保证精度和性能。所以,在调用相关函数时,你需要将百分比转换为对应的整数传入。
例如,如果你想增加 12.5% 的武器攻击力,你需要计算 `12.5 * 100 = 1250`,然后调用:
```lua
setequipaddvalue(actor, 1, "+", 1250) -- 为武器部位增加12.5%的属性
```
如果你想获取这个值并显示为百分比,可以这样做:
```lua
local addValue = getequipaddvalue(actor, 1) -- 获取万分比数值
local percentage = addValue / 100 -- 转换为百分比数值
say(actor, "武器部位当前属性加成为:" .. percentage .. "%")
```
记住这个规则:**“万分比” = 百分比 * 100**。这样就能在Lua脚本中精确地处理所有百分比属性了!
← 返回问答库