Lua!不是预期的情况

错误看起来在"!self.Replace"的第一行。尝试在Lua中使用!时,我总是会得到错误,如果有人可以帮忙,那太好了。

function ENT:Think()
    if (!self.Replace)&&(self:GetrHealth()<= 0)然后

        self.Replace = true
        self.ReplaceTime = CurTime()+ gMining.plugins ["Rock Config"].rockRespawn
        self.Pos = self:GetPos()
        if gMining.plugins ["Rock Config"].despawn then
            self:SetPos(self:GetPos()+Vector(0,0-300))
        elseif!gMining.plugins ["Rock Config"].消失 then
            self:SetRenderMode(RENDERMODE_TRANSADDFRAMEBLEND)
            if(gMining.plugins ["Rock Config"].customColor == truethen
                if gMining.mineralDB ["gMining."..self.name] .enable == true then
                    self:SetColor(Color(gMining.mineralDB ["gMining."..self.name] .color.r,gMining.mineralDB ["gMining."..self.name] .color.g,gMining.mineralDB ["gMining."..self.name] .color.b,gMining.plugins ["Rock Config"].rockTransparency))
                end
            else
                self:SetColor(Color(255,255,255,gMining.plugins ["Rock Config"].rockTransparency))
            end

            self:Setvisible(0end
    end;
点赞
用户6604750
用户6604750

正如之前提到的那样,Lua使用关键字not来进行逻辑反转,而不是运算符!。你发布的代码看起来像是gLua:一种基于Lua 5.1的Lua变种,专为Garry's Mod设计。与纯Lua 5.1的区别之一在于,它实现了许多C样式运算符,如此处所列:here。在常规Lua环境中尝试运行gLua将不起作用,因为基本Lua不支持这些运算符,而某些内置的Lua函数在gLua中的行为也不同。

编辑:如果在gLua环境中执行,则问题的原因可能是使用了entity.GetrHealth:这不是一个基本函数,你是否打算使用entity.GetHealth

2019-03-02 06:56:28