Skip to content

builtin quest

boyism80 edited this page Mar 26, 2026 · 4 revisions

Built-in Functions Documentation (Quest)

This document describes functions available to quest type objects (fb.game.quest).

  • step
  • progress
  • param
  • inc_progress
  • inc_step
  • complete
  • completed
  • resume

step

Provides functionality to get or set the quest step.

step()

  • Description:
    Returns the current step number of the quest.
  • Parameters:
    • None
  • Return Value:
    • number: Current step number (1-based)
  • Example:
    -- This is a real usage example from game scripts
    local quest = me:quest(1001)
    if quest then
        local current_step = quest:step()
        me:message("Current step: " .. current_step)
    end

step(value:number)

  • Description:
    Sets the quest step to the specified value.
  • Parameters:
    • value:number: New step number to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    local quest = me:quest(1001)
    if quest then
        quest:step(3)
        me:message("Quest step set to 3")
    end

progress

Provides functionality to get or set the quest progress.

progress()

  • Description:
    Returns the current progress value of the quest.
  • Parameters:
    • None
  • Return Value:
    • number: Current progress value
  • Example:
    -- This is a real usage example from game scripts
    local quest = me:quest(1001)
    if quest then
        local progress = quest:progress()
        me:message("Progress: " .. progress)
    end

progress(value:number)

  • Description:
    Sets the quest progress to the specified value.
  • Parameters:
    • value:number: New progress value to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    local quest = me:quest(1001)
    if quest then
        quest:progress(50)
        me:message("Quest progress set to 50")
    end

param

Provides functionality to get or set the quest parameter.

param()

  • Description:
    Returns the current quest parameter string.
  • Parameters:
    • None
  • Return Value:
    • string: Current quest parameter
  • Example:
    -- This is a real usage example from game scripts
    local quest = me:quest(1001)
    if quest then
        local param = quest:param()
        me:message("Quest parameter: " .. param)
    end

param(value:string)

  • Description:
    Sets the quest parameter to the specified string.
  • Parameters:
    • value:string: New parameter string to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    local quest = me:quest(1001)
    if quest then
        quest:param("custom_data")
        me:message("Quest parameter set")
    end

inc_progress

inc_progress([value:number])

  • Description:
    Increases the quest progress by the specified value.
  • Parameters:
    • [value:number]: Amount to increase progress (default: 1)
  • Return Value:
    • boolean: true if successful, false otherwise
  • Example:
    -- This is a real usage example from game scripts
    local quest = me:quest(1001)
    if quest then
        local success = quest:inc_progress(5)
        if success then
            me:message("Progress increased by 5")
        end
    end

inc_step

inc_step([value:number])

  • Description:
    Increases the quest step by the specified value.
  • Parameters:
    • [value:number]: Amount to increase step (default: 1)
  • Return Value:
    • boolean: true if successful, false otherwise
  • Example:
    -- This is a real usage example from game scripts
    local quest = me:quest(1001)
    if quest then
        local success = quest:inc_step(1)
        if success then
            me:message("Advanced to next step")
        end
    end

complete

complete()

  • Description:
    Completes the quest.
  • Parameters:
    • None
  • Return Value:
    • boolean: true if successful, false otherwise
  • Example:
    -- This is a real usage example from game scripts
    local quest = me:quest(1001)
    if quest then
        local success = quest:complete()
        if success then
            me:message("Quest completed!")
        end
    end

completed

completed()

  • Description:
    Checks if the quest is completed.
  • Parameters:
    • None
  • Return Value:
    • boolean: true if quest is completed, false otherwise
  • Example:
    -- This is a real usage example from game scripts
    local quest = me:quest(1001)
    if quest then
        if quest:completed() then
            me:message("Quest is already completed")
        end
    end

resume

resume()

  • Description:
    Resumes the quest's coroutine execution for the owning character. Returns true if the resume was successful.
  • Parameters:
    • None
  • Return Value:
    • boolean: true if resumed successfully, false otherwise
  • Example:
    -- This is a real usage example from game scripts
    local quest = me:quest(1001)
    if quest then
        local success = quest:resume()
        if success then
            me:message("Quest resumed")
        end
    end

Clone this wiki locally