Skip to content

builtin life

채승현 edited this page Jun 18, 2025 · 11 revisions

Built-in Functions Documentation (Life)

This document describes functions available to life type objects (characters, mobs, NPCs).


message

message(text:string, type:number)

  • Description:
    Sends a message to the life object. Only works for character objects.
  • Parameters:
    • text:string: Message text to send
    • type:number: Message type (default: MESSAGE_TYPE_STATE)
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:message("Hello world!")
    me:message("Important message", MESSAGE_TYPE_NOTICE)

hp

Provides functionality to get or set the life object's HP.

hp()

  • Description:
    Returns the current HP of the life object.
  • Parameters:
    • None
  • Return Value:
    • number: Current HP value
  • Example:
    -- This is a real usage example from game scripts
    local current_hp = me:hp()
    me:message("Your HP: " .. current_hp)

hp(value:number)

  • Description:
    Sets the life object's HP to the specified value.
  • Parameters:
    • value:number: HP value to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:hp(me:maxhp())  -- Set to full HP

mp

Provides functionality to get or set the life object's MP.

mp()

  • Description:
    Returns the current MP of the life object.
  • Parameters:
    • None
  • Return Value:
    • number: Current MP value
  • Example:
    -- This is a real usage example from game scripts
    local current_mp = me:mp()
    me:message("Your MP: " .. current_mp)

mp(value:number)

  • Description:
    Sets the life object's MP to the specified value.
  • Parameters:
    • value:number: MP value to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:mp(me:maxmp())  -- Set to full MP

heal

heal(amount:number)

  • Description:
    Heals the life object by the specified amount of HP.
  • Parameters:
    • amount:number: Amount of HP to heal
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:heal(100)  -- Heal 100 HP

damage

damage(amount:number, from:fb.game.life, critical:boolean)

  • Description:
    Deals damage to the life object.
  • Parameters:
    • amount:number: Amount of damage to deal
    • from:fb.game.life: Life object that is dealing the damage (optional)
    • critical:boolean: Whether this is a critical hit (default: false)
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    target:damage(50, me, false)  -- Deal 50 damage from me to target

mp_up

mp_up(amount:number)

  • Description:
    Increases the life object's MP by the specified amount.
  • Parameters:
    • amount:number: Amount of MP to add
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:mp_up(50)  -- Restore 50 MP

mp_down

mp_down(amount:number)

  • Description:
    Decreases the life object's MP by the specified amount.
  • Parameters:
    • amount:number: Amount of MP to reduce
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:mp_down(30)  -- Consume 30 MP

action

action(action_type:number, duration:number)

  • Description:
    Performs an action with the specified type and duration.
  • Parameters:
    • action_type:number: Type of action to perform
    • duration:number: Duration of the action
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:action(ACTION.PICKUP, DURATION.PICKUP)

spell

spell(name_or_slot)

  • Description:
    Gets a spell by name or slot index.
  • Parameters:
    • name_or_slot: Spell name (string) or slot index (number)
  • Return Value:
    • fb.game.spell|nil: Spell object or nil if not found
  • Example:
    -- This is a real usage example from game scripts
    local spell = me:spell("비영사천문")
    if spell then
        me:message("Found spell: " .. spell:model():name())
    end

spells

spells()

  • Description:
    Returns a table containing all spells known by the life object.
  • Parameters:
    • None
  • Return Value:
    • table: Table with slot indices as keys and spell objects as values
  • Example:
    -- This is a real usage example from game scripts
    for slot, spell in pairs(me:spells()) do
        me:message("Slot " .. slot .. ": " .. spell:model():name())
    end

cast

cast(spell, target, position)

  • Description:
    Casts a spell on a target or position.
  • Parameters:
    • spell: Spell object or spell name
    • target: Target life object (optional)
    • position: Target position (optional)
  • Return Value:
    • boolean: True if cast was successful, false otherwise
  • Example:
    -- This is a real usage example from game scripts
    local spell = me:spell("비영사천문")
    if spell and me:cast(spell, target) then
        me:message("Cast successful")
    end

cc

Provides functionality to get or set crowd control effects.

cc()

  • Description:
    Returns the current crowd control state.
  • Parameters:
    • None
  • Return Value:
    • number: Current CC state value
  • Example:
    -- This is a real usage example from game scripts
    local cc_state = me:cc()
    me:message("CC state: " .. cc_state)

cc(value:number)

  • Description:
    Sets the crowd control state.
  • Parameters:
    • value:number: CC state value to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:cc(0)  -- Remove all CC effects

add_cc

