Documentation index for AI agents

GS2-Stamina 트랜잭션 액션

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

액션의 조합과 동시 실행

모든 서비스에 공통되는 전제는 트랜잭션 액션의 조합에 정리되어 있습니다. 먼저 그쪽을 읽어 주십시오. 이 절의 나머지는 GS2-Stamina 고유의 내용입니다.

GS2-Stamina의 트랜잭션 액션은 네임스페이스·사용자·스태미나 모델의 조합으로 결정되는 하나의 스태미나를 대상으로 합니다. 스태미나는 스태미나 값·최대값·회복 간격·회복량·초과값을 함께 보관하지만, 각 액션은 자신이 실제로 변경하는 값만 기록하므로 변경하는 값이 다르면 다른 대상이 됩니다.

조작같은 행을 겹쳤을 때중첩 너머다른 대상이 되는 경계
스태미나 값의 회복·소비
RecoverStaminaByUserId ConsumeStaminaByUserId
통합된다. 합산한 값으로 판정된다합산된다. 다만 회복의 합계가 자연 회복으로 도달할 수 있는 범위를 넘으면 충돌(409)이 되며, 재시도로는 해소되지 않습니다네임스페이스·사용자·스태미나 모델·스태미나 값
최대값의 가산·감산
RaiseMaxValueByUserId DecreaseMaxValueByUserId
통합된다. 합산한 값으로 판정된다합산된다네임스페이스·사용자·스태미나 모델·최대값
최대값의 설정
SetMaxValueByUserId
같은 값이면 통합. 값이 다르면 발행 시에 오류실패한다네임스페이스·사용자·스태미나 모델·최대값
회복 간격의 설정
SetRecoverIntervalByUserId
같은 값이면 통합. 값이 다르면 발행 시에 오류실패한다네임스페이스·사용자·스태미나 모델·회복 간격
회복량의 설정
SetRecoverValueByUserId
같은 값이면 통합. 값이 다르면 발행 시에 오류실패한다네임스페이스·사용자·스태미나 모델·회복량
검증 액션 전반임계값이 합산된 하나의 조건이 된다. 다른 서비스와 같은 「먼저 지정한 쪽이 남음」이 아니다읽기만 하므로 충돌하지 않는다네임스페이스·사용자·스태미나 모델·검증 타입

최대값의 행은 두 개이며 경계가 같으므로 함께 둘 수 없습니다. 설정과 가산·감산을 하나의 트랜잭션에 넣으면 실패합니다.

회복과 소비는 통합 후의 합계로 판정됩니다. 스태미나 값은 0을 밑돌 수 없고, 회복은 자연 회복으로 도달할 수 있는 범위를 넘을 수 없으므로, 단독으로는 들어가는 회복이라도 다른 회복과 합쳐지면 거부될 수 있습니다.

검증 액션은 트랜잭션 시작 시점의 스태미나를 봅니다. 같은 트랜잭션에서 도달하는 값을 검증할 수는 없습니다. 임계값이 묶여 버리므로, 검증 타입별로 하나까지로 해 주십시오.

중첩된 트랜잭션에 주의

예외는 회복뿐입니다. 회복이 안쪽과 바깥쪽 양쪽에서 도착하고 그 합계가 자연 회복으로 도달할 수 있는 범위를 넘으면, 재시도해도 해소되지 않는 충돌(409)이 됩니다. 하나의 스태미나에 대한 회복은 보상이나 추첨의 내용도 포함하여 1 트랜잭션당 한 군데로 모아 주십시오. 모을 수 없는 경우에는 아래의 설정으로 회피할 수 있습니다.

제한을 회피하고 싶은 경우

스태미나 값의 회복, 최대값의 가산·설정, 회복 간격과 회복량의 설정은 획득 액션, 스태미나 값의 소비와 최대값의 감산은 소비 액션입니다. 안쪽과 바깥쪽에서 도착한 회복끼리의 충돌은 acquireActionUseJobQueue를 활성화하면 해소되지만, 최대값의 설정과 감산의 공존은 enableAtomicCommit을 비활성화하지 않으면 해소되지 않습니다.

