UnicMinds

Introduction to Roblox Scripting

Introduction to Scripting in Roblox

What is Scripting in Roblox?

Scripts are plain text files that let you add custom, dynamic behaviour to your experiences. You can use scripts to trigger in-game events, respond to player input, save player data, create leaderboards, spawn enemies, and much, much more.

Script Types – Roblox has three types of scripts:

  • Script – Code that runs on either the server or the client, depending on its location and Script.RunContext property.
  • LocalScript – Code that runs only on the client. Does not have a run context.
  • ModuleScript – Code that you can reuse in other scripts. Does not have a run context.

Creating a Script in Roblox

Scripts are commonly created in ServerScriptService, a special folder made just for holding scripts. In Explorer, hover over ServerScriptService to see the + button.

Click the + button and select Script. A new script will be created and the script editor will open.

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

Simple print statements in Lua

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.

Select the View menu tab.

Click Output.

Scripting in Roblox

To test the script, click Play. Hello world! will show up in the Output window

Scripting Basics in Roblox

Click Stop to end the playtest. You can now return to the Script tab.

Data types and Variables

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.

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 joined the game!”

“Hello123$”

“10”

In Lua, to declare a new variable, type local, then type the name for the new variable.

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.

Declares a new variable

local myAvatar

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 favourite player.

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.

On a new line, type print().

Adds empty print()

local myAvatar = “Noob”

print()

Type the name of your variable within the parenthesis.

Outputs “Noob”

local myAvatar = “Noob”

print(myAvatar)

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.

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 firstAvatar = “Noob”

local secondAvatar = “Denis”

print(“I like ” …firstAvatar .. ” and ” .. secondAvatar)

Output: I like Noob and Denis

Introduction to Conditionals in Lua

Scripts use conditional statements to handle these types of situations. Conditional statements are lines of code that only run if certain conditions are true. One type of conditional statement is an if/then statement. In Lua, the syntax pattern for if statements looks like this:

if then syntax

if “something happens” then

      — Make something else happen

end

if then

  — empty code

end

if 3 + 3 == 6 then

  — empty code

end

Computer checks if the condition “3+3==6” is true , then the code written inside the if block will be read and executed by the script.

For Example:

local myAvatar=”Noob”

If myAvatar==”Noob” then

    print(“Hello”)

else

  print(“Bye”)

The script checks if the value of myAvatar is Noob, if it’s Noob, the output will be Hello.

local myAvatar=”Noob”

If myAvatar==”Denis” then

    print(“Hello”)

else

  print(“Bye”)

Here , the output will be Bye as the condition is false.

Multiple Conditions

Control structures can have more than one condition. The keywords else and elseif can create additional scenarios for what should happen under several conditions. The syntax looks like:

local myNumber=100

Shows syntax for elseif and else

If myNumber>0 then

   print(“Go”)

elseif myNumber<0 then

   print(“Slow”)

elseif  myNumber==0 then

   print(“Wait”)

else

   print(“stop”)

end

The computer will check the value of myNumber in the first condition, as it’s true, the output will be Go. As the Script got it’s output, the script will not read the next set of code.

local myNumber=0

Shows syntax for elseif and else

If myNumber>0 then

   print(“Go”)

elseif myNumber<0 then

   print(“Slow”)

elseif  myNumber==0 then

   print(“Wait”)

else

   print(“stop”)

end

The computer will check the value of myNumber in the first condition, as it’s false, the script will go to the next condition , which is also false. Then it will go to the next condition , which is true.

Output will be stop.

Using AND / OR operator in multiple Conditions

if finishTime < 5  then

   — Get a gold medal

end

if finishTime >= 5 and <= 10 then

   — Get a silver medal

end

if finishTime > 10 and <= 15 then

   — Get a bronze medal

end

Using and operator  in if statements enables the script to check both the conditions  finishTime >= 5 and <= 10. If both the conditions are true, then the script runs the code.

Hope this is useful, thank you.

You may like to read: Common Coding Terms for Kids, Making Scrolling Background in Scratch, & Nurturing Curiosity in Children

BOOK A FREE TRIAL