尝试在 lua 中索引一个 nil 值
Posted
技术标签:
【中文标题】尝试在 lua 中索引一个 nil 值【英文标题】:attempt to index a nil value in lua 【发布时间】:2019-09-20 08:55:58 【问题描述】:我有这个代码,
hook.Add( "PlayerSwitchWeapon", function( ply, oldWeapon, newWeapon )
if (tostring(newWeapon) == tostring(hololink_swep) ) then
print( "This weapon is speciall" .. newWeapon:GetClass() .. "." );
end
end );
当我执行它时,我得到,
错误、警告:lua5.3: source_file.lua:1: 尝试索引 a 零值(全局“挂钩”)堆栈回溯:source_file.lua:1:在 main 块 [C]: 在 ?
【问题讨论】:
hook
为零,它在错误消息中说得很对。我最好的猜测是 Hook
应该是大写的。
@DarkWiiPlayer - docs
使用 gmod 对象的脚本只能在游戏引擎的上下文中运行。您的脚本将无法在纯 Lua 下运行。
【参考方案1】:
您需要将脚本放在特定文件夹中,以使它们在游戏引擎中运行。我建议你把它们放到garrysmod/addons/YOURADDONNAME/lua/autorun/server or client
,领域取决于你想做什么。
您需要在此 link 下的 wiki 中放置很好解释的内容。
【讨论】:
以上是关于尝试在 lua 中索引一个 nil 值的主要内容,如果未能解决你的问题,请参考以下文章