diff options
Diffstat (limited to 'gamemode/core/clienteffects/cl_effects.lua')
| -rw-r--r-- | gamemode/core/clienteffects/cl_effects.lua | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/gamemode/core/clienteffects/cl_effects.lua b/gamemode/core/clienteffects/cl_effects.lua index d51cf7d..368c34a 100644 --- a/gamemode/core/clienteffects/cl_effects.lua +++ b/gamemode/core/clienteffects/cl_effects.lua @@ -1,12 +1,23 @@ - +local log = nrequire("log.lua") +local er = {} --master table of effects local effects = {} -effects["weapon_blocked"] = function() - util.ScreenShake( LocalPlayer():GetPos(), 3, 3, 0.25, 100 ) + +function er.RegisterEffect(name,func) + if effects[name] ~= nil then + log.warn("Effect \"" .. name .. "\" already registered, replaceing...") + end + effects[name] = func end +er.RegisterEffect("weapon_blocked",function(data) + util.ScreenShake( LocalPlayer():GetPos(), 3, 3, 0.25, 100 ) +end) + net.Receive("art_clienteffect",function() - local effectid = net.ReadUInt(32) - local effectname = ART.screen_effect_ids[effectid] + local effectname = net.ReadString() + local effectdata = net.ReadData(net.ReadUInt(32)) print("Got effect name",effectname) - effects[effectname]() + effects[effectname](effectdata) end) + +return er |
