Lua 卢阿!不期而至
错误似乎出现在“!self.Replace”的第一行,我在尝试使用时总是会出错!在卢阿,如果有人能帮忙那就太好了Lua 卢阿!不期而至,lua,garrys-mod,Lua,Garrys Mod,错误似乎出现在“!self.Replace”的第一行,我在尝试使用时总是会出错!在卢阿,如果有人能帮忙那就太好了 function ENT:Think() if ( !self.Replace ) && ( self:GetrHealth() <= 0 ) then self.Replace = true self.ReplaceTime = CurTime() + gMining.plugins[ "Rock Config"
function ENT:Think()
if ( !self.Replace ) && ( self:GetrHealth() <= 0 ) then
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" ].despawn then
self:SetRenderMode(RENDERMODE_TRANSADDFRAMEBLEND)
if ( gMining.plugins[ "Rock Config" ].customColor == true ) then
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( 0 )
end
end;
函数ENT:Think()
如果(!self.Replace)&(self:GetrHealth()正如已经指出的,Lua使用关键字not
进行逻辑反转,而不是运算符!
。您发布的代码看起来像gLua:Lua变体,基于Lua 5.1,是为Garry的Mod设计的。它与纯Lua 5.1的不同之处在于,它实现了许多C风格的运算符,如清单所示。正在尝试运行gLua in常规Lua环境将无法工作,因为基本Lua不支持这些运算符,并且某些内置Lua函数在gLua中的行为不同
编辑:如果在gLua环境中执行,问题的原因可能是使用了实体。GetrHealth
:这不是一个基本函数,您是否打算使用实体。GetHealth
?Lua的逻辑not运算符是not
。没有!
运算符。此外,Lua中的~=
与具有相同的含义>!=
其他语言。@luther这被标记为[garrys mod]!Garry的Mod有一个修改过的lua语法。它允许使用!boolean
而不是~ boolean
或非boolean
也允许GMod lua使用/
而不是-
@luther开始注释噢,我没有注意到,后来添加了标记。