gmod 游戏模式 Lua。 IsPlayer 返回空值
gmod GameMode Lua. IsPlayer retuning nill value
我正在尝试制作 gmod 游戏模式。在我的 init.lua 中,我想要这样团队成员就不会互相伤害。所以我使用了这段代码
function GM:EntityTakeDamage( target, dmginfo )
if ( target:IsPlayer() and dmginfo:IsPlayer() ) then
if (dmginfo:Team() == target:Team()) then
dmginfo:ScaleDamage( 0.0 ) // Sets damage to 0
end
end
end
但是它给我一个错误,告诉我 IsPlayer()
是一个 nil 值,即使它应该返回一个布尔值。除了带有 IsPlayer()
的行之外,它没有指向其他行,它说它是 IsPlayer()
- 你在第 3 行有错字。dminfo
- 您应该缩小多次
IsPlayer()
调用中实际为零的范围
- dmgInfo 是一个没有函数的 CTakeDamageInfo
IsPlayer()
- 单行Lua评论用
--
打开,不是//
https://wiki.garrysmod.com/page/Category:CTakeDamageInfo
如果你调用一个函数并且它说它是 nil,那么检查它是否存在。或者更好的是,在您首先使用该功能之前先检查一下。
并且为了防止您在一分钟后回来,CTtakeDamageInfo 也没有函数 Team()
。
查看 CTDamageInfo:GetAttacker()
我正在尝试制作 gmod 游戏模式。在我的 init.lua 中,我想要这样团队成员就不会互相伤害。所以我使用了这段代码
function GM:EntityTakeDamage( target, dmginfo )
if ( target:IsPlayer() and dmginfo:IsPlayer() ) then
if (dmginfo:Team() == target:Team()) then
dmginfo:ScaleDamage( 0.0 ) // Sets damage to 0
end
end
end
但是它给我一个错误,告诉我 IsPlayer()
是一个 nil 值,即使它应该返回一个布尔值。除了带有 IsPlayer()
的行之外,它没有指向其他行,它说它是 IsPlayer()
- 你在第 3 行有错字。dminfo
- 您应该缩小多次
IsPlayer()
调用中实际为零的范围 - dmgInfo 是一个没有函数的 CTakeDamageInfo
IsPlayer()
- 单行Lua评论用
--
打开,不是//
https://wiki.garrysmod.com/page/Category:CTakeDamageInfo
如果你调用一个函数并且它说它是 nil,那么检查它是否存在。或者更好的是,在您首先使用该功能之前先检查一下。
并且为了防止您在一分钟后回来,CTtakeDamageInfo 也没有函数 Team()
。
查看 CTDamageInfo:GetAttacker()