Show Menu

Roblox: General Scripting Cheat Sheet by

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

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.

Download the Roblox: General Scripting Cheat Sheet

3 Pages
//media.cheatography.com/storage/thumb/ozzypig_roblox-general-scripting.750.jpg

PDF (recommended)

Alternative Downloads

Share This Cheat Sheet!

 

Comments

Ozzypig Ozzypig, 07:41 25 Jan 16

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!

Ozzypig Ozzypig, 17:17 25 Jan 16

Making some minor fixes and changes as I receive feedback.

speelpijn speelpijn, 21:27 26 Jan 16

what is child?

xCodeLua xCodeLua, 21:27 26 Jan 16

nice, clean, and basic. good job.

UndeniableLimited UndeniableLimited, 21:27 26 Jan 16

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!

vach vach, 21:27 26 Jan 16

Something like this for searching instances would be really good.

kaiHirotsku kaiHirotsku, 21:27 26 Jan 16

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.

XxmanwolfxX XxmanwolfxX, 09:23 15 Feb 16

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?

Nik1080 Nik1080, 16:09 16 Sep 16

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