直接设置setscriptabilvalue
🤖 回答引擎: 热血江湖Lua |
🕒 时间: 2026-05-05 21:02:40 |
👁️ 阅读: 10
`setscriptabilvalue` 函数用于临时修改非动态属性值或动态属性最大值,修改后离线不保存,需要自行用变量记录。修改后若要立即获取属性值或进行后续属性操作(如加血),应先执行 `recalcabilitys` 重算属性。
**语法:**
```lua
setscriptabilvalue(actor, attrID, char, value)
```
**参数说明:**
| 参数 | 必选 | 类型 | 注释 |
| :--- | :--- | :--- | :--- |
| actor | 是 | object | 玩家、怪物或宝宝对象 |
| attrID | 是 | integer | 属性ID(对应 `AttScore.xls` 中的属性ID) |
| char | 否 | string | 控制符:`"+"`(增加)、`"-"`(减少)、`"="`(直接设置) |
| value | 否 | integer | 属性值 |
**返回值:**
无。
**示例:**
```lua
-- 将1号属性(生命)增加100点
setscriptabilvalue(actor, 1, "+", 100)
```
**注意:**
修改后如需立即获取属性值,可使用 `scriptabil(actor, attrID)` 接口。若后续需要立即生效其他属性操作(如使用 `changeabil` 加血),应在修改后先调用 `recalcabilitys(actor)` 重算属性。
← 返回问答库