Documentation index for AI agents

GS2-Experience 트랜잭션 액션

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

Verify Action

검증 액션

Gs2Experience:VerifyRankByUserId

사용자 ID를 지정하여 랭크를 검증

지정된 사용자의 현재 랭크가 지정된 값에 대한 조건을 충족하는지 검증합니다.
6가지 비교 연산자를 지원합니다: less, lessEqual, greater, greaterEqual, equal, notEqual.
검증 조건을 충족하지 않는 경우 오류(BadRequest)를 반환합니다.

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

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
experienceNamestring
~ 128자경험치 모델 이름
이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다.
verifyType문자열 열거형
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
검증 종류
정의설명
less랭크가 지정값 미만일 것
lessEqual랭크가 지정값 이하일 것
greater랭크가 지정값 초과일 것
greaterEqual랭크가 지정값 이상일 것
equal랭크가 지정값과 일치할 것
notEqual랭크가 지정값과 일치하지 않을 것
propertyIdstring
~ 1024자프로퍼티ID
사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다.
rankValuelong00 ~ 9223372036854775805현재 랭크
랭크업 임계값 테이블을 사용하여 누적 경험치로부터 산출되는 랭크(레벨)입니다. 0부터 시작하며 경험치 임계값을 초과할 때마다 증가합니다. 현재 랭크 캡 값을 초과할 수 없습니다.
multiplyValueSpecifyingQuantityboolfalse수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Experience:VerifyRankByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "experienceName": "[string]경험치 모델 이름",
        "verifyType": "[string]검증 종류",
        "propertyId": "[string]프로퍼티ID",
        "rankValue": "[long]현재 랭크",
        "multiplyValueSpecifyingQuantity": "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Experience:VerifyRankByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  experienceName: "[string]경험치 모델 이름"
  verifyType: "[string]검증 종류"
  propertyId: "[string]프로퍼티ID"
  rankValue: "[long]현재 랭크"
  multiplyValueSpecifyingQuantity: "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("experience").verify.verify_rank_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    experienceName="[string]경험치 모델 이름",
    verifyType="[string]검증 종류",
    propertyId="[string]프로퍼티ID",
    rankValue="[long]현재 랭크",
    multiplyValueSpecifyingQuantity="[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Experience:VerifyRankCapByUserId

사용자 ID를 지정하여 랭크 캡을 검증

지정된 사용자의 현재 랭크 캡(버프 효과 포함)이 지정된 값에 대한 조건을 충족하는지 검증합니다.
6가지 비교 연산자를 지원합니다: less, lessEqual, greater, greaterEqual, equal, notEqual.
검증 조건을 충족하지 않는 경우 오류(BadRequest)를 반환합니다.

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

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
experienceNamestring
~ 128자경험치 모델 이름
이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다.
verifyType문자열 열거형
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
검증 종류
정의설명
less랭크 캡이 지정값 미만일 것
lessEqual랭크 캡이 지정값 이하일 것
greater랭크 캡이 지정값 초과일 것
greaterEqual랭크 캡이 지정값 이상일 것
equal랭크 캡이 지정값과 일치할 것
notEqual랭크 캡이 지정값과 일치하지 않을 것
propertyIdstring
~ 1024자프로퍼티ID
사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다.
rankCapValuelong
0 ~ 9223372036854775805현재 랭크 캡
이 스테이터스가 현재 도달할 수 있는 최대 랭크입니다. 초기값은 경험치 모델의 defaultRankCap으로 설정되며, 한계돌파 등의 랭크 캡 증가 조작을 통해 maxRankCap까지 끌어올릴 수 있습니다.
multiplyValueSpecifyingQuantityboolfalse수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Experience:VerifyRankCapByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "experienceName": "[string]경험치 모델 이름",
        "verifyType": "[string]검증 종류",
        "propertyId": "[string]프로퍼티ID",
        "rankCapValue": "[long]현재 랭크 캡",
        "multiplyValueSpecifyingQuantity": "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Experience:VerifyRankCapByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  experienceName: "[string]경험치 모델 이름"
  verifyType: "[string]검증 종류"
  propertyId: "[string]프로퍼티ID"
  rankCapValue: "[long]현재 랭크 캡"
  multiplyValueSpecifyingQuantity: "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("experience").verify.verify_rank_cap_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    experienceName="[string]경험치 모델 이름",
    verifyType="[string]검증 종류",
    propertyId="[string]프로퍼티ID",
    rankCapValue="[long]현재 랭크 캡",
    multiplyValueSpecifyingQuantity="[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Consume Action

