What am I doing wrong?
I take and copy this line from another (working code)
CODE
KeyCardOpenDoor = function(pl)
local Door = pl:GetEyeTrace().Entity
local Weapon = pl:GetActiveWeapon()
if string.Trim(Door:GetNWInt("DoorLevel")) == "0" then pl:ChatPrint("Эта дверь не имеет управления ключ картой!") return end
if Weapon.KeyLevel > Door:GetNWInt("DoorLevel") or Weapon.KeyLevel == Door:GetNWInt("DoorLevel") then -- Если уровень карты подходит к двери мы ее открываем.
local DoorEnt = ents.FindInSphere(Door:GetPos(),50)
for k,v in pairs(DoorEnt) do -- Открывает 2 двери(колхоз канеш)
Door:EmitSound("buttons/button18.wav",55,100)
v:Fire("unlock")
v:Fire("open")
timer.Simple(5,function() v:Fire("lock") ; v:Fire("close") end)
end
pl:ChatPrint("Доступ разрешен - \nДверь открыта!")
else
Door:EmitSound("buttons/combine_button_locked.wav",55,100)
pl:ChatPrint("Вы не можете открыть эту дверь - \nНужна ключ карта уровень "..Door:GetNWInt("DoorLevel").." или выше!") -- Сообщение об ошибке
end
end
MY CODE
OpenDoor = function(pl)
Door = pl:GetEyeTrace().Entity
DoorEnt = ents.FindInSphere(Door:GetPos(),50)
for k,v in pairs(DoorEnt) do
Door:EmitSound("buttons/button18.wav",55,100)
v:Fire("Unlock")
v:Fire("Open")
timer.Simple(5,function() v:Fire("lock") ; v:Fire("close") end)
end
end
hook.Add( "InitPostEntity", "jesusfuckingchrist", OpenDoor() )
and I write an error
[ERROR] lua/doors.lua:2: attempt to index local 'pl' (a nil value)
1. OpenDoor - lua/doors.lua:2
2. unknown - lua/doors.lua:18
What to do? Why he does not perceive
InitPostEntity doesn't provide a player argument, and you're not sending in the function the correct way to the hook. Could you describe what you're trying to do?
Sorry, you need to Log In to post a reply to this thread.