Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

How to make changes only on a client?

If you play base wars you should know what I mean. How would I create a part or change a property that is only visible to a certain client? Base wars has things like "part" explosions you can turn on and off, and for a while they had FPS arms you could turn on and off, and you have night vision which changes the clients lighting to a dark green.

1 answer

✓ Accepted answer

There are two methods, and the first is a lot easier.

  1. Filtering

When Workspace.FilteringEnabled is true, you can use LocalScripts to control client-side visual effects without having anything show up on the Server. This also applies to changes to Lighting. No changes are replicated, as far as I know.

  1. PlayerGui/Camera parenting.

Whether or not Filtering is enabled, children of the Player's PlayerGui or Workspace.CurrentCamera are not replicated to the Server. This only applies to bricks, however. To get client-specific Lighting changes to work, you'll have to employ a clever hack involving latency, which you can examine here!.

You will have to use LocalScripts for all of this, obviously.

3 comments

0

As a side question, Adark, do you know of a way to have a Part invisible to the client, but visible to the server? In the same way that children of Character, when in first person, (and unless they are Tool instances) are not visible to the client.

0

Thanks! I'm gonna have to do some scripting lessons with you!

0

@duckwit; You can use Filtering to set the properites of a Server-object locally, or just create Local parts on every client EXCEPT the one you want them to not be visible on. @Altlight; I'm actually writing a tutorial series right now, lol. https://bitbucket.org/FuriousProgrammer/rbx.lua-tutorial-for-newbs/src

This discussion is preserved as it was. New answers, comments, and votes are closed.