Skip to content

builtin life

boyism80 edited this page Jun 6, 2025 · 11 revisions

Built-in Functions Documentation (Life)

이 문서는 Life 타입의 객체가 사용할 수 있는 함수들을 설명합니다. Life는 Object 타입을 상속받으며 hp, mp 등을 가진 타입입니다. mob과 character가 이 타입을 상속받습니다.


message

message(message:string, [type]:number)

  • 설명:
    호출된 객체(self)가 메시지를 보냅니다. 객체 타입이 CHARACTER가 아니면 동작하지 않습니다.
  • 파라미터:
    • message:string : 출력할 문자열
    • type:number : MESSAGE_TYPE enum 값(선택, 기본: MESSAGE_TYPE_STATE) 기본값: MESSAGE_TYPE_STATE
  • 반환값: 없음
  • 예제:
    me:message("Hello world!")
    me:message("Status update", MESSAGE_TYPE_STATE)

hp

호출된 객체(self)의 체력을 가져오거나 설정하는 두 가지 기능을 합니다.

hp()

  • 설명:
    호출된 객체(self)의 현재 체력을 반환합니다.
  • 파라미터: 없음
  • 반환값:
    getter: number (현재 HP)
  • 예제:
    -- HP 조회
    local current_hp = me:hp()
    me:message("Current HP: " .. current_hp)

hp(value:number)

  • 설명:
    호출된 객체(self)의 체력을 value로 설정합니다.
  • 파라미터:
    • value:number : 설정할 체력 값
  • 반환값:
    setter: 없음
  • 예제:
    -- HP 설정
    me:hp(100)
    me:message("Set HP to 100")

mp

호출된 객체(self)의 마나를 가져오거나 설정하는 두 가지 기능을 합니다.

mp()

  • 설명:
    호출된 객체(self)의 현재 마나를 반환합니다.
  • 파라미터: 없음
  • 반환값:
    getter: number (현재 MP)
  • 예제:
    -- MP 조회
    local current_mp = me:mp()
    me:message("Current MP: " .. current_mp)

mp(value:number)

  • 설명:
    호출된 객체(self)의 마나를 value로 설정합니다.
  • 파라미터:
    • value:number : 설정할 마나 값
  • 반환값:
    setter: 없음
  • 예제:
    -- MP 설정
    me:mp(50)
    me:message("Set MP to 50")

heal

heal(value:number)

  • 설명:
    호출된 객체(self)의 HP를 지정한 값만큼 회복합니다.
  • 파라미터:
    • value:number : 회복할 HP 값
  • 반환값: 없음
  • 예제:
    me:heal(30)

damage

damage(value:number, from:life, [critical]:boolean)

  • 설명:
    호출된 객체(self)에게 지정한 피해를 입힙니다. 치명타 여부를 생략하면 false로 처리됩니다.
  • 파라미터:
    • value:number : 피해량
    • from:life : 피해를 입힌 객체
    • critical:boolean : 치명타 여부(선택, 기본: false) 기본값: false
  • 반환값: 없음
  • 예제:
    me:damage(20, attacker)
    me:damage(50, attacker, true)  -- 치명타

mp

호출된 객체(self)의 마나를 가져오거나 설정하는 두 가지 기능을 합니다.

mp()

  • 설명:
    호출된 객체(self)의 현재 마나를 반환합니다.
  • 파라미터: 없음
  • 반환값:
    getter: number (현재 MP)
  • 예제:
    -- MP 조회
    local current_mp = me:mp()
    me:message("Current MP: " .. current_mp)

mp(value:number)

  • 설명:
    호출된 객체(self)의 마나를 value로 설정합니다.
  • 파라미터:
    • value:number : 설정할 마나 값
  • 반환값:
    setter: 없음
  • 예제:
    -- MP 설정
    me:mp(50)
    me:message("Set MP to 50")

mp

호출된 객체(self)의 마나를 가져오거나 설정하는 두 가지 기능을 합니다.

mp

mp()

  • 설명:
    호출된 객체(self)의 현재 마나를 반환합니다.
  • 파라미터: 없음
  • 반환값:
    getter: number (현재 MP)
  • 예제:
    -- MP 조회
    local current_mp = me:mp()
    me:message("Current MP: " .. current_mp)

mp

mp(value:number)

  • 설명:
    호출된 객체(self)의 마나를 value로 설정합니다.
  • 파라미터:
    • value:number : 설정할 마나 값
  • 반환값:
    setter: 없음
  • 예제:
    -- MP 설정
    me:mp(50)
    me:message("Set MP to 50")

action

