Documentation index for AI agents

GS2-Enhance 트랜잭션 액션

검증/소비/입수 각 트랜잭션 액션의 사양

Consume Action

소비 액션

Gs2Enhance:DeleteProgressByUserId

사용자 ID를 지정하여 실행 중인 강화의 진행 정보를 삭제

지정된 사용자의 현재 진행 중인 강화의 진행 정보 레코드를 삭제합니다.
진행 중인 2단계 강화가 취소되며, 사전 계산된 경험치와 보너스 레이트는 폐기됩니다.
Start 단계에서 이미 소비된 소재는 자동으로 반환되지 않습니다.

수량 지정 가능한 액션: 아니오

반전 가능한 액션: 아니오

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Enhance:DeleteProgressByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Enhance:DeleteProgressByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("enhance").consume.delete_progress_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Acquire Action

입수 액션

Gs2Enhance:DirectEnhanceByUserId

사용자 ID를 지정하여 강화를 실행

강화 레이트 모델에 기반하여 지정된 소재를 소비해 대상 아이템 세트에 경험치를 부여합니다.
획득 경험치는 레이트 모델에서 정의된 경험치 계층에 따라 소재로부터 계산되며, 보너스 레이트는 설정된 보너스 레이트 확률 테이블에서 추첨됩니다.
결과에는 획득한 경험치량과 적용된 보너스 레이트가 포함됩니다.
소재의 소비와 경험치 획득을 실행하기 위한 트랜잭션이 발행됩니다.

수량 지정 가능한 액션: 아니오

반전 가능한 액션: 아니오

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
rateNamestring
~ 128자강화 레이트 모델 이름
강화 레이트 모델 고유의 이름입니다. 영숫자 및 -(하이픈) _(밑줄) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
targetItemSetIdstring
~ 1024자강화 대상 아이템 세트의 GRN
materialsList<Material>
1 ~ 10 items강화 소재 목록
configList<Config>[]0 ~ 32 items트랜잭션 변수에 적용할 설정값
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Enhance:DirectEnhanceByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "rateName": "[string]강화 레이트 모델 이름",
        "userId": "[string]사용자ID",
        "targetItemSetId": "[string]강화 대상 아이템 세트의 GRN",
        "materials": [
            {
                "materialItemSetId": "[string]강화 소재가 되는 아이템 세트의 GRN",
                "count": "[int]소비 수량"
            }
        ],
        "config": [
            {
                "key": "[string]이름",
                "value": "[string]값"
            }
        ],
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Enhance:DirectEnhanceByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  rateName: "[string]강화 레이트 모델 이름"
  userId: "[string]사용자ID"
  targetItemSetId: "[string]강화 대상 아이템 세트의 GRN"
  materials:
    - materialItemSetId: "[string]강화 소재가 되는 아이템 세트의 GRN"
      count: "[int]소비 수량"
  config:
    - key: "[string]이름"
      value: "[string]값"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("enhance").acquire.direct_enhance_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    rateName="[string]강화 레이트 모델 이름",
    userId="[string]사용자ID",
    targetItemSetId="[string]강화 대상 아이템 세트의 GRN",
    materials={
        {
            materialItemSetId="[string]강화 소재가 되는 아이템 세트의 GRN",
            count="[int]소비 수량"
        }
    },
    config={
        {
            key="[string]이름",
            value="[string]값"
        }
    },
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Enhance:UnleashByUserId

사용자ID를 지정하여 한계돌파를 실행

GS2-Grade에서 관리하는 그레이드를 올리는 강화 처리에서 사용됩니다.
그중에서도 동일 종류의 아이템을 소재로 소비하여 레벨 상한을 올리는 유형의 한계돌파에 사용됩니다.

지정된 소재를 소비하는 대신 한계돌파 대상 리소스의 그레이드를 1 올릴 수 있습니다.
소재가 되는 리소스가 경험치 등의 리소스를 가지고 있더라도, 그 리소스는 계승되지 않습니다.
계승이 필요한 경우에는 사전에 다른 리소스로 계승하기 위한 리소스로 변환해 두어야 합니다.

