Roblox: General Scripting Cheat Sheet

A Games & Hobbies › Computer Games cheat sheet in English by Ozzypig

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

144,985 views 21,036 downloads 25 Jan 2016 History
4.3 avg · 2 ratings

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**
&nbsp;&nbsp;&nbsp;print("You need more money.")
**else**
&nbsp;&nbsp;&nbsp;print("You have enough money!")
**end**

**if** player.Name == "Jake" **then**
&nbsp;&nbsp;&nbsp;print("You are an awesome guy, Jake")
**elseif** player.Name == "Sally" **then**
&nbsp;&nbsp;&nbsp;print("You are a sweetheart, Sally")
**else**
&nbsp;&nbsp;&nbsp;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()
&nbsp;&nbsp;&nbsp;print("Hello, world")
**end**
sayHello()

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

**function** calculateSquare(n)
&nbsp;&nbsp;&nbsp;**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.

Badges

Useful Cheat Sheet Great Cheat Sheet Nice Cheat Sheet Good Cheat Sheet Downloaded from Unusual Locations × 10

Comments (10)

Nik1080 16:09 16 Sep 2016

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

Reply
XxmanwolfxX 09:23 15 Feb 2016

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?

Reply
Ozzypig 07:41 25 Jan 2016

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

Reply
[deleted] 00:17 28 Jan 2016

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!

Reply
kaiHirotsku 21:27 26 Jan 2016

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.

Reply
vach 21:27 26 Jan 2016

Something like this for searching instances would be really good.

Reply
UndeniableLimited 21:27 26 Jan 2016

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!

Reply
xCodeLua 21:27 26 Jan 2016

nice, clean, and basic. good job.

Reply
speelpijn 21:27 26 Jan 2016

what is child?

Reply
Ozzypig 17:17 25 Jan 2016

Making some minor fixes and changes as I receive feedback.

Reply

Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.