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
Descri­ption
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

Operation
Descri­ption
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
.
Function
Descri­ption
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

Operation
Descri­ption
a .. b
Combine two strings.
Function
Descri­ption
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 arrays. 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
Instan­ce.n­ew­(class)
and setting the parent:
object.Parent = parent
How do I access an object's proper­ties?
Use a period (
.
):
print(­obj­ect.Name)
How do I set an object's proper­ties?
Use a period (
.
) and equals sign (
=
):
part.T­ran­spa­rency = .5
How do I destroy an object?
Using
object­:De­stroy()
How do I copy a preexi­sting object?
Using
object­:Cl­one()
and setting the parent:
newTree = workspace.Tree:Clone()
newTree.Parent = workspace

General Object Functions

Method name
Descri­ption
: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 iterate, 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 calling it by name. Functions can have arguments (given values) and/or return values.
               
 

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: Gamepad Input Cheat Sheet
          Roblox: CFrames Cheat Sheet

          More Cheat Sheets by Ozzypig

          Roblox: Gamepad Input Cheat Sheet
          Roblox: CFrames Cheat Sheet