동시 실행과 재시도

회복·소비·최대값의 증감·회복 간격이나 회복량의 변경은 각각의 결과가 허용 범위에 들어가는 한, 동시 실행 요청이 몇 개 겹쳐도 충돌하지 않습니다. 변경하는 값이 다른 요청끼리도 충돌하지 않습니다.

그래도 충돌(409)이 반환되는 것은 동시에 실행된 소비의 합계가 보유한 스태미나를 초과한 경우, 동시에 실행된 회복이 자연 회복의 범위를 넘는 경우, 관리 콘솔이나 서버 API에서의 변경과 겹친 경우입니다. 첫 번째와 세 번째는 재시도하면 최신 상태로 다시 판정되므로, 들어가면 성공합니다.


Verify Action

검증 액션

Gs2Stamina:VerifyStaminaValueByUserId

사용자 ID를 지정하여 스타미나 현재값을 검증

지정된 사용자의 현재 스타미나 값이 지정된 조건을 지정된 임계값에 대해 충족하는지, 상태를 변경하지 않고 검증합니다.

수량 지정 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
staminaNamestring
~ 128자스태미나 모델 이름
이 스태미나 인스턴스의 회복 파라미터, 용량, 테이블 참조를 정의하는 StaminaModel의 이름입니다.
사용자별 스태미나 상태를 대응하는 모델 정의와 연결합니다.
verifyType문자열 열거형
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
검증 종류
정의설명
less현재값이 지정값 미만임
lessEqual현재값이 지정값 이하임
greater현재값이 지정값을 초과함
greaterEqual현재값이 지정값 이상임
equal현재값이 지정값과 일치함
notEqual현재값이 지정값과 일치하지 않음
valueint
0 ~ 2147483646현재값
multiplyValueSpecifyingQuantitybooltrue수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Stamina:VerifyStaminaValueByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "staminaName": "[string]스태미나 모델 이름",
        "verifyType": "[string]검증 종류",
        "value": "[int]현재값",
        "multiplyValueSpecifyingQuantity": "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Stamina:VerifyStaminaValueByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  staminaName: "[string]스태미나 모델 이름"
  verifyType: "[string]검증 종류"
  value: "[int]현재값"
  multiplyValueSpecifyingQuantity: "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("stamina").verify.verify_stamina_value_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    staminaName="[string]스태미나 모델 이름",
    verifyType="[string]검증 종류",
    value="[int]현재값",
    multiplyValueSpecifyingQuantity="[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Stamina:VerifyStaminaMaxValueByUserId

사용자 ID를 지정하여 스태미나 최댓값 검증

지정된 사용자의 스태미나 최대 용량(버프에 의한 변경 포함)이 지정된 조건을 지정된 임곗값에 대해 충족하는지, 상태를 변경하지 않고 검증합니다.

수량 지정 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
staminaNamestring
~ 128자스태미나 모델 이름
이 스태미나 인스턴스의 회복 파라미터, 용량, 테이블 참조를 정의하는 StaminaModel의 이름입니다.
사용자별 스태미나 상태를 대응하는 모델 정의와 연결합니다.
verifyType문자열 열거형
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
검증 종류
정의설명
less최댓값이 지정값 미만임
lessEqual최댓값이 지정값 이하임
greater최댓값이 지정값을 초과함
greaterEqual최댓값이 지정값 이상임
equal최댓값이 지정값과 일치함
notEqual최댓값이 지정값과 일치하지 않음
valueint
0 ~ 2147483646최대값
multiplyValueSpecifyingQuantitybooltrue수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Stamina:VerifyStaminaMaxValueByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "staminaName": "[string]스태미나 모델 이름",
        "verifyType": "[string]검증 종류",
        "value": "[int]최대값",
        "multiplyValueSpecifyingQuantity": "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Stamina:VerifyStaminaMaxValueByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  staminaName: "[string]스태미나 모델 이름"
  verifyType: "[string]검증 종류"
  value: "[int]최대값"
  multiplyValueSpecifyingQuantity: "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("stamina").verify.verify_stamina_max_value_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    staminaName="[string]스태미나 모델 이름",
    verifyType="[string]검증 종류",
    value="[int]최대값",
    multiplyValueSpecifyingQuantity="[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId

