GS2-Script 트랜잭션 액션
검증/소비/입수 각 트랜잭션 액션의 사양
Acquire Action
입수 액션
Gs2Script:InvokeScript
스크립트 실행
지정된 Lua 스크립트를 제공된 JSON 인수로 동기적으로 실행합니다. 스테이터스 코드, 반환값, 트랜잭션 정보, 난수 상태, 실행 시간, 표준 출력을 포함한 실행 결과를 반환합니다. GS2 서비스 간 원자적 처리를 위한 트랜잭션 처리를 지원합니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| scriptId | string | ✓ | ~ 1024자 | 스크립트 GRN | ||
| userId | string | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | |||
| args | string | “{}” | ~ 5242880자 | 스크립트에 전달되는 인수 (JSON 형식) | ||
| randomStatus | RandomStatus | 난수 상태 | ||||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Script:InvokeScript",
"request": {
"scriptId": "[string]스크립트 GRN",
"userId": "[string]사용자ID",
"args": "[string]스크립트에 전달되는 인수 (JSON 형식)",
"randomStatus": {
"seed": "[long]난수 시드",
"used": [
{
"category": "[long]카테고리",
"used": "[long]사용 횟수"
}
]
},
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Script:InvokeScript
request:
scriptId: "[string]스크립트 GRN"
userId: "[string]사용자ID"
args: "[string]스크립트에 전달되는 인수 (JSON 형식)"
randomStatus:
seed: "[long]난수 시드"
used:
- category: "[long]카테고리"
used: "[long]사용 횟수"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("script").acquire.invoke_script({
scriptId="[string]스크립트 GRN",
userId="[string]사용자ID",
args="[string]스크립트에 전달되는 인수 (JSON 형식)",
randomStatus={
seed="[long]난수 시드",
used={
{
category="[long]카테고리",
used="[long]사용 횟수"
}
}
},
timeOffsetToken="[string]타임 오프셋 토큰",
})