action(action:number, [duration]:number, [sound]:number)

  • 설명:
    호출된 객체(self)가 지정된 행동을 수행합니다. duration 또는 sound를 생략할 수 있으며, 생략 시 기본값을 사용합니다.
  • 파라미터:
    • action:number : ACTION enum 값
    • duration:number : DURATION enum 값(선택, 기본: DURATION_SPELL) 기본값: DURATION_SPELL
    • sound:number : 재생할 사운드 ID(선택, 기본: 0) 기본값: 0
  • 반환값: 없음
  • 예제:
    me:action(ACTION_ATTACK)
    me:action(ACTION_SPELL, DURATION_SPELL, 5)

spell

spell(index:number)

  • 설명:
    호출된 객체(self)의 스펠 목록에서 지정된 인덱스에 해당하는 스펠 객체를 반환합니다.
  • 파라미터:
    • index:number : 스펠 인덱스
  • 반환값: 스펠 객체 또는 nil
  • 예제:
    local sp = me:spell(1)
    if sp == nil then
        me:message("No such spell.")
    else
        me:message("Spell: " .. tostring(sp))
    end

spells

spells()

  • 설명:
    호출된 객체(self)의 모든 스펠 객체 목록을 테이블로 반환합니다.
  • 반환값: 스펠 객체 목록 테이블
  • 예제:
    local all_spells = me:spells()
    for i = 1, #all_spells do
        me:message("Spell: " .. tostring(all_spells[i]))
    end

cast

cast(name:string, [you]:life)

  • 설명:
    호출된 객체(self)가 지정된 스펠을 시전합니다. you를 생략하면 자신에게 시전합니다.
  • 파라미터:
    • name:string : 스펠 이름
    • you:life : 대상 객체(선택)
  • 반환값: 없음
  • 예제:
    me:cast("비영사천문")
    me:cast("부활", target)

cc

cc([cc]:number)

  • 설명:
    호출된 객체(self)의 군중 제어 상태를 가져오거나 설정합니다. 인자를 생략하면 현재 CC 상태를 반환합니다.
  • 파라미터:
    • cc:number : CROWD_CONTROL enum 값(선택)
  • 반환값: getter: 정수(현재 CC 상태); setter: 없음
  • 예제:
    -- CC 조회
    local current_cc = me:cc()
    me:message("Current CC: " .. current_cc)
    
    -- CC 설정
    me:cc(CROWD_CONTROL_STUN)

add_cc

add_cc(cc:number)

  • 설명:
    호출된 객체(self)에 지정된 군중 제어 상태를 추가합니다.
  • 파라미터:
    • cc:number : CROWD_CONTROL enum 값
  • 반환값: 없음
  • 예제:
    me:add_cc(CROWD_CONTROL_STUN)

remove_cc

remove_cc(cc:number)

  • 설명:
    호출된 객체(self)의 지정된 군중 제어 상태를 제거합니다.
  • 파라미터:
    • cc:number : CROWD_CONTROL enum 값
  • 반환값: 없음
  • 예제:
    me:remove_cc(CROWD_CONTROL_STUN)

attack

attack([duration]:number)

  • 설명:
    호출된 객체(self)가 공격을 수행합니다. duration을 생략하면 DURATION_ATTACK을 사용합니다.
  • 파라미터:
    • duration:number : DURATION enum 값(선택, 기본: DURATION_ATTACK) 기본값: DURATION_ATTACK
  • 반환값: 없음
  • 예제:
    me:attack()
    me:attack(DURATION_ATTACK)

damage_rate

damage_rate([value]:number)

  • 설명:
    호출된 객체(self)의 데미지 비율을 가져오거나 설정합니다. 인자를 생략하면 현재 값을 반환합니다.
  • 파라미터:
    • value:number : 데미지 비율 설정값(선택)
  • 반환값: getter: 정수(현재 데미지 비율); setter: 없음
  • 예제:
    -- 데미지 비율 조회
    local dr = me:damage_rate()
    me:message("Damage Rate: " .. dr)
    
    -- 데미지 비율 설정
    me:damage_rate(120)

damage_derate

damage_derate([value]:number)

  • 설명:
    호출된 객체(self)의 데미지 경감 비율을 가져오거나 설정합니다. 인자를 생략하면 현재 값을 반환합니다.
  • 파라미터:
    • value:number : 데미지 경감 비율 설정값(선택)
  • 반환값: getter: 정수(현재 데미지 경감 비율); setter: 없음
  • 예제:
    -- 데미지 경감 비율 조회
    local ddr = me:damage_derate()
    me:message("Damage Derate: " .. ddr)
    
    -- 데미지 경감 비율 설정
    me:damage_derate(80)

Clone this wiki locally