사용자 ID를 지정하여 스태미나 회복 간격(분) 검증

지정된 사용자의 스태미나 회복 간격(분)이 지정된 조건을 지정된 임곗값에 대해 충족하는지, 상태를 변경하지 않고 검증합니다.

수량 지정 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
staminaNamestring
~ 128자스태미나 모델 이름
이 스태미나 인스턴스의 회복 파라미터, 용량, 테이블 참조를 정의하는 StaminaModel의 이름입니다.
사용자별 스태미나 상태를 대응하는 모델 정의와 연결합니다.
verifyType문자열 열거형
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
검증 종류
정의설명
less회복 속도가 지정값 미만임
lessEqual회복 속도가 지정값 이하임
greater회복 속도가 지정값을 초과함
greaterEqual회복 속도가 지정값 이상임
equal회복 속도가 지정값과 일치함
notEqual회복 속도가 지정값과 일치하지 않음
valueint
0 ~ 2147483646회복 속도
multiplyValueSpecifyingQuantitybooltrue수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "staminaName": "[string]스태미나 모델 이름",
        "verifyType": "[string]검증 종류",
        "value": "[int]회복 속도",
        "multiplyValueSpecifyingQuantity": "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  staminaName: "[string]스태미나 모델 이름"
  verifyType: "[string]검증 종류"
  value: "[int]회복 속도"
  multiplyValueSpecifyingQuantity: "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("stamina").verify.verify_stamina_recover_interval_minutes_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    staminaName="[string]스태미나 모델 이름",
    verifyType="[string]검증 종류",
    value="[int]회복 속도",
    multiplyValueSpecifyingQuantity="[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Stamina:VerifyStaminaRecoverValueByUserId

사용자 ID를 지정하여 스태미나 회복량 검증

지정된 사용자의 스태미나 회복량(버프에 의한 변경 포함)이 지정된 조건을 지정된 임곗값에 대해 충족하는지, 상태를 변경하지 않고 검증합니다.

수량 지정 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
staminaNamestring
~ 128자스태미나 모델 이름
이 스태미나 인스턴스의 회복 파라미터, 용량, 테이블 참조를 정의하는 StaminaModel의 이름입니다.
사용자별 스태미나 상태를 대응하는 모델 정의와 연결합니다.
verifyType문자열 열거형
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
검증 종류
정의설명
less회복량이 지정값 미만임
lessEqual회복량이 지정값 이하임
greater회복량이 지정값을 초과함
greaterEqual회복량이 지정값 이상임
equal회복량이 지정값과 일치함
notEqual회복량이 지정값과 일치하지 않음
valueint
0 ~ 2147483646회복량
multiplyValueSpecifyingQuantitybooltrue수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Stamina:VerifyStaminaRecoverValueByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "staminaName": "[string]스태미나 모델 이름",
        "verifyType": "[string]검증 종류",
        "value": "[int]회복량",
        "multiplyValueSpecifyingQuantity": "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Stamina:VerifyStaminaRecoverValueByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  staminaName: "[string]스태미나 모델 이름"
  verifyType: "[string]검증 종류"
  value: "[int]회복량"
  multiplyValueSpecifyingQuantity: "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("stamina").verify.verify_stamina_recover_value_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    staminaName="[string]스태미나 모델 이름",
    verifyType="[string]검증 종류",
    value="[int]회복량",
    multiplyValueSpecifyingQuantity="[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Stamina:VerifyStaminaOverflowValueByUserId

사용자 ID를 지정하여 스태미나 오버플로우량 검증

