Documentation index for AI agents

GS2-Inventory 스크립트 트리거 레퍼런스

확장 스크립트를 호출하는 이벤트 트리거의 레퍼런스

트리거

acquire

동기 실행 스크립트

처리 전에, 스크립트가 동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
inventoryInventory인벤토리
itemSetsItemSet[]아이템 세트 리스트
acquireItemNamestring입수한 아이템 모델 이름
userIdstring사용자ID
acquireCountlong입수 수량
expiresAtlong유효기간
UNIX 시간·밀리초
Result
타입필수기본값값 제한설명
permitbool
아이템 입수를 허용할지 여부
overrideAcquireCountint0 ~ 2147483645실제로 적용할 입수량
구현 예제
-- Request
local namespace = args.namespace
local inventory = args.inventory
local itemSets = args.itemSets
local acquireItemName = args.acquireItemName
local userId = args.userId
local acquireCount = args.acquireCount
local expiresAt = args.expiresAt

-- Business logic:
local permit = true
local overrideAcquireCount = 0

-- Result
result = {
  permit=permit,
  overrideAcquireCount=overrideAcquireCount
}

비동기 실행 스크립트

처리 후에, 스크립트가 비동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
oldInventoryInventory갱신 전 인벤토리
oldItemSetsItemSet[]갱신 전 아이템 세트 리스트
newInventoryInventory갱신 후 인벤토리
newItemSetsItemSet[]갱신 후 아이템 세트 리스트
acquireItemNamestring입수한 아이템 모델 이름
userIdstring사용자ID
acquireCountlong입수 수량
overflowValuelong넘친 양
expiresAtlong유효기간
UNIX 시간·밀리초
구현 예제
-- Request
local namespace = args.namespace
local oldInventory = args.oldInventory
local oldItemSets = args.oldItemSets
local newInventory = args.newInventory
local newItemSets = args.newItemSets
local acquireItemName = args.acquireItemName
local userId = args.userId
local acquireCount = args.acquireCount
local overflowValue = args.overflowValue
local expiresAt = args.expiresAt

-- 비동기 스크립트는 일반적으로 API 응답에 영향을 주지 않습니다.
-- 로그 출력이나 분석, 외부 알림 등에 사용됩니다.

result = {
}

overflowDone

동기 실행 스크립트

처리 전에, 스크립트가 동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
inventoryInventory인벤토리
itemModelItemModel아이템 모델
userIdstring사용자ID
overflowValuelong넘친 양
구현 예제
-- Request
local namespace = args.namespace
local inventory = args.inventory
local itemModel = args.itemModel
local userId = args.userId
local overflowValue = args.overflowValue

-- Business logic:

-- Result
result = {
}

consume

동기 실행 스크립트

처리 전에, 스크립트가 동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
inventoryInventory인벤토리
itemSetsItemSet[]아이템 세트 리스트
consumeItemNamestring소비한 아이템 모델 이름
userIdstring사용자ID
consumeCountlong소비 수량
Result
타입필수기본값값 제한설명
permitbool
아이템 소비를 허용할지 여부
overrideConsumeCountint0 ~ 2147483645실제로 적용할 소비량
구현 예제
-- Request
local namespace = args.namespace
local inventory = args.inventory
local itemSets = args.itemSets
local consumeItemName = args.consumeItemName
local userId = args.userId
local consumeCount = args.consumeCount

-- Business logic:
local permit = true
local overrideConsumeCount = 0

-- Result
result = {
  permit=permit,
  overrideConsumeCount=overrideConsumeCount
}

비동기 실행 스크립트

처리 후에, 스크립트가 비동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
oldInventoryInventory소비 전 인벤토리
oldItemSetsItemSet[]소비 전 아이템 세트 리스트
newInventoryInventory소비 후 인벤토리
newItemSetsItemSet[]소비 후 아이템 세트 리스트
consumeItemNamestring소비한 아이템 모델 이름
userIdstring사용자ID
consumeCountlong소비 수량
구현 예제
-- Request
local namespace = args.namespace
local oldInventory = args.oldInventory
local oldItemSets = args.oldItemSets
local newInventory = args.newInventory
local newItemSets = args.newItemSets
local consumeItemName = args.consumeItemName
local userId = args.userId
local consumeCount = args.consumeCount

-- 비동기 스크립트는 일반적으로 API 응답에 영향을 주지 않습니다.
-- 로그 출력이나 분석, 외부 알림 등에 사용됩니다.

result = {
}

simpleItemAcquire

동기 실행 스크립트