수량 지정 가능한 액션: 아니오

반전 가능한 액션: 아니오

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
rateNamestring
~ 128자강화 레이트 모델 이름
강화 레이트 모델 고유의 이름입니다. 영숫자 및 -(하이픈) _(밑줄) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
targetItemSetIdstring
~ 1024자한계돌파 대상 아이템 세트의 GRN
materialsList<string>
1 ~ 1000 items한계돌파 소재 목록
configList<Config>[]0 ~ 32 items트랜잭션 변수에 적용할 설정값
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Enhance:UnleashByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "rateName": "[string]강화 레이트 모델 이름",
        "userId": "[string]사용자ID",
        "targetItemSetId": "[string]한계돌파 대상 아이템 세트의 GRN",
        "materials": [
            "[string]소재"
        ],
        "config": [
            {
                "key": "[string]이름",
                "value": "[string]값"
            }
        ],
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Enhance:UnleashByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  rateName: "[string]강화 레이트 모델 이름"
  userId: "[string]사용자ID"
  targetItemSetId: "[string]한계돌파 대상 아이템 세트의 GRN"
  materials:
    - "[string]소재"
  config:
    - key: "[string]이름"
      value: "[string]값"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("enhance").acquire.unleash_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    rateName="[string]강화 레이트 모델 이름",
    userId="[string]사용자ID",
    targetItemSetId="[string]한계돌파 대상 아이템 세트의 GRN",
    materials={
        "[string]소재"
    },
    config={
        {
            key="[string]이름",
            value="[string]값"
        }
    },
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Enhance:CreateProgressByUserId

사용자 ID를 지정하여 강화를 시작

2단계 강화 플로우를 위한 진행 정보 레코드를 작성합니다.
대상 아이템 세트와 소재를 레이트 모델에 대해 검증하고, 소재로부터 획득 경험치를 계산하며, 확률 테이블에서 보너스 레이트를 추첨합니다.
계산된 경험치와 보너스 레이트는 진행 정보 레코드에 저장되어 End API에서 강화 완료 시 사용됩니다.
force가 true인 경우, 사용자의 기존 진행 정보는 폐기되고 대체됩니다.

수량 지정 가능한 액션: 아니오

반전 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
rateNamestring
~ 128자강화 레이트 모델 이름
이 강화 조작의 파라미터를 정의하는 강화 레이트 모델의 이름입니다. 대상 인벤토리, 소재 인벤토리, 경험치 계층, 보너스 레이트를 지정하는 모델을 참조합니다.
targetItemSetIdstring
~ 1024자강화 대상 아이템 세트의 GRN
materialsList<Material>0 ~ 10 items강화 소재 목록
forceboolfalse이미 시작된 강화가 있는 경우 이를 폐기하고 시작할지
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Enhance:CreateProgressByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "rateName": "[string]강화 레이트 모델 이름",
        "targetItemSetId": "[string]강화 대상 아이템 세트의 GRN",
        "materials": [
            {
                "materialItemSetId": "[string]강화 소재가 되는 아이템 세트의 GRN",
                "count": "[int]소비 수량"
            }
        ],
        "force": "[bool]이미 시작된 강화가 있는 경우 이를 폐기하고 시작할지",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Enhance:CreateProgressByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  rateName: "[string]강화 레이트 모델 이름"
  targetItemSetId: "[string]강화 대상 아이템 세트의 GRN"
  materials:
    - materialItemSetId: "[string]강화 소재가 되는 아이템 세트의 GRN"
      count: "[int]소비 수량"
  force: "[bool]이미 시작된 강화가 있는 경우 이를 폐기하고 시작할지"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("enhance").acquire.create_progress_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    rateName="[string]강화 레이트 모델 이름",
    targetItemSetId="[string]강화 대상 아이템 세트의 GRN",
    materials={
        {
            materialItemSetId="[string]강화 소재가 되는 아이템 세트의 GRN",
            count="[int]소비 수량"
        }
    },
    force="[bool]이미 시작된 강화가 있는 경우 이를 폐기하고 시작할지",
    timeOffsetToken="[string]타임 오프셋 토큰",
})