builtin group - boyism80/fb GitHub Wiki

Built-in Functions Documentation (Group)

This document describes functions available to group type objects.


master

master()

  • Description:
    Returns the name of the group master/leader.
  • Parameters:
    • None
  • Return Value:
    • string: Name of the group master
  • Example:
    -- This is a real usage example from game scripts
    local group = me:group()
    if group then
        local master_name = group:master()
        me:message("Group master: " .. master_name)
    end
    

members

members()

  • Description:
    Returns a table containing the names of all group members.
  • Parameters:
    • None
  • Return Value:
    • table: Table containing member names as strings
  • Example:
    -- This is a real usage example from game scripts
    local group = me:group()
    if group then
        for _, member_name in pairs(group:members()) do
            me:message("Group member: " .. member_name)
        end
    end
    

nears

nears(map:fb.game.map, position:table)

  • Description:
    Returns group members that are near the specified position on the given map.
  • Parameters:
    • map:fb.game.map: Map to search on
    • position:table: Position table with {x, y} coordinates
  • Return Value:
    • table: Table containing nearby group member objects
  • Example:
    -- This is a real usage example from game scripts
    local group = me:group()
    if group then
        local nears = group:nears(me:map(), {me:position()})
        for _, member in pairs(nears) do
            me:message("Nearby group member: " .. member:name())
        end
    end
    

message

message(text:string, type:number)

  • Description:
    Sends a message to all members of the group.
  • Parameters:
    • text:string: Message text to send
    • type:number: Message type (MESSAGE_TYPE enum, default: MESSAGE_TYPE_STATE)
  • Return Value:
    • nil|string: nil on success, error message on failure
  • Example:
    -- This is a real usage example from game scripts
    local group = me:group()
    if group then
        local result = group:message("Hello group members!", MESSAGE_TYPE_NOTICE)
        if result then
            me:message("Error sending group message: " .. result)
        else
            me:message("Group message sent successfully")
        end
    end