Creating a Script | Documentation - Roblox Creator Hub (2024)

Coding is the process of creating instructions for computers to follow. Just like people use different languages, such as English and Spanish, so do programs. Roblox uses the coding language Lua.

This article will cover how to start coding in Roblox, introducing common concepts like scripts, data types, and variables. By the end, you'll be able to type out code that displays messages in Roblox Studio.

Coding with Scripts

In Roblox Studio, lines of Lua code are held in scripts. These scripts give the game sets of instructions on how to give players health points, create a rain of fireballs, or anything else imaginable.

Creating a Script

Scripts are commonly created in ServerScriptService, a special folder made just for holding scripts.

  1. In Explorer, hover over ServerScriptService to see the + button.

    Creating a Script | Documentation - Roblox Creator Hub (1)
  2. Click the + button and select Script. A new script will be created and the script editor will open.

  3. Right-click Script and select Rename. Name the script PracticeScript. Naming scripts helps you and any teammates remember what each script does.

Hello World

New scripts include a print function at the top of the script editor. Print functions display text on the screen. It's one of the first functions many people learn, and you'll use it often. This code will make "Hello world!" appear on the screen.

Default code

print("Hello world!")

To find the script next time you open up Roblox Studio, click on the name of the script above the game editor, or double-click the script's name in Explorer.

Testing Output

You can see the result of running the default code with the Output window. The Output window is typically at the bottom of Roblox Studio, but if you've never used it before, you may need to enable it.

You'll need the Output window throughout this course, so now is a good time to enable it if you haven't already.

  1. Select the View menu tab.

  2. Click Output.

    Creating a Script | Documentation - Roblox Creator Hub (2)

    The window will appear at the bottom of Roblox Studio.

    Creating a Script | Documentation - Roblox Creator Hub (3)
  3. To test the script, click Play. Hello world! will show up in the Output window.

    Creating a Script | Documentation - Roblox Creator Hub (4)
  4. Click Stop to end the playtest. You can now return to the Script tab.

Identifying Data Types

Coding languages classify different kinds of values into data types. For example, one data type is a number. Number data types are self-explanatory as they are made up of only numbers.

Another data type is a string. Strings can hold numbers, letters, and characters. Take another look at the default code in the new script; the words and quotations within the parenthesis is an example of a string data type.

Default code

print("Hello world!")

Strings like "Hello World" always sit inside quotation marks, "like this". More examples of strings are below. Notice how they hold a mix of letters and numbers.

  • "You just joined the game!"

  • "There are 50 players left"

  • "10"

Creating Variables

Variables are containers for information the program can use and change, like player names or points.

Declaring a variable is what coders call the process of creating a new variable. In Lua, to declare a new variable, type local, then type the name for the new variable. A variable that can hold a player name might look like: local playerName

When declaring new variables, some coding languages require that you also state what data type the variable can use. For example, a variable in Java would be String name = "Pavel". Lua only requires a name.

In Lua, variables can be global or local. You'll usually use local variables. Local variables can only be used within the script or chunk of code where they were created. Global variables can potentially be used by other scripts, but too many global variables can make your experience slow and unresponsive. It's better to stay in the habit of making variables local unless necessary.

Using Variables and Strings Together

Time to declare your own variables. These steps will use a string to store the name of your favorite animal.

  1. Delete print("Hello world!"). It's best practice not to leave unnecessary code in your scripts.

  2. Declare a new variable by first typing local, then naming the variable myAnimal.

    Declares a new variable

    local myAnimal

Variable names can't include spaces. Be careful not to include spaces or the code won't work as intended.

Naming Variables

Variables can be named anything, but good names will always describe their purpose. Generic names make your code difficult to read and update later. Coders will also use different capitalization styles to remind themselves how the variable is used within the script. A good default style is camelCase.

To write in camelCase:

  • Begin with a lowercase letter

  • Leave out spaces

  • Capitalize additional words

Good Variable Names

  • playerPoints

  • numberStorageArray

Bad Variables Names

  • myVariable - Doesn't describe the purpose of the variable

  • player name - The included space will cause issues

Assigning Values to Variables

New variables are empty. To assign it a value, or put something inside its container, use the = symbol. In this case, assign the variable the name of your favorite animal.

  1. After the variable name, type =.

    Equal assigns values

    local myAnimal =

  2. On the same line, type a string that contains your favorite animal. Remember the quotation marks.

    Assigns "Porcupines" to myAnimal

    local myAnimal = "Porcupines"

Using Print() For Your Own Messages

Print functions display text on the screen, as you saw earlier. It's one of the first functions many people learn since it's a simple way of giving the script a command. To see your variable, use the print() function.

  1. On a new line, type print().

    Adds empty print()

    local myAnimal = "Porcupines"

    print()

  2. Type the name of your variable within the parenthesis.

    Outputs "Porcupines"

    local myAnimal = "Porcupines"

    print(myAnimal)

    If you see a red error in the output editor, it's like there's an error in the code. Each error has a unique way of describing itself. Try and use the information from the error to fix your code.

  3. Test your code with the play button. You should see the name of your animal in the Output window.

Combining Strings

You can display any string in the Output using print(); you can even print multiple strings stored within variables or typed directly within the function. Concatenation is combining strings. To concatenate the string assigned to your variable and a second string, use two dots .. The following example concatenates two variables and two typed strings.

