如何修复Garry's Mod武器的冷却时间?(尝试将nil与数字进行比较)

我正在 Garry's Mod 中制作一种武器,它有三个功能,可以使用鼠标按键和 R 键。由于 Garry 很酷,我能够很容易地使用 SetNextPrimaryFire() 和 SetNextSecondaryFire() 设置鼠标按键攻击的延迟。不幸的是,没有为其他按键设置类似的方便函数。因此,一个陌生人建议我尝试这个方法。

如果我从 SWEP:Think() 下面的第一行中删除 "and self.ultdelay <= CurTime()",那么代码就可以正常工作,但是期望的 15 秒延迟不适用,每次按下 R 键时函数都会运行。当它存在时,函数完全停止工作,并导致错误 [ERROR] lua/weapons/lucian/shared.lua:103: attempt to compare nil with number。

点赞
用户2675813
用户2675813

尝试将第103行改成以下代码:

if self.Owner:KeyPressed( IN_RELOAD ) and (not self.ultdelay or self.ultdelay <= CurTime()) then

你需要这样做的原因是因为在SWEP:Initialize中没有将 ultdelay 设置为任何值,因此它正在尝试比较一个尚未设置的值,因此会出现错误消息。

2013-10-03 14:10:20