GS2-Idle 트랜잭션 액션
Consume Action
소비 액션
Gs2Idle:DecreaseMaximumIdleMinutesByUserId
사용자 ID를 지정하여 최대 대기 시간을 감산
지정된 카테고리에서 사용자의 최대 대기 시간에서 지정된 분(分) 수를 감산합니다.
최대 대기 시간은 0 미만으로 내려갈 수 없습니다.
스테이터스가 아직 존재하지 않는 경우, 감산을 적용하기 전에 자동으로 생성됩니다.
수량 지정 가능한 액션: 예
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| categoryName | string | ✓ | ~ 128자 | 카테고리 모델 이름 이 스테이터스가 속한 카테고리 모델의 이름입니다. 방치 보상 계산에 사용되는 보상 간격, 최대 방치 시간, 입수 액션, 스케줄 설정을 포함하는 카테고리 모델 정의를 참조합니다. | ||
| decreaseMinutes | int | 1 ~ 2147483646 | 최대 대기 시간 감소량(분) | |||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Idle:DecreaseMaximumIdleMinutesByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"userId": "[string]사용자ID",
"categoryName": "[string]카테고리 모델 이름",
"decreaseMinutes": "[int]최대 대기 시간 감소량(분)",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Idle:DecreaseMaximumIdleMinutesByUserId
request:
namespaceName: "[string]네임스페이스 이름"
userId: "[string]사용자ID"
categoryName: "[string]카테고리 모델 이름"
decreaseMinutes: "[int]최대 대기 시간 감소량(분)"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("idle").consume.decrease_maximum_idle_minutes_by_user_id({
namespaceName="[string]네임스페이스 이름",
userId="[string]사용자ID",
categoryName="[string]카테고리 모델 이름",
decreaseMinutes="[int]최대 대기 시간 감소량(분)",
timeOffsetToken="[string]타임 오프셋 토큰",
})Acquire Action
입수 액션
Gs2Idle:IncreaseMaximumIdleMinutesByUserId
사용자 ID를 지정하여 최대 대기 시간을 가산
지정된 카테고리에서 사용자의 최대 대기 시간에 지정된 분(分) 수를 가산합니다.
최대 대기 시간은 방치 보상이 누적될 수 있는 시간의 상한을 결정합니다.
스테이터스가 아직 존재하지 않는 경우, 가산을 적용하기 전에 자동으로 생성됩니다.
수량 지정 가능한 액션: 예
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| categoryName | string | ✓ | ~ 128자 | 카테고리 모델 이름 이 스테이터스가 속한 카테고리 모델의 이름입니다. 방치 보상 계산에 사용되는 보상 간격, 최대 방치 시간, 입수 액션, 스케줄 설정을 포함하는 카테고리 모델 정의를 참조합니다. | ||
| increaseMinutes | int | 1 ~ 2147483646 | 최대 대기 시간 증가량(분) | |||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Idle:IncreaseMaximumIdleMinutesByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"userId": "[string]사용자ID",
"categoryName": "[string]카테고리 모델 이름",
"increaseMinutes": "[int]최대 대기 시간 증가량(분)",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Idle:IncreaseMaximumIdleMinutesByUserId
request:
namespaceName: "[string]네임스페이스 이름"
userId: "[string]사용자ID"
categoryName: "[string]카테고리 모델 이름"
increaseMinutes: "[int]최대 대기 시간 증가량(분)"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("idle").acquire.increase_maximum_idle_minutes_by_user_id({
namespaceName="[string]네임스페이스 이름",
userId="[string]사용자ID",
categoryName="[string]카테고리 모델 이름",
increaseMinutes="[int]최대 대기 시간 증가량(분)",
timeOffsetToken="[string]타임 오프셋 토큰",
})Gs2Idle:SetMaximumIdleMinutesByUserId
사용자 ID를 지정하여 최대 대기 시간을 설정
지정된 카테고리에서 사용자의 최대 대기 시간을 지정된 절대값으로 설정합니다.
가산/감산 조작과 달리, 현재 최대 대기 시간을 직접 대체합니다.
갱신 후 스테이터스와 갱신 전 스테이터스를 모두 반환하므로, 호출한 측에서 변경 내용을 확인할 수 있습니다.
스테이터스가 아직 존재하지 않는 경우, 값을 적용하기 전에 자동으로 생성됩니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| categoryName | string | ✓ | ~ 128자 | 카테고리 모델 이름 이 스테이터스가 속한 카테고리 모델의 이름입니다. 방치 보상 계산에 사용되는 보상 간격, 최대 방치 시간, 입수 액션, 스케줄 설정을 포함하는 카테고리 모델 정의를 참조합니다. | ||
| maximumIdleMinutes | int | 1 ~ 2147483646 | 설정할 최대 대기 시간 | |||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Idle:SetMaximumIdleMinutesByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"userId": "[string]사용자ID",
"categoryName": "[string]카테고리 모델 이름",
"maximumIdleMinutes": "[int]설정할 최대 대기 시간",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Idle:SetMaximumIdleMinutesByUserId
request:
namespaceName: "[string]네임스페이스 이름"
userId: "[string]사용자ID"
categoryName: "[string]카테고리 모델 이름"
maximumIdleMinutes: "[int]설정할 최대 대기 시간"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("idle").acquire.set_maximum_idle_minutes_by_user_id({
namespaceName="[string]네임스페이스 이름",
userId="[string]사용자ID",
categoryName="[string]카테고리 모델 이름",
maximumIdleMinutes="[int]설정할 최대 대기 시간",
timeOffsetToken="[string]타임 오프셋 토큰",
})Gs2Idle:ReceiveByUserId
사용자 ID를 지정하여 보상 수령
지정된 사용자와 카테고리의 누적된 대기 시간을 기준으로 방치 보상을 수령합니다.
보상량은 경과한 대기 시간을 rewardIntervalMinutes로 나눈 값으로 계산되며, maximumIdleMinutes로 상한이 설정됩니다.
receiveScript가 설정되어 있는 경우, 보상 지급 전에 실행되어 수령 조작을 변경하거나 거부할 수 있습니다.
overrideAcquireActionsScriptId를 통해 입수 액션(배율 보정 적용 등)을 변경하는 것도 가능합니다.
수령 후, 대기 타이머는 현재 시각으로 리셋됩니다.
계산된 보상의 입수 액션을 포함하는 트랜잭션을 반환합니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| categoryName | string | ✓ | ~ 128자 | 카테고리 모델 이름 이 스테이터스가 속한 카테고리 모델의 이름입니다. 방치 보상 계산에 사용되는 보상 간격, 최대 방치 시간, 입수 액션, 스케줄 설정을 포함하는 카테고리 모델 정의를 참조합니다. | ||
| config | List<Config> | [] | 0 ~ 32 items | 트랜잭션 변수에 적용할 설정값 | ||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Idle:ReceiveByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"userId": "[string]사용자ID",
"categoryName": "[string]카테고리 모델 이름",
"config": [
{
"key": "[string]이름",
"value": "[string]값"
}
],
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Idle:ReceiveByUserId
request:
namespaceName: "[string]네임스페이스 이름"
userId: "[string]사용자ID"
categoryName: "[string]카테고리 모델 이름"
config:
- key: "[string]이름"
value: "[string]값"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("idle").acquire.receive_by_user_id({
namespaceName="[string]네임스페이스 이름",
userId="[string]사용자ID",
categoryName="[string]카테고리 모델 이름",
config={
{
key="[string]이름",
value="[string]값"
}
},
timeOffsetToken="[string]타임 오프셋 토큰",
})