From d7ebd5808e28d3d309eb28b36becfc758bec5a2f Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Mon, 6 Nov 2017 23:19:21 -0500 Subject: Added client effect library Simple way to register and call client effects --- gamemode/core/clienteffects/cl_effects.lua | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'gamemode/core/clienteffects/cl_effects.lua') 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 -- cgit v1.2.3-70-g09d2