• Studio

  • Bots

  • Web API

  • Designer Resources

  • Host Resources







    Functions are blocks of code that can be called from other parts of your script. They can take arguments and return values. Functions are a fundamental building block of Lua scripts.

    Basic Function

    A function definition includes:

    • The scope of the function (local or global).
    • The function keyword.
    • The name of the function in camelCase.
    • The list of arguments enclosed in parentheses.
    • The body of the function enclosed in end.

    Here's an example of a basic function in Lua:

    function greetPlayer(playerName)
        print("Hello, " .. playerName .. "!")

    In this example, the greetPlayer function takes one argument playerName and prints a greeting message to the console.


    Parameters are variables that are used to pass values to a function. You can define multiple parameters in a function separated by commas. Parameters are local variables that are accessible only within the function's scope.

    Here's an example of a function with multiple parameters in Lua:

    function addNumbers(a, b)
        print(a + b)
    addNumbers(10, 20) -- Output: 30
    addNumbers(5) -- Output: Error: attempt to perform arithmetic on a nil value

    Return Values

    In the body of the function, the return statement is used to return a value from the function. The return value can be assigned to a variable or used directly in the script.

    Here's an example of a function that returns a value in Lua:

    -- This function returns one return value
    local function calculateSum(a, b)
        local sum = a + b
        return sum
    print(calculateSum(10, 20)) -- Output: 30
    local result = calculateSum(5, 5)
    print(result) -- Output: 10
    -- This function returns multiple return values: sum and difference
    local function calculateSumAndDifference(a, b)
        local sum = a + b
        local difference = a - b
        return sum, difference
    -- Calling a function and expecting multiple return values
    local sum, difference = calculateSumAndDifference(10, 5)
    print(sum, difference) -- Output: 15 5


    Methods are functions that are members of an object or a table. They are called using the : operator and have an implicit self parameter that refers to the object or table.

    Here's an example of a method in Lua:

    local player = {
        name = "Alice",
        score = 100,
        isAlive = true,
        greet = function(self)
            print("Hello, " .. self.name .. "!")
    player:greet() -- Output: Hello, Alice!

    In this example, the greet method is defined within the player table and uses the self parameter to access the name property of the player table.

    Anonymous Functions

    Anonymous functions, also known as lambda functions, are functions without a name. They are defined using the function keyword and can be assigned to variables or passed as arguments to other functions.

    Here's an example of an anonymous function in Lua:

    local greetPlayer = function(playerName)
        print("Hello, " .. playerName .. "!")
    greetPlayer("Bob") -- Output: Hello, Bob!

    In this example, the greetPlayer function is an anonymous function that takes one argument playerName and prints a greeting message to the console.

    Updated 17 days ago

    PocketWorlds Icon

    © 2024 Pocket Worlds. All rights reserved.