GS2-Experience 트랜잭션 액션
Verify Action
검증 액션
Gs2Experience:VerifyRankByUserId
사용자 ID를 지정하여 랭크를 검증
지정된 사용자의 현재 랭크가 지정된 값에 대한 조건을 충족하는지 검증합니다.
6가지 비교 연산자를 지원합니다: less, lessEqual, greater, greaterEqual, equal, notEqual.
검증 조건을 충족하지 않는 경우 오류(BadRequest)를 반환합니다.
수량 지정 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||||||||||||||||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||||||||||||||||
| experienceName | string | ✓ | ~ 128자 | 경험치 모델 이름 이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다. | ||||||||||||||||
| verifyType | 문자열 열거형 enum { “less”, “lessEqual”, “greater”, “greaterEqual”, “equal”, “notEqual” } | ✓ | 검증 종류
| |||||||||||||||||
| propertyId | string | ✓ | ~ 1024자 | 프로퍼티ID 사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다. | ||||||||||||||||
| rankValue | long | 0 | 0 ~ 9223372036854775805 | 현재 랭크 랭크업 임계값 테이블을 사용하여 누적 경험치로부터 산출되는 랭크(레벨)입니다. 0부터 시작하며 경험치 임계값을 초과할 때마다 증가합니다. 현재 랭크 캡 값을 초과할 수 없습니다. | ||||||||||||||||
| multiplyValueSpecifyingQuantity | bool | false | 수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부 | |||||||||||||||||
| timeOffsetToken | string | ~ 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)를 반환합니다.
수량 지정 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||||||||||||||||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||||||||||||||||
| experienceName | string | ✓ | ~ 128자 | 경험치 모델 이름 이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다. | ||||||||||||||||
| verifyType | 문자열 열거형 enum { “less”, “lessEqual”, “greater”, “greaterEqual”, “equal”, “notEqual” } | ✓ | 검증 종류
| |||||||||||||||||
| propertyId | string | ✓ | ~ 1024자 | 프로퍼티ID 사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다. | ||||||||||||||||
| rankCapValue | long | ✓ | 0 ~ 9223372036854775805 | 현재 랭크 캡 이 스테이터스가 현재 도달할 수 있는 최대 랭크입니다. 초기값은 경험치 모델의 defaultRankCap으로 설정되며, 한계돌파 등의 랭크 캡 증가 조작을 통해 maxRankCap까지 끌어올릴 수 있습니다. | ||||||||||||||||
| multiplyValueSpecifyingQuantity | bool | false | 수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부 | |||||||||||||||||
| timeOffsetToken | string | ~ 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 미만으로 내려가지 않습니다.
랭크는 랭크업 임계값에 기반하여 자동으로 재계산됩니다.
수량 지정 가능한 액션: 예
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| experienceName | string | ✓ | ~ 128자 | 경험치 모델 이름 이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다. | ||
| propertyId | string | ✓ | ~ 1024자 | 프로퍼티ID 사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다. | ||
| experienceValue | long | 0 | 0 ~ 9223372036854775805 | 잃는 경험치 | ||
| timeOffsetToken | string | ~ 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 미만으로 내려가지 않습니다.
수량 지정 가능한 액션: 예
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| experienceName | string | ✓ | ~ 128자 | 경험치 모델 이름 이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다. | ||
| propertyId | string | ✓ | ~ 1024자 | 프로퍼티ID 사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다. | ||
| rankCapValue | long | ✓ | 0 ~ 9223372036854775805 | 현재 랭크 캡 이 스테이터스가 현재 도달할 수 있는 최대 랭크입니다. 초기값은 경험치 모델의 defaultRankCap으로 설정되며, 한계돌파 등의 랭크 캡 증가 조작을 통해 maxRankCap까지 끌어올릴 수 있습니다. | ||
| timeOffsetToken | string | ~ 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(기본값)인 경우에는 다음 랭크로 이월됩니다.
수량 지정 가능한 액션: 예
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| experienceName | string | ✓ | ~ 128자 | 경험치 모델 이름 이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다. | ||
| propertyId | string | ✓ | ~ 1024자 | 프로퍼티ID 사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다. | ||
| experienceValue | long | 0 | 0 ~ 9223372036854775805 | 획득 경험치 | ||
| truncateExperienceWhenRankUp | bool? | false | 랭크업 시 남은 경험치를 절사할지 여부 | |||
| timeOffsetToken | string | ~ 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’로 하여, 갱신 후 상태와 함께 반환합니다.
랭크는 랭크업 임계값에 기반하여 자동으로 재계산됩니다.
수량 지정 가능한 액션: 예
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| experienceName | string | ✓ | ~ 128자 | 경험치 모델 이름 이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다. | ||
| propertyId | string | ✓ | ~ 1024자 | 프로퍼티ID 사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다. | ||
| experienceValue | long | 0 | 0 ~ 9223372036854775805 | 누적 획득 경험치 이 스테이터스가 축적한 총 경험치입니다. 현재 랭크는 이 값으로부터 랭크업 임계값 테이블을 사용하여 산출됩니다. 현재 랭크 캡에 대응하는 임계값을 초과하여 경험치를 획득할 수 없습니다. | ||
| timeOffsetToken | string | ~ 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을 초과할 수 없습니다.
랭크 캡은 지정된 프로퍼티에서 사용자가 도달 가능한 최대 랭크를 결정합니다.
수량 지정 가능한 액션: 예
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| experienceName | string | ✓ | ~ 128자 | 경험치 모델 이름 이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다. | ||
| propertyId | string | ✓ | ~ 1024자 | 프로퍼티ID 사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다. | ||
| rankCapValue | long | ✓ | 0 ~ 9223372036854775805 | 현재 랭크 캡 이 스테이터스가 현재 도달할 수 있는 최대 랭크입니다. 초기값은 경험치 모델의 defaultRankCap으로 설정되며, 한계돌파 등의 랭크 캡 증가 조작을 통해 maxRankCap까지 끌어올릴 수 있습니다. | ||
| timeOffsetToken | string | ~ 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으로 상한이 제한됩니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| experienceName | string | ✓ | ~ 128자 | 경험치 모델 이름 이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다. | ||
| propertyId | string | ✓ | ~ 1024자 | 프로퍼티ID 사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다. | ||
| rankCapValue | long | ✓ | 0 ~ 9223372036854775805 | 현재 랭크 캡 이 스테이터스가 현재 도달할 수 있는 최대 랭크입니다. 초기값은 경험치 모델의 defaultRankCap으로 설정되며, 한계돌파 등의 랭크 캡 증가 조작을 통해 maxRankCap까지 끌어올릴 수 있습니다. | ||
| timeOffsetToken | string | ~ 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와 조합)로 곱하여 그 결과 액션을 실행하는 트랜잭션을 시작합니다.
랭크에 기반한 보상 스케일링에 사용되며, 랭크가 높을수록 비례하여 더 많은 리소스를 획득할 수 있습니다.
수량 지정 가능한 액션: 예
반전 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| experienceName | string | ✓ | ~ 128자 | 경험치 모델 이름 이 스테이터스의 랭킹 규칙을 정의하는 경험치 모델의 이름입니다. 어떤 랭크업 임계값 테이블과 랭크 캡 설정이 적용되는지를 결정합니다. | ||
| propertyId | string | ✓ | ~ 1024자 | 프로퍼티ID 사용자 스코프 내에서 이 스테이터스를 고유하게 식별하는 개발자 정의 식별자입니다. 경험치를 보유한 GS2-Inventory의 아이템 세트 GRN이나 GS2-Dictionary의 엔트리 GRN 끝에 경험치 모델의 접미사를 붙인 값을 사용할 것을 권장합니다. | ||
| rateName | string | ✓ | ~ 128자 | 보상 가산 테이블 이름 이 보상 가산 테이블의 고유 식별자입니다. 특정 입수 액션에 적용할 배율 테이블을 지정할 때 참조됩니다. | ||
| acquireActions | List<AcquireAction> | [] | 0 ~ 100 items | 입수 액션 목록 | ||
| baseRate | float | 1 | 0 ~ 1000000 | 기초 배율 | ||
| timeOffsetToken | string | ~ 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]타임 오프셋 토큰",
})