지정된 사용자의 스태미나 오버플로우량이 지정된 조건을 지정된 임곗값에 대해 충족하는지, 상태를 변경하지 않고 검증합니다.

수량 지정 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
staminaNamestring
~ 128자스태미나 모델 이름
이 스태미나 인스턴스의 회복 파라미터, 용량, 테이블 참조를 정의하는 StaminaModel의 이름입니다.
사용자별 스태미나 상태를 대응하는 모델 정의와 연결합니다.
verifyType문자열 열거형
enum {
  “less”,
  “lessEqual”,
  “greater”,
  “greaterEqual”,
  “equal”,
  “notEqual”
}
검증 종류
정의설명
less오버플로우량이 지정값 미만임
lessEqual오버플로우량이 지정값 이하임
greater오버플로우량이 지정값을 초과함
greaterEqual오버플로우량이 지정값 이상임
equal오버플로우량이 지정값과 일치함
notEqual오버플로우량이 지정값과 일치하지 않음
valueint
0 ~ 2147483646오버플로우량
multiplyValueSpecifyingQuantitybooltrue수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Stamina:VerifyStaminaOverflowValueByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "staminaName": "[string]스태미나 모델 이름",
        "verifyType": "[string]검증 종류",
        "value": "[int]오버플로우량",
        "multiplyValueSpecifyingQuantity": "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Stamina:VerifyStaminaOverflowValueByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  staminaName: "[string]스태미나 모델 이름"
  verifyType: "[string]검증 종류"
  value: "[int]오버플로우량"
  multiplyValueSpecifyingQuantity: "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("stamina").verify.verify_stamina_overflow_value_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    staminaName="[string]스태미나 모델 이름",
    verifyType="[string]검증 종류",
    value="[int]오버플로우량",
    multiplyValueSpecifyingQuantity="[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Consume Action

소비 액션

Gs2Stamina:DecreaseMaxValueByUserId

사용자 ID를 지정하여 스타미나 최대값 감산

지정된 사용자의 스타미나 최대 용량을 지정된 양만큼 감소시킵니다. 스타미나 용량에 대한 디버프나 페널티 적용에 사용할 수 있습니다.

수량 지정 가능한 액션: 예

반전 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
staminaNamestring
~ 128자스태미나 모델 이름
이 스태미나 인스턴스의 회복 파라미터, 용량, 테이블 참조를 정의하는 StaminaModel의 이름입니다.
사용자별 스태미나 상태를 대응하는 모델 정의와 연결합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
decreaseValueint
0 ~ 2147483646감산할 최대 스타미나 양
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Stamina:DecreaseMaxValueByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "staminaName": "[string]스태미나 모델 이름",
        "userId": "[string]사용자ID",
        "decreaseValue": "[int]감산할 최대 스타미나 양",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Stamina:DecreaseMaxValueByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  staminaName: "[string]스태미나 모델 이름"
  userId: "[string]사용자ID"
  decreaseValue: "[int]감산할 최대 스타미나 양"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("stamina").consume.decrease_max_value_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    staminaName="[string]스태미나 모델 이름",
    userId="[string]사용자ID",
    decreaseValue="[int]감산할 최대 스타미나 양",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Stamina:ConsumeStaminaByUserId

사용자 ID를 지정하여 스타미나 소비

지정된 사용자의 현재 스타미나 값에서 지정된 양을 차감합니다. 현재 스타미나 값이 소비량보다 적은 경우 Insufficient 오류를 반환합니다.

수량 지정 가능한 액션: 예

반전 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
staminaNamestring
~ 128자스태미나 모델 이름
이 스태미나 인스턴스의 회복 파라미터, 용량, 테이블 참조를 정의하는 StaminaModel의 이름입니다.
사용자별 스태미나 상태를 대응하는 모델 정의와 연결합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
consumeValueint
1 ~ 2147483646소비할 스타미나 양
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Stamina:ConsumeStaminaByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "staminaName": "[string]스태미나 모델 이름",
        "userId": "[string]사용자ID",
        "consumeValue": "[int]소비할 스타미나 양",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Stamina:ConsumeStaminaByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  staminaName: "[string]스태미나 모델 이름"
  userId: "[string]사용자ID"
  consumeValue: "[int]소비할 스타미나 양"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("stamina").consume.consume_stamina_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    staminaName="[string]스태미나 모델 이름",
    userId="[string]사용자ID",
    consumeValue="[int]소비할 스타미나 양",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Acquire Action

