Show Menu
Cheatography

Roblox: General Scripting Cheat Sheet by

General reference for scripting in Lua on Roblox. This cheat sheet is intended for beginner scripters.

Essential Objects

Class
Desc­rip­tion
Part
A physical brick in the world.
Model
A container for Parts.
Folder
A container for Scripts and value objects.
Script
A container for Lua source code.
LocalS­cript
A Script that runs its code on a client.

Basic math functions

Oper­ation
Desc­rip­tion
a + b
Adds a and b.
a - b
Subtract a and b.
a * b
Multiply a and b.
a / b
Divides a by b.
a % b
Remainder of a divided by b.
Func­tion
Desc­rip­tion
math.random(n)
Returns random number from 1 to n (no negati­ves).
math.random(a, b)
Returns random number from a to b.
math.max(...)
Returns the largest number.
math.min(...)
Returns the smallest number.
math.floor(n)
Rounds n down.
math.ceil(n)
Rounds n up.
math.abs(n)
Returns absolute value of n.
math.sqrt(n)
Returns square root of n.
math.pi
Approx equal to 3.14159
It's important to work out problems by hand before transl­ating their solutions into code. Algebra is necessary for success. Read about all math functions here.

String functions

Oper­ation
Desc­rip­tion
a .. b
Combine two strings.
Func­tion
Desc­rip­tion
string.len(str)
Returns length of str.
string.upper(str)
Returns str in upper-­case.
string.lower(str)
Returns str in lower-­case.
string.reverse(str)
Returns str in reverse.
string.rep(str, n)
Returns str repeated n times
string.sub(str, a, b)
Return sub-string of str from a to b.
A string is a collection of charac­ters, or text. An example of a string property is the Name property. Read all string manipu­lation functions here.

Tables

local list = {1, 2, 3}
local firstNum = list[1]
list[2] = 4
print("There are " .. #list .. " numbers")

local total = 0
for i = 1, #list do
   total = total + list[i]
end
print("The total is " .. total)
Tables are a collection of values. They are defined using curly braces {} with values separated by commas. Access the values inside using square brackets []. Tables are sometimes called arra­ys. Use a for loop to work with all items in a table indivi­dually. The :GetCh­ild­ren() method returns a table of children in an object.
 

Constants

game
Parent of all game services.
workspace
Container for all bricks and models are stored.
script
The currently running script.

Finding Objects

workspace.Part:Destroy()

print(script.Parent.Name)

game.ServerStorage.Tree:Clone()
Use a period to access an object's children. Use .Parent to access an object's parent. Use constants like game, workspace, and script to identify objects in the hierarchy.

Creating objects

How do I create an object?
Using Insta­nce.ne­w(c­lass) and setting the parent:
object.Parent = parent
How do I access an object's proper­ties?
Use a period (.):
print(object.Name)
How do I set an object's proper­ties?
Use a period (.) and equals sign (=):
part.Transparency = .5
How do I destroy an object?
Using objec­t:D­est­roy()
How do I copy a preexi­sting object?
Using objec­t:C­lone() and setting the parent:
newTree = workspace.Tree:Clone()
newTree.Parent = workspace

General Object Functions

Method name
Desc­rip­tion
:FindFirstChild(name)
Return a child with name or nil if it doesn't exist.
:WaitForChild(name)
Pauses until a child with a name exists and returns it.
:IsA(className)
Return whether the object is a certain type of object.
:Clone()
Makes and returns a copy of an object.
:Destroy()
Perman­ently delete an object.
:GetChildren()
Return a list of an object's children.
These are functions (aka methods) for all classes of ROBLOX objects. Read about all methods here.

Event basics

function onTouch(part)
   print(part.Name .. " touched me!")
end
workspace.Part.Touched:connect(onTouch)
Events are specific occurr­ences relating to objects. When an event fires, or occurs, all connected functions are called.
 

Basic functions

wait(n)
Wait n seconds then continue.
print(...)
Display something in the Output window.

Variables

local myScore = 5
myScore = myScore + 1
print(myScore)

local myName = "Ozzy"
print("My name is " .. myName)
Variables store data of any kind - numbers, strings, tables, objects or nil (nothing). A local variable is only accessible in the block of code it is defined in.

If statements

if workspace:FindFirstChild("Tree") then
   print("There is a tree here.")
end

if coins < 5 then
   print("You need more money.")
else
   print("You have enough money!")
end

if player.Name == "Jake" then
   print("You are an awesome guy, Jake")
elseif player.Name == "Sally" then
   print("You are a sweetheart, Sally")
else
   print("You are a pretty cool person")
end
If statements will run their code if the value between if­/­then is true (or not nil). They can one an else block, or any number of elseif blocks.

Loops

Numeric for loop
For counting numerically.
Example: Count from 1 to 5:
for i = 1, 5 do
   print(i)
end
Generic for loop
Most often used for object children.
Example: Print all children in object:
for i, child in pairs(object:GetChildren()) do
   print(child.Name)
end
While loop
Perform code until a condition is false.
Example: Remove all children named 'Ball'
while object:FindFirstChild("Ball") do
   object.Ball:Destroy()
end
Repeat­-until loop
Perform code once, then again until a condition is true.
Ex.: Copy objects until there are 5.
repeat
   newObject = object:Clone()
   newObject.Parent = workspace
   wait(1)
until #workspace:GetChildren() >= 5
Loops are used to iter­ate, or repeat code a number of times.

Function examples

function sayHello()
   print("Hello, world")
end
sayHello()

function addTwoNumbers(a, b)
   print("The sum is:", a + b)
end
addTwoNumbers(3, 5)

function calculateSquare(n)
   return n * n
end
local result = calculateSquare(3)
A function is a named block of code that can be run anywhere in code by call­ing it by name. Functions can have argu­ments (given values) and/or return values.
               

Help Us Go Positive!

We offset our carbon usage with Ecologi. Click the link below to help us!

We offset our carbon footprint via Ecologi
 

Comments

First draft published, I hope to get some good feedback on my first cheat sheet!

[deleted] [deleted], 00:17 28 Jan 16

Nice work, it may be basic but you did just start. I hope you continue with this!
Some things to add:
How to make color (Color3.new).
How to move things (Vector3.new or CFrame.new).
If you haven't added function(example).
Statements like elseif, then, if, and, or.
Ect.
Nice work and I hope you continue!

Making some minor fixes and changes as I receive feedback.

what is child?

nice, clean, and basic. good job.

This looks great for beginners, I probably won't be using this but if I was just starting to script this would be a great help!

Something like this for searching instances would be really good.

Just realized you made Fisticuffs.Anywho, I hoped for a more in depth description, such as how you can put them together.I'm an amatuer scripter, as well as a game dev, and scripting is my weak point, anywho, thank you for the cheat sheet, may success and fortune be your reward.

I love this, even though I have been scripting for a while I will look at this for certain pieces. Thank you so much for making this. Can you possibly add in the keydown events and mouse down events?

I am a beginning scripter, and this is an awesome help! Thank you!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Roblox: CFrames Cheat Sheet
          Roblox: Gamepad Input Cheat Sheet

          More Cheat Sheets by Ozzypig

          Roblox: Gamepad Input Cheat Sheet
          Roblox: CFrames Cheat Sheet