소비 액션

Gs2Experience:SubExperienceByUserId

사용자 ID를 지정하여 경험치를 감산

지정된 사용자의 상태에서 경험치를 감산합니다. 경험치는 0 미만으로 내려가지 않습니다.
랭크는 랭크업 임계값에 기반하여 자동으로 재계산됩니다.

수량 지정 가능한 액션: 예

반전 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
experienceNamestring
~ 128자경험치 모델 이름
이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다.
propertyIdstring
~ 1024자프로퍼티ID
사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다.
experienceValuelong00 ~ 9223372036854775805잃는 경험치
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Experience:SubExperienceByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "experienceName": "[string]경험치 모델 이름",
        "propertyId": "[string]프로퍼티ID",
        "experienceValue": "[long]잃는 경험치",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Experience:SubExperienceByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  experienceName: "[string]경험치 모델 이름"
  propertyId: "[string]프로퍼티ID"
  experienceValue: "[long]잃는 경험치"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("experience").consume.sub_experience_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    experienceName="[string]경험치 모델 이름",
    propertyId="[string]프로퍼티ID",
    experienceValue="[long]잃는 경험치",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Experience:SubRankCapByUserId

사용자 ID를 지정하여 랭크 캡을 감산

지정된 사용자의 상태의 랭크 캡을 감산합니다. 랭크 캡은 0 미만으로 내려가지 않습니다.

수량 지정 가능한 액션: 예

반전 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
experienceNamestring
~ 128자경험치 모델 이름
이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다.
propertyIdstring
~ 1024자프로퍼티ID
사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다.
rankCapValuelong
0 ~ 9223372036854775805현재 랭크 캡
이 스테이터스가 현재 도달할 수 있는 최대 랭크입니다. 초기값은 경험치 모델의 defaultRankCap으로 설정되며, 한계돌파 등의 랭크 캡 증가 조작을 통해 maxRankCap까지 끌어올릴 수 있습니다.
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Experience:SubRankCapByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "experienceName": "[string]경험치 모델 이름",
        "propertyId": "[string]프로퍼티ID",
        "rankCapValue": "[long]현재 랭크 캡",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Experience:SubRankCapByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  experienceName: "[string]경험치 모델 이름"
  propertyId: "[string]프로퍼티ID"
  rankCapValue: "[long]현재 랭크 캡"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("experience").consume.sub_rank_cap_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    experienceName="[string]경험치 모델 이름",
    propertyId="[string]프로퍼티ID",
    rankCapValue="[long]현재 랭크 캡",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Acquire Action

입수 액션

Gs2Experience:AddExperienceByUserId

사용자 ID를 지정하여 경험치를 가산

지정된 사용자의 상태에 경험치를 가산합니다. 랭크는 랭크업 임계값에 기반하여 자동으로 재계산됩니다.
truncateExperienceWhenRankUp이 true인 경우, 랭크업 시 임계값을 초과한 잉여 경험치는 절사됩니다. false(기본값)인 경우에는 다음 랭크로 이월됩니다.

수량 지정 가능한 액션: 예