입수 액션

Gs2Stamina:RecoverStaminaByUserId

사용자 ID를 지정하여 스타미나 회복

지정된 양의 스타미나를 최대 용량까지 회복합니다. 회복으로 인해 값이 최대값을 초과하고 오버플로 모드가 활성화된 경우, 초과분은 오버플로 값으로 기록됩니다.

수량 지정 가능한 액션: 예

반전 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
staminaNamestring
~ 128자스태미나 모델 이름
이 스태미나 인스턴스의 회복 파라미터, 용량, 테이블 참조를 정의하는 StaminaModel의 이름입니다.
사용자별 스태미나 상태를 대응하는 모델 정의와 연결합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
recoverValueint
1 ~ 2147483646스타미나의 회복량
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Stamina:RecoverStaminaByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "staminaName": "[string]스태미나 모델 이름",
        "userId": "[string]사용자ID",
        "recoverValue": "[int]스타미나의 회복량",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Stamina:RecoverStaminaByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  staminaName: "[string]스태미나 모델 이름"
  userId: "[string]사용자ID"
  recoverValue: "[int]스타미나의 회복량"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("stamina").acquire.recover_stamina_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    staminaName="[string]스태미나 모델 이름",
    userId="[string]사용자ID",
    recoverValue="[int]스타미나의 회복량",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Stamina:RaiseMaxValueByUserId

사용자 ID를 지정하여 스타미나의 최대값을 가산

지정된 양만큼 스타미나의 최대 용량을 영구적으로 증가시킵니다. 레벨업 보상이나 아이템 효과 등 영구적인 스탯 상승에 사용됩니다.

수량 지정 가능한 액션: 예

반전 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
staminaNamestring
~ 128자스태미나 모델 이름
이 스태미나 인스턴스의 회복 파라미터, 용량, 테이블 참조를 정의하는 StaminaModel의 이름입니다.
사용자별 스태미나 상태를 대응하는 모델 정의와 연결합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
raiseValueint
0 ~ 2147483646증가시킬 최대 스타미나 양
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Stamina:RaiseMaxValueByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "staminaName": "[string]스태미나 모델 이름",
        "userId": "[string]사용자ID",
        "raiseValue": "[int]증가시킬 최대 스타미나 양",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Stamina:RaiseMaxValueByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  staminaName: "[string]스태미나 모델 이름"
  userId: "[string]사용자ID"
  raiseValue: "[int]증가시킬 최대 스타미나 양"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("stamina").acquire.raise_max_value_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    staminaName="[string]스태미나 모델 이름",
    userId="[string]사용자ID",
    raiseValue="[int]증가시킬 최대 스타미나 양",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Stamina:SetMaxValueByUserId

사용자 ID를 지정하여 스타미나의 최대값을 갱신

스타미나의 최대 용량을 지정된 값으로 설정합니다. 감사 목적으로 변경 전 스타미나 상태가 응답에 유지됩니다. 관리자에 의한 오버라이드나 특별 이벤트에서의 조정에 사용됩니다.

수량 지정 가능한 액션: 예