Uses variables and strings together

local firstAnimal = "porcupines"

local secondAnimal = "dolphins"

print("I like " .. firstAnimal .. " and " .. secondAnimal)

Play around with printing different combinations of strings.

Summary

New scripts can be created by clicking the + button next to the name of an object. ServerScriptService is a common place to create new scripts. New scripts include the default code print("Hello world!"). This code will display Hello world! in the Output window, where you can see the results of your code and if any errors have occurred.

"Hello world!"' is an example of a string data type. Strings can include any combination of characters that you might type on your keyboard. Concatenation is when multiple strings are combined.

Variables are containers that can be assigned to hold different data types, such as strings and numbers.

Creating a Script | Documentation - Roblox Creator Hub (2024)

FAQs

Is Roblox scripting hard? ›

Scripting in general is hard and easy. it relies on how much effort It looks really simple but has a ton of effort and coding put into .

Does Roblox use C++? ›

What coding language is Roblox written in? The Roblox platform itself is written in C++ and other languages, but the most important language for anyone interested in Roblox coding is Lua.

Is Roblox coding easy? ›

Roblox Studio uses Lua as its scripting language because it is easy to learn, fast, and flexible. Lua is a scripting language that is widely used in the gaming industry, and it is well-suited to being embedded in other applications.

Can u get banned for scripting in Roblox? ›

roblox sees rules as black and white and sadly no matter the context if a rule is broken they will issue bans. if you were to just script your own it would be more similar to an admin panel and would be perfectly fine.

Can Roblox detect scripts? ›

It's usually detected through their init script, for ex free exploits would send a notification - that can be detected. Paid exploits aren't . Basic character exploits can usually be caught using regular humanoid checks. Keeping track of authorized teleportation (e.g if your game has .

Is Lua easier than Python? ›

Conclusion. Lua and Python are both interpreted, dynamically typed, garbage-collected programming languages. Lua is smaller than Python, making it easier to learn and embed. However, Python is better supported and more widely applicable.

Is Roblox C sharp? ›

C# and Luau

For scripting, Unity uses C#. Roblox uses Luau, a scripting language derived from Lua 5.1. Compared to C#, Luau is gradually typed and generally has a less verbose syntax.

How hard is Lua to learn? ›

While every language has its complexities, Lua is one of the easier-to-learn languages and is excellent for beginners interested in image processing or game development.

Does Roblox allow scripts? ›

Code in Roblox is written in a language called Luau which you can put in scripts within various containers in the Explorer. If you put a script under a Part, Roblox will run the script's code when the part is loaded into the game.

What was Roblox originally called? ›

The beta version of Roblox was created by co-founders David Baszucki and Erik Cassel in 2004 under the name DynaBlocks. Baszucki started testing the first demos that year. In 2005, the company changed its name to Roblox.

Does Roblox use Python? ›

Does Roblox use Python? Roblox is not written in Python, and Roblox scripting is not compatible with the Python coding language, instead using Lua as the Studio programming language.

Is Roblox script hard? ›

Roblox scripting is not as hard to learn as other programming languages might be. But you will need to commit time and effort. How long it takes to learn Roblox scripting is not an easy question to answer, because it all boils down to how much effort and time you put into it.

Is Roblox coding for kids? ›

Yes, playing Roblox coding can be an enriching learning experience for kids, especially if it involves learning to code. By making their own version of games, players can tap into their creative side, designing different environments for game play.

Is Roblox coding worth it? ›

In fact, developing on Roblox has helped many people build their STEM (Science, Technology, Engineering, and Mathematics) skills. These are skills that will serve them throughout their lives, opening a pathway to careers in game development, web and software engineering, 3D design, and many other technical industries.

How long will it take to learn Roblox scripting? ›

Roblox employs Lua, and learning the fundamentals of Lua can take anywhere from a few days to a few weeks, depending on how much time you devote to it. The more you practice, the more quickly you will learn.

Is scripting harder than coding? ›

Coding is significantly more difficult and complex than scripting. For example, in order to run a program, you need thousands of lines of code. In order to automate a particular process within the program, you need scripting. Scripting requires a lot fewer lines of code, and it's the next step after coding.

How difficult is scripting? ›

Learning a scripting language is an excellent introduction to coding and programming. They are relatively easy to learn and can be an effective jumping-off point to pursue your hobbies or career interests further.

Is coding a Roblox game hard? ›

It's relatively easy to make a Roblox game and share it. Kids can start making simple Roblox games in only a few minutes. Depending on the complexity of the game, it can take anywhere from just 15 minutes to months to make a Roblox game. To build more advanced games, it will require some level of coding in Roblox Lua.

References

Top Articles
Latest Posts
Article information

Author: Dean Jakubowski Ret

Last Updated:

Views: 6515

Rating: 5 / 5 (50 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Dean Jakubowski Ret

Birthday: 1996-05-10

Address: Apt. 425 4346 Santiago Islands, Shariside, AK 38830-1874

Phone: +96313309894162

Job: Legacy Sales Designer

Hobby: Baseball, Wood carving, Candle making, Jigsaw puzzles, Lacemaking, Parkour, Drawing

Introduction: My name is Dean Jakubowski Ret, I am a enthusiastic, friendly, homely, handsome, zealous, brainy, elegant person who loves writing and wants to share my knowledge and understanding with you.