General questions about scripting

Hey! It’s me again. Now, I don’t know where to post this so pardon for it being in the wrong category.

I have this one question that has been bugging me for a while. Where is the bar set for being an advanced scripter or leaving the beginner scripter stage? Also, what are a few things every scripter should know in terms of functionality?

I’ve been also looking at new stuff to learn, so please, suggest some fun things to learn in Studio.

Thanks for reading and I hope y’all have a great day!

5 Likes

As much as I want to help, I also am conflicted with this question. I’m still learning how to script but I don’t know if I’m still in the beginner stage or the more experienced part.

Some things I know every beginner scripter should know are things like loops, services, printing, the basic properties, & most likely more but I just can’t remember it from the top of my head.

3 Likes

Yeah, I am pretty used to a big chunk of the stuff in Studio, but I can say I am definetaly not the best.

1 Like

I’d recommend to learn next things for advanced scripter knowledge. You have to understand every service and what are used for, how to use data stores and how to manipulate with them, welding, ray casting, metatables, object oriented programming or also known as OOP. Also for a beginner, it’s a plus if you understand other Instances for example ClickDetector has different properties as other Instances and if you have a knowledge of functions this Instance is using, then that’s a plus since you know what are they used for and where you can use them in the future.

4 Likes

I have a decent knowledge of roblox lua scripting (I’d say I’m between beginner and intermediate at the moment). However, I’m looking to get into OOP with C++ and Unreal Engine sometime in a few months, or the beginning of next year. Would you recommend using OOP with lua, despite the language being intended to be used as a structural programming language? And would you recommend someone, like myself, learn OOP through lua, or wait till C++, which is an intended OOP language.

1 Like

You should start learning how to use ModuleScripts with OOP. This can help a lot since you can just write your own classes for everything.

How do you even use ModuleScripts?

Trust me, no matter what level you are at every programmer has a lot more to learn and there are so much areas in programming that almost everyone is a “beginner” in some area.

So ModuleScripts arent working as long as you require them. You can use them for lots of things like converting numbers. But i think the article i linked is better than i can explain it.

Edit: This is a good Library for OOP in lua.

Beginner scripters feel inhibited by their current knowledge when learning, whereas Advanced scripters feel enhanced by their current knowledge when learning.

To give an example, a Beginner scripter feels stuck on syntax and how to use for loops when trying to learn arrays, whereas an Advanced scripter feels like they can tackle making a car system because of their knowledge of the syntax, which they can then link into their mathematical knowledge seamlessly.

This is just my definition, and it’s definitely pretty arbitrary what you consider to be “inhibiting” and “enhancing”

4 Likes

Oh is that considered an advanced topic? Me and my friend are creating/scripting a car system and chassis from scratch for our game, and it’ll be the only one of it’s kind… you’ll all have to see in what way once we get some sort of public release on the road (pun intended, hehe).

But yeah that’s true. Once you get a knack for something - for me that’s remote events after using them so much, you get a boost in your confidence, and ideas start flowing with more new-found knowledge. Practice, practice, practice!

Its true. As a beginner scripter my self ive been really into UIs. After scripting them lots and lots of times I get more confident and try out new things with scripting.

Here’s a quick example for module scripts. They can be run both Server-sided and Client-sided:

Module Script

local module = {}
function module:Fired()
print("This module's function was fired")
end
return module

Server Script/Client Script

local ModuleScript = require(game.ReplicatedStorage.ModuleScript) --Get the module
ModuleScript:Fired()

Basically a ModuleScript can be ran through a different script.

There is a YouTuber named DevKing: https://www.youtube.com/channel/UCS2smVWjNGuRzD6HVWmlWwQ

He has a beginner and advanced series.
If you know everything in the Beginner series of Devking I may call you an advanced scripter.
Well this my way to tell if someone is Advanced or Beginner
Please Correct me if I am wrong