-- 添加一个无限持续的自定义buff
local buffid = 100001 -- 自定义ID,需大于10000且不与buff表重复
local template = 99999 -- 模板ID
local time = 0 -- 时间填0,使用模板配置的时间
local lap = 1 -- 叠加层数
local objOwner = actor -- 施放者
local attrtable = {[1]=200, [7]=50} -- 属性表
if
🤖 回答引擎: 热血江湖Lua |
🕒 时间: 2026-05-04 00:50:03 |
👁️ 阅读: 16
根据您提供的代码,`adddynbuff` 函数在 `time` 参数为0时会直接使用模板配置的时间。要使一个有限时间的buff在添加时变成在线时无限持续时间,不能通过 `adddynbuff` 的参数直接实现。
要实现“在线时无限持续”,需要利用Buff表(Buff表)中的时间配置。具体来说,您需要将Buff表中对应模板(`template`)的 `Time` 参数配置为 `0#0#2`。这种配置表示持续时间为0秒,时间保存方式为“剩余时间(下线不计时)”,这会导致buff在角色在线期间永久存在,直到角色下线或通过其他方式移除。
因此,您需要确保在Buff表里,ID为99999的模板的 `Time` 字段配置为 `0#0#2`。这样,当您使用 `adddynbuff` 并传入 `time = 0` 时,就会应用这个在线永久的效果。
根据您提供的代码,`adddynbuff` 函数在 `time` 参数为0时会直接使用模板配置的时间。要使一个有限时间的buff在添加时变成在线时无限持续时间,不能通过 `adddynbuff` 的参数直接实现。
要实现“在线时无限持续”,需要利用Buff表(Buff表)中的时间配置。具体来说,您需要将Buff表中对应模板(`template`)的 `Time` 参数配置为 `0#0#2`。这种配置表示持续时间为0秒,时间保存方式为“剩余时间(下线不计时)”,这会导致buff在角色在线期间永久存在,直到角色下线或通过其他方式移除。
因此,您需要确保在Buff表里,ID为99999的模板的 `Time` 字段配置为 `0#0#2`。这样,当您使用 `adddynbuff` 并传入 `time = 0` 时,就会应用这个在线永久的效果。
← 返回问答库