local log = nrequire("log.lua") local er = {} --master table of effects local effects = {} 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 effectname = net.ReadString() local effectdata = net.ReadData(net.ReadUInt(32)) print("Got effect name",effectname) effects[effectname](effectdata) end) return er