Lua Scripting Tutorial - 3

Roblox Lua Scripting Tutorial - Episode 3: Loops and Basic Conditions

by ReauofinveFb

Author Avatar

Roblox Lua Scripting Tutorial - Episode 3: Loops and Basic Conditions

Welcome back to our Roblox Lua scripting tutorial series! In this third episode, we'll dive into loops and basic conditional statements, which are essential for creating more complex scripts.

Prerequisites

Before we begin, make sure you've completed Episode 2 and have a basic understanding of variables, functions, and events in Roblox scripting.

Loops

Loops allow you to repeat a block of code multiple times. There are two common types of loops in Lua: while and for.

while Loop

Let's start with a while loop. We'll use it to change the color of the Part gradually:

local part = script.Parent local clickCount = 0

local function handleClick()
    clickCount = clickCount + 1
    print("Part clicked " .. clickCount .. " times.")
    
    if clickCount >= 5 then
        part.BrickColor = BrickColor.new("Bright red")
        
        -- Reset clickCount
        clickCount = 0
    end
end

part.Touched:Connect(handleClick)

-- Let's add a while loop
local colorValue = 1
while colorValue < 10 do
    wait(1)  -- Wait for 1 second
    colorValue = colorValue + 1
    part.BrickColor = BrickColor.new("Bright blue"):lerp(BrickColor.new("Bright red"), colorValue / 10)
end

In this script, we've added a while loop that gradually changes the Part's color from bright blue to bright red over 9 seconds.

for Loop

Now, let's explore a for loop. We'll use it to create a series of Parts:

local parent = script.Parent
local numberOfParts = 5

for i = 1, numberOfParts do
    local newPart = Instance.new("Part")
    newPart.Size = Vector3.new(5, 5, 5)
    newPart.Position = Vector3.new(i * 10, 0, 0)
    newPart.Parent = parent
end

In this script, we use a for loop to create five new Parts with different positions. These parts will be children of the original Part, forming a line.

Conditional Statements

Let's enhance our script with conditional statements. We'll make the Parts change color when clicked, and reset their color when they reach a certain size:

local part = script.Parent
local clickCount = 0

local function handleClick()
    clickCount = clickCount + 1
    print("Part clicked " .. clickCount .. " times.")
    
    if clickCount >= 5 then
        part.BrickColor = BrickColor.new("Bright red")
        
        -- Reset clickCount
        clickCount = 0
    end
end

part.Touched:Connect(handleClick)

local parent = script.Parent
local numberOfParts = 5

for i = 1, numberOfParts do
    local newPart = Instance.new("Part")
    newPart.Size = Vector3.new(5, 5, 5)
    newPart.Position = Vector3.new(i * 10, 0, 0)
    newPart.Parent = parent

    -- Add a conditional statement
    if newPart.Position.X >= 30 then
        newPart.BrickColor = BrickColor.new("Bright green")
    end
end

Now, when you click on the Parts, they will turn red after 5 clicks, and the Parts that reach a position of 30 on the X-axis will turn green.

Conclusion

In this episode, you've learned about while and for loops, as well as basic conditional statements in Roblox Lua scripting. These concepts are crucial for creating more dynamic and interactive games in Roblox.

Stay tuned for the next episode, where we'll explore user input, functions with parameters, and more advanced scripting techniques. Happy scripting!


Tutorial created by ReauofinveFb

View in-game to comment, award, and more!