Written by Greenman#0001
The Roblox Wiki is one of the best ways to learn how to script but unfortunately, all of the tutorials on there have been scrambled due to the redesign so this guide is just sorting out the tutorials again so you can read them in the correct order. This guide should cover everything you need to become competent or at least confident with Roblox Lua.
This will not guarantee that you will learn Lua quickly or even at all. It's your responsibility to use the resources here effectively by taking your time, taking notes, practicing, etc. This list will be updated as I find articles on important concepts that I overlooked so make sure you check back frequently.
- Roblox Studio Setup
- Using Roblox Studio
- Game Settings
- Team Create
- Move Tool
- (Rotate Tool) Positioning Parts
- Scale Tool
- Build an Obby
- Build an Obby: Coloring Parts
- Build an Office Building
- Union/Separate/Negate
- Make An Arch (Union/Separate/Negate Example)
- Roblox Studio Debugger
- Lua vs C# Comparison (OPTIONAL)
- Hello World
- Creating A Script
- Creating Parts via Code
- Comments
- Variables
- String
- Special Characters
- Number
- Operators (Arithmetic)
- Nil
- Boolean
- Table
- Function
- Cloning tables
- Conditional Statements
- Operators (Relational & Logical)
- Type Coercion
- Loops
- Generic For Loop (pairs & ipairs)
- Scoping
- Function Recursion
- Events
- Client-Server Model
- Remote Functions & Events
- Network Ownership
- Input Events
- Debounce
- Callbacks
- Methods
- Pathfinding
- Enumeration
- Metatables
- Object Oriented Programming
- Coroutines
- Threading Code
- Designing For Multiplayer
- Intro to GUIs
- Using Images in GUIs
- Creating GUI Buttons
- GUI Animations
- Animating Text (using Typewriter module)
- Radial Menu
- Default UI Input Bindings
- Text and Chat Filtering
- Surface GUIs
These libraries allow you to do stuff to values of a certain datatype (math = numbers, table = tables, and string = strings).
Examples:
- You can use
math
to get the absolute value of a number (math.abs
) - You can use
table
to sort an array (table.sort
) - You can use
string
to replace parts of a string (string.gsub
)
This reference is good for learning how to construct these Roblox datatypes, what properties they have, and when they are used.
Example: You can use the Vector3
type to position a part
This reference is good when you want to see what enumerators are available for what you need.
Example: You can use Enum.KeyCode.W
to get the key code for the w
key. This could be used to check if the key is being pressed down.
This reference is good for learning about the properties, functions/methods, and events that a class has.
Example: The Model
class has a BreakJoints
method that will remove all of the welds of the model.
This reference is good for learning how to use some of the global functions of Lua. Some of the functions in here have been removed in Roblox Lua for security reasons (the io library and a majority of the debug library are the main ones).
Example: The tostring
function will take whatever is passed in and convert it to a string.