跳到主要内容

RUNTIME 类属性 ​

RUNTIME 类型的属性,会隔几秒就生效一次,仅玩家生效。

隔几秒到底是几秒?这取决于你在 attribute.yml 中的配置。比如这里就是 5 秒。

YAML
attribute:
  options:
    runtimeAttributeTime: 5

生命恢复 ​

我们写一个简单的生命恢复属性。

介绍 ​

每1点生命恢复,就会每隔几秒恢复1点生命。 因为 RUNTIME 类属性是隔几秒就生效一次的,也就是周期性的,最符合这个逻辑的就是生命恢复这个属性了。

思路 ​

JavaScript
var priority = 131
var combatPower = 1.0
var attributeName = "生命恢复"
var attributeType = "RUNTIME"
var placeholder = "health_regeneration"

function onLoad(attr) {
    return attr
}

//编写对应的 run 函数
function run(attr, entity, handle) {
    //通过 attr.getRandomValue 获取触发者的对应属性值
    var regenerationValue = attr.getRandomValue(entity, "生命恢复", handle)
    //使用 Utils.safeHeal 安全的为触发者恢复血量
    Utils.safeHeal(entity, regenerationValue)
    return true
}