add_cc(cc_type:number)

  • Description:
    Adds a crowd control effect to the life object.
  • Parameters:
    • cc_type:number: Type of CC effect to add
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:add_cc(CC_TYPE_STUN)

remove_cc

remove_cc(cc_type:number)

  • Description:
    Removes a crowd control effect from the life object.
  • Parameters:
    • cc_type:number: Type of CC effect to remove
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:remove_cc(CC_TYPE_STUN)

attack

attack(target:fb.game.life)

  • Description:
    Performs a basic attack on the target.
  • Parameters:
    • target:fb.game.life: Target to attack
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:attack(target)

damage_rate

Provides functionality to get or set damage rate multiplier.

damage_rate()

  • Description:
    Returns the current damage rate multiplier.
  • Parameters:
    • None
  • Return Value:
    • number: Current damage rate
  • Example:
    -- This is a real usage example from game scripts
    local rate = me:damage_rate()
    me:message("Damage rate: " .. rate)

damage_rate(value:number)

  • Description:
    Sets the damage rate multiplier.
  • Parameters:
    • value:number: Damage rate to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:damage_rate(1.5)  -- 150% damage

damage_derate

Provides functionality to get or set damage reduction rate.

damage_derate()

  • Description:
    Returns the current damage reduction rate.
  • Parameters:
    • None
  • Return Value:
    • number: Current damage reduction rate
  • Example:
    -- This is a real usage example from game scripts
    local derate = me:damage_derate()
    me:message("Damage reduction: " .. derate)

damage_derate(value:number)

  • Description:
    Sets the damage reduction rate.
  • Parameters:
    • value:number: Damage reduction rate to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:damage_derate(0.8)  -- 80% damage taken

skill_damage_rate

Provides functionality to get or set skill damage rate multiplier.

skill_damage_rate()

  • Description:
    Returns the current skill damage rate multiplier.
  • Parameters:
    • None
  • Return Value:
    • number: Current skill damage rate
  • Example:
    -- This is a real usage example from game scripts
    local skill_rate = me:skill_damage_rate()
    me:message("Skill damage rate: " .. skill_rate)

skill_damage_rate(value:number)

  • Description:
    Sets the skill damage rate multiplier.
  • Parameters:
    • value:number: Skill damage rate to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:skill_damage_rate(2.0)  -- 200% skill damage

paralysis

Provides functionality to get or set paralysis state.

paralysis()

  • Description:
    Returns whether the life object is paralyzed.
  • Parameters:
    • None
  • Return Value:
    • boolean: True if paralyzed, false otherwise
  • Example:
    -- This is a real usage example from game scripts
    if me:paralysis() then
        me:message("You are paralyzed!")
    end

paralysis(value:boolean)

  • Description:
    Sets the paralysis state.
  • Parameters:
    • value:boolean: True to paralyze, false to remove paralysis
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:paralysis(false)  -- Remove paralysis

invincible

Provides functionality to get or set invincibility state.

invincible()

  • Description:
    Returns whether the life object is invincible.
  • Parameters:
    • None
  • Return Value:
    • boolean: True if invincible, false otherwise
  • Example:
    -- This is a real usage example from game scripts
    if me:invincible() then
        me:message("You are invincible!")
    end

invincible(value:boolean)

  • Description:
    Sets the invincibility state.
  • Parameters:
    • value:boolean: True to make invincible, false to remove invincibility
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:invincible(true)  -- Make invincible

cover

Provides functionality to get or set cover state.

cover()

  • Description:
    Returns the current cover state.
  • Parameters:
    • None
  • Return Value:
    • number: Current cover state
  • Example:
    -- This is a real usage example from game scripts
    local cover_state = me:cover()
    me:message("Cover state: " .. cover_state)

cover(value:number)

  • Description:
    Sets the cover state.
  • Parameters:
    • value:number: Cover state to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:cover(1)  -- Set cover state

base_hp

Provides functionality to get or set base HP.

base_hp()

  • Description:
    Returns the base HP value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base HP value
  • Example:
    -- This is a real usage example from game scripts
    local base_hp = me:base_hp()
    me:message("Base HP: " .. base_hp)

base_hp(value:number)

  • Description:
    Sets the base HP value.
  • Parameters:
    • value:number: Base HP to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_hp(1000)

buff_hp

Provides functionality to get or set HP buff value.

buff_hp()

  • Description:
    Returns the HP buff value.
  • Parameters:
    • None
  • Return Value:
    • number: HP buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_hp = me:buff_hp()
    me:message("HP buff: " .. buff_hp)

buff_hp(value:number)

  • Description:
    Sets the HP buff value.
  • Parameters:
    • value:number: HP buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_hp(200)

maxhp

