• No Damage God Mode
    3 replies, posted
Hello Facepunch. Recently, I've been looking around to try and find some manner script that would prevent players in god mode from being able to damage other players. I was given the following script a few weeks back, but it didn't seem to function properly for me. [CODE]local PMETA = FindMetaTable("Player") function PMETA:IsGod() return self:GetNWBool("GodMode") end function PMETA:SetGod() if SERVER then if !self:IsGod() then self:GodEnable() self:SetNWBool("GodMode",true) else self:GodDisable() self:SetNWBool("GodMode",false) end end end hook.Add("PlayerShouldTakeDamage","DisableDamageFromGod",function(vic,atk) if atk:IsGod() then return false end end)[/CODE] Since I possess only a basic understanding of how Lua works in Garry's Mod, I was hoping that one of you might be able to help me diagnose the problem. Thanks in advance.
Bump?
[lua] local plyMeta = FindMetaTable("Player") function plyMeta:IsGod() return self._godMode -- the function is probably only used on the server end -- no point in networking a boolean value plyMeta.oldGodEnable = plyMeta.oldGodEnable or plyMeta.GodEnable plyMeta.oldGodDisable = plyMeta.oldGodDisable or plyMeta.GodDisable function plyMeta:GodEnable() self._godMode = true self:oldGodEnable() end function plyMeta:GodDisable() self._godMode = false self:oldGodDisable() end hook.Add("PlayerShouldTakeDamage","disable_damage_from_god",function(_,p) if IsValid(p) and p:IsPlayer() and p:IsGod() then -- players can take damage from non-player entities too return false end end) [/lua]
It works exactly as I need it to! A million thanks!
Sorry, you need to Log In to post a reply to this thread.