반전 가능한 액션: 아니오

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
staminaNamestring
~ 128자스태미나 모델 이름
이 스태미나 인스턴스의 회복 파라미터, 용량, 테이블 참조를 정의하는 StaminaModel의 이름입니다.
사용자별 스태미나 상태를 대응하는 모델 정의와 연결합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
maxValueint
1 ~ 2147483646스태미나 최대값
StaminaModel로부터 결정되며, 옵션으로 플레이어의 GS2-Experience 랭크에 따라 MaxStaminaTable로 오버라이드되는 사용자별 스태미나 최대값입니다.
오버플로우가 비활성화된 경우 initialCapacity가 하한이 됩니다. 오버플로우가 활성화된 경우 maxCapacity가 상한이 됩니다.
자연 회복은 이 값에서 멈춥니다.
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Stamina:SetMaxValueByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "staminaName": "[string]스태미나 모델 이름",
        "userId": "[string]사용자ID",
        "maxValue": "[int]스태미나 최대값",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Stamina:SetMaxValueByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  staminaName: "[string]스태미나 모델 이름"
  userId: "[string]사용자ID"
  maxValue: "[int]스태미나 최대값"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("stamina").acquire.set_max_value_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    staminaName="[string]스태미나 모델 이름",
    userId="[string]사용자ID",
    maxValue="[int]스태미나 최대값",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Stamina:SetRecoverIntervalByUserId

사용자 ID를 지정하여 스타미나 회복 간격(분)을 갱신

스타미나 회복 간격을 지정된 값(분)으로 설정합니다. 감사 목적으로 변경 전 스타미나 상태가 응답에 유지됩니다. 스타미나가 자동으로 회복되는 빈도를 제어합니다.

수량 지정 가능한 액션: 예

반전 가능한 액션: 아니오

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
staminaNamestring
~ 128자스태미나 모델 이름
이 스태미나 인스턴스의 회복 파라미터, 용량, 테이블 참조를 정의하는 StaminaModel의 이름입니다.
사용자별 스태미나 상태를 대응하는 모델 정의와 연결합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
recoverIntervalMinutesint
1 ~ 2147483646스타미나 회복 간격(분)
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Stamina:SetRecoverIntervalByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "staminaName": "[string]스태미나 모델 이름",
        "userId": "[string]사용자ID",
        "recoverIntervalMinutes": "[int]스타미나 회복 간격(분)",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Stamina:SetRecoverIntervalByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  staminaName: "[string]스태미나 모델 이름"
  userId: "[string]사용자ID"
  recoverIntervalMinutes: "[int]스타미나 회복 간격(분)"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("stamina").acquire.set_recover_interval_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    staminaName="[string]스태미나 모델 이름",
    userId="[string]사용자ID",
    recoverIntervalMinutes="[int]스타미나 회복 간격(분)",
    timeOffsetToken="[string]타임 오프셋 토큰",
})

Gs2Stamina:SetRecoverValueByUserId

사용자 ID를 지정하여 스타미나의 회복량을 설정

스타미나의 회복량을 지정된 값으로 설정합니다. 감사 목적으로 변경 전 스타미나 상태가 응답에 유지됩니다. 회복 간격마다 회복되는 스타미나 양을 제어합니다.

수량 지정 가능한 액션: 예

반전 가능한 액션: 아니오

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
staminaNamestring
~ 128자스태미나 모델 이름
이 스태미나 인스턴스의 회복 파라미터, 용량, 테이블 참조를 정의하는 StaminaModel의 이름입니다.
사용자별 스태미나 상태를 대응하는 모델 정의와 연결합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
recoverValueint
1 ~ 2147483646스타미나의 회복량
timeOffsetTokenstring~ 1024자타임 오프셋 토큰
{
    "action": "Gs2Stamina:SetRecoverValueByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "staminaName": "[string]스태미나 모델 이름",
        "userId": "[string]사용자ID",
        "recoverValue": "[int]스타미나의 회복량",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
action: Gs2Stamina:SetRecoverValueByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  staminaName: "[string]스태미나 모델 이름"
  userId: "[string]사용자ID"
  recoverValue: "[int]스타미나의 회복량"
  timeOffsetToken: "[string]타임 오프셋 토큰"
transaction.service("stamina").acquire.set_recover_value_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    staminaName="[string]스태미나 모델 이름",
    userId="[string]사용자ID",
    recoverValue="[int]스타미나의 회복량",
    timeOffsetToken="[string]타임 오프셋 토큰",
})