처리 전에, 스크립트가 동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
inventoryNamestring심플 인벤토리 모델명
이 인벤토리의 아이템 종류를 정의하는 심플 인벤토리 모델의 이름입니다. 사용자의 심플 인벤토리 인스턴스를 모델 정의에 연결합니다.
simpleItemsSimpleItem[]심플 아이템 리스트
userIdstring사용자ID
acquireCountsAcquireCount[]심플 아이템의 입수 수량 리스트
Result
타입필수기본값값 제한설명
permitbool
심플 아이템 입수를 허용할지 여부
overrideAcquireCountsAcquireCount[]0 ~ 100 items심플 아이템의 입수 수량 리스트
구현 예제
-- Request
local namespace = args.namespace
local inventoryName = args.inventoryName
local simpleItems = args.simpleItems
local userId = args.userId
local acquireCounts = args.acquireCounts

-- Business logic:
local permit = true
local overrideAcquireCounts = {}

-- Result
result = {
  permit=permit,
  overrideAcquireCounts=overrideAcquireCounts
}

비동기 실행 스크립트

처리 후에, 스크립트가 비동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
inventoryNamestring심플 인벤토리 모델명
이 인벤토리의 아이템 종류를 정의하는 심플 인벤토리 모델의 이름입니다. 사용자의 심플 인벤토리 인스턴스를 모델 정의에 연결합니다.
oldSimpleItemsSimpleItem[]갱신 전 심플 아이템 리스트
newSimpleItemsSimpleItem[]갱신 후 심플 아이템 리스트
userIdstring사용자ID
acquireCountsAcquireCount[]심플 아이템 리스트
구현 예제
-- Request
local namespace = args.namespace
local inventoryName = args.inventoryName
local oldSimpleItems = args.oldSimpleItems
local newSimpleItems = args.newSimpleItems
local userId = args.userId
local acquireCounts = args.acquireCounts

-- 비동기 스크립트는 일반적으로 API 응답에 영향을 주지 않습니다.
-- 로그 출력이나 분석, 외부 알림 등에 사용됩니다.

result = {
}

simpleItemConsume

동기 실행 스크립트

처리 전에, 스크립트가 동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
inventoryNamestring심플 인벤토리 모델명
이 인벤토리의 아이템 종류를 정의하는 심플 인벤토리 모델의 이름입니다. 사용자의 심플 인벤토리 인스턴스를 모델 정의에 연결합니다.
simpleItemsSimpleItem[]심플 아이템 리스트
userIdstring사용자ID
consumeCountsConsumeCount[]심플 아이템의 소비 수량 리스트
Result
타입필수기본값값 제한설명
permitbool
심플 아이템 소비를 허용할지 여부
overrideConsumeCountsConsumeCount[]0 ~ 100 items심플 아이템 리스트
구현 예제
-- Request
local namespace = args.namespace
local inventoryName = args.inventoryName
local simpleItems = args.simpleItems
local userId = args.userId
local consumeCounts = args.consumeCounts

-- Business logic:
local permit = true
local overrideConsumeCounts = {}

-- Result
result = {
  permit=permit,
  overrideConsumeCounts=overrideConsumeCounts
}

비동기 실행 스크립트

처리 후에, 스크립트가 비동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
inventoryNamestring심플 인벤토리 모델명
이 인벤토리의 아이템 종류를 정의하는 심플 인벤토리 모델의 이름입니다. 사용자의 심플 인벤토리 인스턴스를 모델 정의에 연결합니다.
oldSimpleItemsSimpleItem[]갱신 전 심플 아이템 리스트
newSimpleItemsSimpleItem[]갱신 후 심플 아이템 리스트
userIdstring사용자ID
consumeCountsConsumeCount[]심플 아이템의 소비 수량 리스트
구현 예제
-- Request
local namespace = args.namespace
local inventoryName = args.inventoryName
local oldSimpleItems = args.oldSimpleItems
local newSimpleItems = args.newSimpleItems
local userId = args.userId
local consumeCounts = args.consumeCounts

-- 비동기 스크립트는 일반적으로 API 응답에 영향을 주지 않습니다.
-- 로그 출력이나 분석, 외부 알림 등에 사용됩니다.

result = {
}

bigItemAcquire

동기 실행 스크립트