반전 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
experienceNamestring
~ 128자경험치 모델 이름
이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다.
propertyIdstring
~ 1024자프로퍼티ID
사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다.
experienceValuelong00 ~ 9223372036854775805획득 경험치
truncateExperienceWhenRankUpbool?false랭크업 시 남은 경험치를 절사할지 여부
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Experience:AddExperienceByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "experienceName": "[string]경험치 모델 이름",
        "propertyId": "[string]프로퍼티ID",
        "experienceValue": "[long]획득 경험치",
        "truncateExperienceWhenRankUp": "[bool]랭크업 시 남은 경험치를 절사할지 여부",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Experience:AddExperienceByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  experienceName: "[string]경험치 모델 이름"
  propertyId: "[string]프로퍼티ID"
  experienceValue: "[long]획득 경험치"
  truncateExperienceWhenRankUp: "[bool]랭크업 시 남은 경험치를 절사할지 여부"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("experience").acquire.add_experience_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    experienceName="[string]경험치 모델 이름",
    propertyId="[string]프로퍼티ID",
    experienceValue="[long]획득 경험치",
    truncateExperienceWhenRankUp="[bool]랭크업 시 남은 경험치를 절사할지 여부",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Experience:SetExperienceByUserId

사용자 ID를 지정하여 경험치를 설정

지정된 사용자의 상태의 경험치를 지정한 값으로 직접 설정합니다.
갱신 전 상태를 ‘old’로 하여, 갱신 후 상태와 함께 반환합니다.
랭크는 랭크업 임계값에 기반하여 자동으로 재계산됩니다.

수량 지정 가능한 액션: 예

반전 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
experienceNamestring
~ 128자경험치 모델 이름
이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다.
propertyIdstring
~ 1024자프로퍼티ID
사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다.
experienceValuelong00 ~ 9223372036854775805누적 획득 경험치
이 스테이터스가 축적한 총 경험치입니다. 현재 랭크는 이 값으로부터 랭크업 임계값 테이블을 사용하여 산출됩니다. 현재 랭크 캡에 대응하는 임계값을 초과하여 경험치를 획득할 수 없습니다.
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Experience:SetExperienceByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "experienceName": "[string]경험치 모델 이름",
        "propertyId": "[string]프로퍼티ID",
        "experienceValue": "[long]누적 획득 경험치",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Experience:SetExperienceByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  experienceName: "[string]경험치 모델 이름"
  propertyId: "[string]프로퍼티ID"
  experienceValue: "[long]누적 획득 경험치"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("experience").acquire.set_experience_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    experienceName="[string]경험치 모델 이름",
    propertyId="[string]프로퍼티ID",
    experienceValue="[long]누적 획득 경험치",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Experience:AddRankCapByUserId

사용자 ID를 지정하여 랭크 캡을 가산

지정된 사용자의 상태의 랭크 캡을 가산합니다. 랭크 캡은 경험치 모델에서 정의된 maxRankCap을 초과할 수 없습니다.
랭크 캡은 지정된 프로퍼티에서 사용자가 도달 가능한 최대 랭크를 결정합니다.

수량 지정 가능한 액션: 예

반전 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
experienceNamestring
~ 128자경험치 모델 이름
이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다.
propertyIdstring
~ 1024자프로퍼티ID
사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다.
rankCapValuelong
0 ~ 9223372036854775805현재 랭크 캡
이 스테이터스가 현재 도달할 수 있는 최대 랭크입니다. 초기값은 경험치 모델의 defaultRankCap으로 설정되며, 한계돌파 등의 랭크 캡 증가 조작을 통해 maxRankCap까지 끌어올릴 수 있습니다.
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Experience:AddRankCapByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "experienceName": "[string]경험치 모델 이름",
        "propertyId": "[string]프로퍼티ID",
        "rankCapValue": "[long]현재 랭크 캡",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Experience:AddRankCapByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  experienceName: "[string]경험치 모델 이름"
  propertyId: "[string]프로퍼티ID"
  rankCapValue: "[long]현재 랭크 캡"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("experience").acquire.add_rank_cap_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    experienceName="[string]경험치 모델 이름",
    propertyId="[string]프로퍼티ID",
    rankCapValue="[long]현재 랭크 캡",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Experience:SetRankCapByUserId

사용자 ID를 지정하여 랭크 캡을 설정

