我正在尝试制作一个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()
是一个零值,即使它应该返回一个布尔值。它指向除了IsPlayer()
之外的其他行,并且它表示它是IsPlayer()
答案 0 :(得分:0)
IsPlayer()
来电实际上是哪个IsPlayer()
--
而不是//
https://wiki.garrysmod.com/page/Category:CTakeDamageInfo
如果你调用一个函数并且它的值为nil,那么检查它是否存在。或者甚至更好,请检查这一点,因为您首先使用该功能。
为了防止你在一分钟内回来,CTtakeDamageInfo也没有函数Team()
。
查看CTDamageInfo:GetAttacker()