처리 전에, 스크립트가 동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
inventoryNamestring거대 인벤토리 모델명
이 인벤토리의 아이템 종류를 정의하는 거대 인벤토리 모델의 이름입니다. 사용자의 거대 인벤토리 인스턴스를 모델 정의에 연결합니다.
itemNamestring거대 아이템 모델 이름
이 레코드에 저장된 아이템의 종류를 정의하는 거대 아이템 모델의 이름입니다. 이 거대 아이템 소지품이 어떤 아이템 정의에 대응하는지 식별하는 데 사용됩니다.
itemBigItem거대 아이템
userIdstring사용자ID
acquireCountstring거대 아이템의 입수 수량
최대 1024자리까지의 정수값 문자열
Result
타입필수기본값값 제한설명
permitbool
거대 아이템 입수를 허용할지 여부
ratefloat1.00 ~ 1000획득량 배율
구현 예제
-- Request
local namespace = args.namespace
local inventoryName = args.inventoryName
local itemName = args.itemName
local item = args.item
local userId = args.userId
local acquireCount = args.acquireCount

-- Business logic:
local permit = true
local rate = 1.0

-- Result
result = {
  permit=permit,
  rate=rate
}

비동기 실행 스크립트

처리 후에, 스크립트가 비동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
inventoryNamestring거대 인벤토리 모델명
이 인벤토리의 아이템 종류를 정의하는 거대 인벤토리 모델의 이름입니다. 사용자의 거대 인벤토리 인스턴스를 모델 정의에 연결합니다.
itemNamestring거대 아이템 모델 이름
이 레코드에 저장된 아이템의 종류를 정의하는 거대 아이템 모델의 이름입니다. 이 거대 아이템 소지품이 어떤 아이템 정의에 대응하는지 식별하는 데 사용됩니다.
oldItemBigItem갱신 전 거대 아이템
newItemBigItem갱신 후 거대 아이템
userIdstring사용자ID
acquireCountstring거대 아이템의 입수 수량
최대 1024자리까지의 정수값 문자열
구현 예제
-- Request
local namespace = args.namespace
local inventoryName = args.inventoryName
local itemName = args.itemName
local oldItem = args.oldItem
local newItem = args.newItem
local userId = args.userId
local acquireCount = args.acquireCount

-- 비동기 스크립트는 일반적으로 API 응답에 영향을 주지 않습니다.
-- 로그 출력이나 분석, 외부 알림 등에 사용됩니다.

result = {
}

bigItemConsume

동기 실행 스크립트

처리 전에, 스크립트가 동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
inventoryNamestring거대 인벤토리 모델명
이 인벤토리의 아이템 종류를 정의하는 거대 인벤토리 모델의 이름입니다. 사용자의 거대 인벤토리 인스턴스를 모델 정의에 연결합니다.
itemNamestring거대 아이템 모델 이름
이 레코드에 저장된 아이템의 종류를 정의하는 거대 아이템 모델의 이름입니다. 이 거대 아이템 소지품이 어떤 아이템 정의에 대응하는지 식별하는 데 사용됩니다.
itemBigItem거대 아이템
userIdstring사용자ID
consumeCountstring거대 아이템의 소비 수량
최대 1024자리까지의 정수값 문자열
Result
타입필수기본값값 제한설명
permitbool
거대 아이템 소비를 허용할지 여부
ratefloat1.00 ~ 1000소비량 배율
구현 예제
-- Request
local namespace = args.namespace
local inventoryName = args.inventoryName
local itemName = args.itemName
local item = args.item
local userId = args.userId
local consumeCount = args.consumeCount

-- Business logic:
local permit = true
local rate = 1.0

-- Result
result = {
  permit=permit,
  rate=rate
}

비동기 실행 스크립트

처리 후에, 스크립트가 비동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
inventoryNamestring거대 인벤토리 모델명
이 인벤토리의 아이템 종류를 정의하는 거대 인벤토리 모델의 이름입니다. 사용자의 거대 인벤토리 인스턴스를 모델 정의에 연결합니다.
itemNamestring거대 아이템 모델 이름
이 레코드에 저장된 아이템의 종류를 정의하는 거대 아이템 모델의 이름입니다. 이 거대 아이템 소지품이 어떤 아이템 정의에 대응하는지 식별하는 데 사용됩니다.
oldItemBigItem갱신 전 거대 아이템
newItemBigItem갱신 후 거대 아이템
userIdstring사용자ID
consumeCountstring거대 아이템의 소비 수량
최대 1024자리까지의 정수값 문자열
구현 예제
-- Request
local namespace = args.namespace
local inventoryName = args.inventoryName
local itemName = args.itemName
local oldItem = args.oldItem
local newItem = args.newItem
local userId = args.userId
local consumeCount = args.consumeCount

-- 비동기 스크립트는 일반적으로 API 응답에 영향을 주지 않습니다.
-- 로그 출력이나 분석, 외부 알림 등에 사용됩니다.

result = {
}