maxhp()

  • Description:
    Returns the maximum HP (base HP + buff HP + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Maximum HP value
  • Example:
    -- This is a real usage example from game scripts
    local max_hp = me:maxhp()
    me:message("Max HP: " .. max_hp)

base_mp

Provides functionality to get or set base MP.

base_mp()

  • Description:
    Returns the base MP value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base MP value
  • Example:
    -- This is a real usage example from game scripts
    local base_mp = me:base_mp()
    me:message("Base MP: " .. base_mp)

base_mp(value:number)

  • Description:
    Sets the base MP value.
  • Parameters:
    • value:number: Base MP to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_mp(500)

buff_mp

Provides functionality to get or set MP buff value.

buff_mp()

  • Description:
    Returns the MP buff value.
  • Parameters:
    • None
  • Return Value:
    • number: MP buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_mp = me:buff_mp()
    me:message("MP buff: " .. buff_mp)

buff_mp(value:number)

  • Description:
    Sets the MP buff value.
  • Parameters:
    • value:number: MP buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_mp(100)

maxmp

maxmp()

  • Description:
    Returns the maximum MP (base MP + buff MP + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Maximum MP value
  • Example:
    -- This is a real usage example from game scripts
    local max_mp = me:maxmp()
    me:message("Max MP: " .. max_mp)

base_str

Provides functionality to get or set base strength.

base_str()

  • Description:
    Returns the base strength value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base strength value
  • Example:
    -- This is a real usage example from game scripts
    local base_str = me:base_str()
    me:message("Base strength: " .. base_str)

base_str(value:number)

  • Description:
    Sets the base strength value.
  • Parameters:
    • value:number: Base strength to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_str(50)

buff_str

Provides functionality to get or set strength buff value.

buff_str()

  • Description:
    Returns the strength buff value.
  • Parameters:
    • None
  • Return Value:
    • number: Strength buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_str = me:buff_str()
    me:message("Strength buff: " .. buff_str)

buff_str(value:number)

  • Description:
    Sets the strength buff value.
  • Parameters:
    • value:number: Strength buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_str(10)

str

str()

  • Description:
    Returns the total strength (base strength + buff strength + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total strength value
  • Example:
    -- This is a real usage example from game scripts
    local message = string.format('%s %s 레벨 %d\n%s힘: %d 민첩성: %d 지능: %d', you:class(), you:name(), you:level(), title, you:str(), you:dex(), you:int())

base_dex

Provides functionality to get or set base dexterity.

base_dex()

  • Description:
    Returns the base dexterity value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base dexterity value
  • Example:
    -- This is a real usage example from game scripts
    local base_dex = me:base_dex()
    me:message("Base dexterity: " .. base_dex)

base_dex(value:number)

  • Description:
    Sets the base dexterity value.
  • Parameters:
    • value:number: Base dexterity to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_dex(40)

buff_dex

Provides functionality to get or set dexterity buff value.

buff_dex()

  • Description:
    Returns the dexterity buff value.
  • Parameters:
    • None
  • Return Value:
    • number: Dexterity buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_dex = me:buff_dex()
    me:message("Dexterity buff: " .. buff_dex)

buff_dex(value:number)

  • Description:
    Sets the dexterity buff value.
  • Parameters:
    • value:number: Dexterity buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_dex(8)

dex

dex()

  • Description:
    Returns the total dexterity (base dexterity + buff dexterity + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total dexterity value
  • Example:
    -- This is a real usage example from game scripts
    local message = string.format('%s %s 레벨 %d\n%s힘: %d 민첩성: %d 지능: %d', you:class(), you:name(), you:level(), title, you:str(), you:dex(), you:int())

base_int

Provides functionality to get or set base intelligence.

base_int()

  • Description:
    Returns the base intelligence value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base intelligence value
  • Example:
    -- This is a real usage example from game scripts
    local base_int = me:base_int()
    me:message("Base intelligence: " .. base_int)

base_int(value:number)

  • Description:
    Sets the base intelligence value.
  • Parameters:
    • value:number: Base intelligence to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_int(30)

buff_int

Provides functionality to get or set intelligence buff value.

buff_int()

  • Description:
    Returns the intelligence buff value.
  • Parameters:
    • None
  • Return Value:
    • number: Intelligence buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_int = me:buff_int()
    me:message("Intelligence buff: " .. buff_int)

buff_int(value:number)

  • Description:
    Sets the intelligence buff value.
  • Parameters:
    • value:number: Intelligence buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_int(12)

int

int()

  • Description:
    Returns the total intelligence (base intelligence + buff intelligence + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total intelligence value
  • Example:
    -- This is a real usage example from game scripts
    local percent = 0.5 + ((me:int() / 255) * 0.5)

base_phydef

Provides functionality to get or set base physical defense.

base_phydef()

  • Description:
    Returns the base physical defense value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base physical defense value
  • Example:
    -- This is a real usage example from game scripts
    local base_phydef = me:base_phydef()
    me:message("Base physical defense: " .. base_phydef)

base_phydef(value:number)

  • Description:
    Sets the base physical defense value.
  • Parameters:
    • value:number: Base physical defense to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_phydef(10)

buff_phydef

Provides functionality to get or set physical defense buff value.

buff_phydef()

  • Description:
    Returns the physical defense buff value.
  • Parameters:
    • None
  • Return Value:
    • number: Physical defense buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_phydef = me:buff_phydef()
    me:message("Physical defense buff: " .. buff_phydef)

buff_phydef(value:number)

  • Description:
    Sets the physical defense buff value.
  • Parameters:
    • value:number: Physical defense buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_phydef(5)

phydef

phydef()

  • Description:
    Returns the total physical defense (base physical defense + buff physical defense + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total physical defense value
  • Example:
    -- This is a real usage example from game scripts
    local total_phydef = me:phydef()
    me:message("Total physical defense: " .. total_phydef)

base_magdef

Provides functionality to get or set base magical defense.

base_magdef()

  • Description:
    Returns the base magical defense value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base magical defense value
  • Example:
    -- This is a real usage example from game scripts
    local base_magdef = me:base_magdef()
    me:message("Base magical defense: " .. base_magdef)

base_magdef(value:number)

  • Description:
    Sets the base magical defense value.
  • Parameters:
    • value:number: Base magical defense to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_magdef(8)

buff_magdef

Provides functionality to get or set magical defense buff value.

buff_magdef()

  • Description:
    Returns the magical defense buff value.
  • Parameters:
    • None
  • Return Value:
    • number: Magical defense buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_magdef = me:buff_magdef()
    me:message("Magical defense buff: " .. buff_magdef)

buff_magdef(value:number)

  • Description:
    Sets the magical defense buff value.
  • Parameters:
    • value:number: Magical defense buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_magdef(3)

magdef

magdef()

  • Description:
    Returns the total magical defense (base magical defense + buff magical defense + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total magical defense value
  • Example:
    -- This is a real usage example from game scripts
    local total_magdef = me:magdef()
    me:message("Total magical defense: " .. total_magdef)

base_dam

Provides functionality to get or set base damage.

base_dam()

  • Description:
    Returns the base damage value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base damage value
  • Example:
    -- This is a real usage example from game scripts
    local base_dam = me:base_dam()
    me:message("Base damage: " .. base_dam)

base_dam(value:number)

  • Description:
    Sets the base damage value.
  • Parameters:
    • value:number: Base damage to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_dam(20)

buff_dam

Provides functionality to get or set damage buff value.

buff_dam()

  • Description:
    Returns the damage buff value.
  • Parameters:
    • None
  • Return Value:
    • number: Damage buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_dam = me:buff_dam()
    me:message("Damage buff: " .. buff_dam)

buff_dam(value:number)

  • Description:
    Sets the damage buff value.
  • Parameters:
    • value:number: Damage buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_dam(15)

dam

dam()

  • Description:
    Returns the total damage (base damage + buff damage + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total damage value
  • Example:
    -- This is a real usage example from game scripts
    local total_dam = me:dam()
    me:message("Total damage: " .. total_dam)

base_hit

Provides functionality to get or set base hit rate.

base_hit()

  • Description:
    Returns the base hit rate value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base hit rate value
  • Example:
    -- This is a real usage example from game scripts
    local base_hit = me:base_hit()
    me:message("Base hit rate: " .. base_hit)

base_hit(value:number)

  • Description:
    Sets the base hit rate value.
  • Parameters:
    • value:number: Base hit rate to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_hit(80)

buff_hit

Provides functionality to get or set hit rate buff value.

buff_hit()

  • Description:
    Returns the hit rate buff value.
  • Parameters:
    • None
  • Return Value:
    • number: Hit rate buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_hit = me:buff_hit()
    me:message("Hit rate buff: " .. buff_hit)

buff_hit(value:number)

  • Description:
    Sets the hit rate buff value.
  • Parameters:
    • value:number: Hit rate buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_hit(10)

hit

hit()

  • Description:
    Returns the total hit rate (base hit rate + buff hit rate + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total hit rate value
  • Example:
    -- This is a real usage example from game scripts
    local total_hit = me:hit()
    me:message("Total hit rate: " .. total_hit)

Clone this wiki locally