Would it be better in terms of reducing strain on the server/reducing overall ping to simply handle all effects on the client?
For example, when I use a skill that triggers are “slash” effect onto a character, would it be better to make that effect on the server, or would it be better to do it on the client?
(Essentially, what I’m asking is if it’s not too rough on the server to fire events this often)
If I were to use the second version, it would be something like this:
function skill.fire()
-- whatever code before this
part.Touched:Connect(function(hit)
local humanoid = --whatever way to get humanoid
effects:FireAllClients(associatedModuleForEffects, humanoid.Parent)
end)
end
-- On client
effects.OnClientEvent:Connect(function(module, ...)
-- maybe do a distance check before-hand?
require(module).fire(...)
end)
Would this method be better than simply handling all effects on the server? Like maybe I’d want to emit some particles, use tweenservice on the size and position of a meshpart to achieve an effect, etc.