尝试为 WoW 插件编写 HP 进度条 (.lua)

我正在制作一个供 RP 玩家使用的 WoW 插件,遇到了一个有点难的问题。我已经编写了这个插件来拥有一个血量指示器和一个障碍指示器。障碍会在伤害适用于生命之前接受任何伤害,而且甚至在还剩余障碍时继续接受伤害。

Bob 有 3 点障碍和 10 点生命值,他接受了 4 点伤害,因此他现在有 9 点生命值。

我决定再添加一层保护,即护甲。这种护甲将充当另一个静态的生命条,保护玩家的生命值。

所以 Bob 有 3 点障碍、5 点护甲和 10 点生命值。然后他受到 4 点伤害,现在他有 0 点障碍、4 点护甲和 10 点生命值。然后他再受到 5 点伤害,现在他有 0 点障碍、0 点护甲和 9 点生命值。

所有这些内容将被打印到适当的群聊中,如下所示

我在实现这个护甲栏时遇到了问题,以下是我的代码。

        apdmg = 0
        hpdmg = 0
        bdmg = 0
        if TempHP >=0 then hpdmg = tdmg - TempHP
            else hpdmg = tdmg - apdmg end
        if hpdmg < 0 then hpdmg = 0 end
        if apdmg < 0 then hpdmg = 0 end
        bdmg =  tdmg - hpdmg
        tdmg - ArmorPoints = apdmg
        TempHP = TempHP - bdmg
        HealthPoints = HealthPoints - hpdmg
        ArmorPoints = ArmorPoints - apdmg
        if ArmorPoints < 0 then ArmorPoints = 0 end
        if HealthPoints < 0 then HealthPoints = 0 end
        if TempHP < 0 then TempHP = 0 end
        if statsop == "True" then
            hpinput:SetText(HealthPoints)
            armorinput:SetText(ArmorPoints)
            thpinput:SetText(TempHP) end

--apdmg = 护甲点伤害
--hpdmg = 生命点伤害
--bdmg = 障碍点伤害
--TempHP 也是障碍点伤害的一个版本。

但是当我将它添加到插件中并尝试激活该函数时,我收到以下错误信息。

注意:第 1666 行是以下内容

block:SetScript("OnClick", function()
    C_Timer.After(1, function()
    --d20 = tonumber(roll)
    d20t = d20 + Block + DefMod
    if d20t >= DifficultyCheckDef then
        OutC = "Pass" else
    OutC = "Fail"
end

而第 1634 行只是这样的

apinput:SetText(ArmorPoints)
点赞