지정된 사용자의 상태의 랭크 캡 값을 지정한 값으로 직접 설정합니다.
갱신 전 상태를 ‘old’로 하여, 갱신 후 상태와 함께 반환합니다.
랭크 캡은 경험치 모델에서 정의된 maxRankCap으로 상한이 제한됩니다.

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

반전 가능한 액션: 아니오

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
experienceNamestring
~ 128자경험치 모델 이름
이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다.
propertyIdstring
~ 1024자프로퍼티ID
사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다.
rankCapValuelong
0 ~ 9223372036854775805현재 랭크 캡
이 스테이터스가 현재 도달할 수 있는 최대 랭크입니다. 초기값은 경험치 모델의 defaultRankCap으로 설정되며, 한계돌파 등의 랭크 캡 증가 조작을 통해 maxRankCap까지 끌어올릴 수 있습니다.
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Experience:SetRankCapByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "experienceName": "[string]경험치 모델 이름",
        "propertyId": "[string]프로퍼티ID",
        "rankCapValue": "[long]현재 랭크 캡",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Experience:SetRankCapByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  experienceName: "[string]경험치 모델 이름"
  propertyId: "[string]프로퍼티ID"
  rankCapValue: "[long]현재 랭크 캡"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("experience").acquire.set_rank_cap_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    experienceName="[string]경험치 모델 이름",
    propertyId="[string]프로퍼티ID",
    rankCapValue="[long]현재 랭크 캡",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Experience:MultiplyAcquireActionsByUserId

사용자 ID를 지정하여 경험치 대상 프로퍼티의 랭크에 따라 리소스를 가산

프로퍼티의 현재 랭크 값을 기반으로 지정된 rateName의 입수 액션 배율을 참조하고, 지정된 입수 액션을 해당 배율(baseRate와 조합)로 곱하여 그 결과 액션을 실행하는 트랜잭션을 시작합니다.
랭크에 기반한 보상 스케일링에 사용되며, 랭크가 높을수록 비례하여 더 많은 리소스를 획득할 수 있습니다.

수량 지정 가능한 액션: 예

반전 가능한 액션: 아니오

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
experienceNamestring
~ 128자경험치 모델 이름
이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다.
propertyIdstring
~ 1024자프로퍼티ID
사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다.
rateNamestring
~ 128자보상 가산 테이블 이름
이 보상 가산 테이블의 고유 식별자입니다. 특정 입수 액션에 적용할 배율 테이블을 지정할 때 참조됩니다.
acquireActionsList<AcquireAction>[]0 ~ 100 items입수 액션 목록
baseRatefloat10 ~ 1000000기초 배율
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Experience:MultiplyAcquireActionsByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "experienceName": "[string]경험치 모델 이름",
        "propertyId": "[string]프로퍼티ID",
        "rateName": "[string]보상 가산 테이블 이름",
        "acquireActions": [
            {
                "action": "[string]입수 액션에서 실행할 액션의 종류",
                "request": "[string]액션 실행 시 사용되는 요청의 JSON 문자열"
            }
        ],
        "baseRate": "[float]기초 배율",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Experience:MultiplyAcquireActionsByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  experienceName: "[string]경험치 모델 이름"
  propertyId: "[string]프로퍼티ID"
  rateName: "[string]보상 가산 테이블 이름"
  acquireActions:
    - action: "[string]입수 액션에서 실행할 액션의 종류"
      request: "[string]액션 실행 시 사용되는 요청의 JSON 문자열"
  baseRate: "[float]기초 배율"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("experience").acquire.multiply_acquire_actions_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    experienceName="[string]경험치 모델 이름",
    propertyId="[string]프로퍼티ID",
    rateName="[string]보상 가산 테이블 이름",
    acquireActions={
        {
            action="[string]입수 액션에서 실행할 액션의 종류",
            request="[string]액션 실행 시 사용되는 요청의 JSON 문자열"
        }
    },
    baseRate="[float]기초 배율",
    timeOffsetToken="[string]타임 오프셋 토큰",
})