Simple Scripts For Beginners

- Monetizing

DevProduct Scripts

Gamepass ScriptsUpdated Using the new Functions from the new “Gamepass Update” (Read More)

I do NOT guarantee that the Gamepass Script will work because the New Update is Broken

Both Includes:
Touching / Clicking A Part & Clicking a Gui Button to Prompt Purchase
What Happens after an item has been purchased

- Misc

Disable Player Collision Script – Anti Player Collision Using Collision Group

- Lessons

A Lesson About Tables

This should help you understand how Tables work by using print() and you reading the output

(Maybe also a little bit of OOP, Dictionaries, Arrays, Mix Tables) – I just like to call them all Tables to avoid me being confused.

- Filtering Enabled (FE)

With FE on it will create some Advantages and also Compromises but it’s for the best.

If you don't know how FE works you can read this Section

Basically there is

  • Server
  • Clients

When something changes on the Server it will Replicate to ALL Clients

When something changes on a Client it will NOT Replicate to the Server and Other Clients

Which is why you would want to use a RemoteEvent or RemoteFunction (Wiki)

Think of it as Calling a Function on the Server from the Client & vice versa


Things to remember; (Tips)

  • FE is not Exploit proof - It just means the Exploiter can only do stuff “Client Side”

  • NEVER ever ever ever trust the Client, Always check BOTH on the Server & Client

  • You can use 1 RemoteEvent & 1 RemoteFunction for the Entire Game and Store functions inside a script instead it takes less memory to store Scripts than to store Instances

  • With FE on, the Server CANNOT access some Client stuff (PlayerScripts,ReplicatedFirst) and Clients CANNOT access ServerScriptService & ServerStorage

  • When working on Guis you will need to use a LocalScript NOT a Script

Do non important stuff Client Side so that it does not bother the Server, For Example

  • Particle Emitters (PE) can be Stored & Enabled on the Client Side, because the Server does not need to see the Effects just show it to the Clients.(For some PE putting it on the Server can be exceptional)

  • Render Some Physics on the Client, such as Pets, or Rotating Coins (Anything moving that belongs to or seen by the Player, and not relevant to the Server)

  • Teleporting a Player with a LocalScript instead of Using a Script

In other words ONLY use a Script for Very Important things like Trading, Buying an Item, Building a House, Gamepass Handling, Devproduct Handling, doing Damage (ETC), most of the other stuff can be done ClientSide with a LocalScript. (A LocalScript can do 99% of what a Script can do, it’s just NOT Replicated)


I made a few scripts and uploaded them as a model for people to take, when I started scripting (1 Year Ago) I wished I had these but they didn’t existed so I decided to do it myself and then share it.

Enjoy


If you have any suggestions let me know, there is always room for improvement :+1:t2:

87 Likes

Any tips you can give on filtering enabled?

8 Likes

Good Question, I’ll edit the post above :+1:t2:

4 Likes

I’m pretty sure the server can access PlayerGui. The only thing it cannot access would be “PlayerScripts”.

4 Likes

Nope. Only the client can access PlayerGui.

1 Like

I’m using a serverscript to add a GUI in the player’s PlayerGui and it’s working completely fine.

1 Like

The server can’t see anything that the client made (like the uis cloned from StarterGui to PlayerGui) but it can see and access the PlayerGui itself.

2 Likes

Why not just use StarterGui and disable visibility, and then turn it on when you need to do so?

1 Like

When would I need to add GUIs to a PlayerGui with a server script? Wouldn’t it be better to just have everything in StarterGui, and turn on visibility when needed?

1 Like

It was only an example to prove that the server can see and access the PlayerGui.

I can confirm I also do this.

Yes, Player Gui can be accessed by the Server, it was a mistake I made back then while writing the thread, although it can’t access PlayerScripts.

I fixed the OP, Thank you for pointing it out!

1 Like

Simple, when you want the Server to have control of certain things, although the Server can’t see changes and detect Input it can still make changes to the UI and it will replicated to the Client, how can this be useful?

Here’s a real use case I’m using it for

I check the Game’s Place Version with DataStore to check if the game has been updated if it is then I will make the Server change the Template UI and all of the other Client’s UI Version Text to “Out-Dated”

Changing the Template UI means that I don’t have to change it for new players every time a new player enters and sure I could just use FireAllClients but whats the fun in that?

And then I can Parent a Text Label to all Player UI’s saying “Updating Servers” so they don’t leave while I Teleport them to a New Server.

Basically this is useful for anything you want the Server to have control of or Cross Communicating without the use of Remote Instances.

If you were to do that the UI wouldn’t exist on the Server.

1 Like