GS2-Formation Transaction Actions

Specification of verify/consume/acquire transaction actions

Consume Action

Gs2Formation:SubMoldCapacityByUserId

Subtract capacity size by specifying a user ID

Decreases the capacity of the form storage area (mold) for the specified user. The capacity will not go below 0.

Supports quantity specification: YES

Whether the action is reversible: YES

Type Condition Required Default Value Limits Description
namespaceName string
~ 128 chars Namespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userId string
~ 128 chars User ID
Specify #{userId} to substitute the currently logged-in user’s ID.
moldModelName string
~ 128 chars Form Storage Area Model name
Form Storage Area Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
capacity int
0 ~ 2147483646 Current Capacity
The number of form save slots currently available to this player for this mold. Initially set to the mold model’s initialMaxCapacity and can be expanded up to maxCapacity through capacity increase operations.
timeOffsetToken string ~ 1024 chars Time offset token
{
    "action": "Gs2Formation:SubMoldCapacityByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "moldModelName": "[string]Form Storage Area Model name",
        "capacity": "[int]Current Capacity",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Formation:SubMoldCapacityByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  moldModelName: "[string]Form Storage Area Model name"
  capacity: "[int]Current Capacity"
  timeOffsetToken: "[string]Time offset token"
transaction.service("formation").consume.sub_mold_capacity_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    moldModelName="[string]Form Storage Area Model name",
    capacity="[int]Current Capacity",
    timeOffsetToken="[string]Time offset token",
})

Acquire Action

Gs2Formation:AddMoldCapacityByUserId

Add capacity size by specifying a user ID

Increases the capacity of the form storage area (mold) for the specified user. The capacity cannot exceed the maxCapacity defined in the Mold Model.

Supports quantity specification: YES

Whether the action is reversible: YES

Type Condition Required Default Value Limits Description
namespaceName string
~ 128 chars Namespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userId string
~ 128 chars User ID
Specify #{userId} to substitute the currently logged-in user’s ID.
moldModelName string
~ 128 chars Form Storage Area Model name
Form Storage Area Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
capacity int
0 ~ 2147483646 Current Capacity
The number of form save slots currently available to this player for this mold. Initially set to the mold model’s initialMaxCapacity and can be expanded up to maxCapacity through capacity increase operations.
timeOffsetToken string ~ 1024 chars Time offset token
{
    "action": "Gs2Formation:AddMoldCapacityByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "moldModelName": "[string]Form Storage Area Model name",
        "capacity": "[int]Current Capacity",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Formation:AddMoldCapacityByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  moldModelName: "[string]Form Storage Area Model name"
  capacity: "[int]Current Capacity"
  timeOffsetToken: "[string]Time offset token"
transaction.service("formation").acquire.add_mold_capacity_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    moldModelName="[string]Form Storage Area Model name",
    capacity="[int]Current Capacity",
    timeOffsetToken="[string]Time offset token",
})

Gs2Formation:SetMoldCapacityByUserId

Set capacity size with specified user ID

Directly sets the capacity of the form storage area (mold) for the specified user to an exact value. Captures and returns the state before the update as ‘old’, in addition to the updated mold. The capacity is capped at the maxCapacity defined in the Mold Model.

Supports quantity specification: YES

Whether the action is reversible: NO

Type Condition Required Default Value Limits Description
namespaceName string
~ 128 chars Namespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userId string
~ 128 chars User ID
Specify #{userId} to substitute the currently logged-in user’s ID.
moldModelName string
~ 128 chars Form Storage Area Model name
Form Storage Area Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
capacity int
0 ~ 2147483646 Current Capacity
The number of form save slots currently available to this player for this mold. Initially set to the mold model’s initialMaxCapacity and can be expanded up to maxCapacity through capacity increase operations.
timeOffsetToken string ~ 1024 chars Time offset token
{
    "action": "Gs2Formation:SetMoldCapacityByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "moldModelName": "[string]Form Storage Area Model name",
        "capacity": "[int]Current Capacity",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Formation:SetMoldCapacityByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  moldModelName: "[string]Form Storage Area Model name"
  capacity: "[int]Current Capacity"
  timeOffsetToken: "[string]Time offset token"
transaction.service("formation").acquire.set_mold_capacity_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    moldModelName="[string]Form Storage Area Model name",
    capacity="[int]Current Capacity",
    timeOffsetToken="[string]Time offset token",
})

Gs2Formation:AcquireActionsToFormProperties

Apply acquire action to Form Properties by specifying a user ID

Applies an acquire action to the form’s slot properties and starts a transaction to execute it. This is used to grant items or resources to the slots of a form, with optional config parameters for customization. Returns a transaction for transaction processing.

Supports quantity specification: NO

Whether the action is reversible: NO

Type Condition Required Default Value Limits Description
namespaceName string
~ 128 chars Namespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userId string
~ 128 chars User ID
Specify #{userId} to substitute the currently logged-in user’s ID.
moldModelName string
~ 128 chars Form Storage Area Model name
index int
0 ~ 2147483646 Index of form
The zero-based index identifying which save slot this form occupies within the mold. The maximum index is limited by the mold’s current capacity. For example, index 0 might be “Party 1” and index 1 might be “Party 2”.
acquireAction AcquireAction
Get action to be applied to form properties
config List<Config> [] 0 ~ 1000 items List of Acquisition config
timeOffsetToken string ~ 1024 chars Time offset token
{
    "action": "Gs2Formation:AcquireActionsToFormProperties",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "moldModelName": "[string]Form Storage Area Model name",
        "index": "[int]Index of form",
        "acquireAction": {
            "action": "[string]Type of Acquire Action",
            "request": "[string]JSON string of the request used when executing the action"
        },
        "config": [
            {
                "key": "[string]Name",
                "value": "[string]Value"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Formation:AcquireActionsToFormProperties
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  moldModelName: "[string]Form Storage Area Model name"
  index: "[int]Index of form"
  acquireAction: 
    action: "[string]Type of Acquire Action"
    request: "[string]JSON string of the request used when executing the action"
  config: 
    - key: "[string]Name"
      value: "[string]Value"
  timeOffsetToken: "[string]Time offset token"
transaction.service("formation").acquire.acquire_actions_to_form_properties({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    moldModelName="[string]Form Storage Area Model name",
    index="[int]Index of form",
    acquireAction={
        action="[string]Type of Acquire Action",
        request="[string]JSON string of the request used when executing the action"
    },
    config={
        {
            key="[string]Name",
            value="[string]Value"
        }
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Formation:SetFormByUserId

Set form by specifying a user ID

Updates the slot values of a form for the specified user.

Supports quantity specification: NO

Whether the action is reversible: NO

Type Condition Required Default Value Limits Description
namespaceName string
~ 128 chars Namespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userId string
~ 128 chars User ID
Specify #{userId} to substitute the currently logged-in user’s ID.
moldModelName string
~ 128 chars Form Storage Area Model name
index int
0 ~ 2147483646 Index of form
The zero-based index identifying which save slot this form occupies within the mold. The maximum index is limited by the mold’s current capacity. For example, index 0 might be “Party 1” and index 1 might be “Party 2”.
slots List<Slot>
1 ~ 10 items List of Slots
timeOffsetToken string ~ 1024 chars Time offset token
{
    "action": "Gs2Formation:SetFormByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "moldModelName": "[string]Form Storage Area Model name",
        "index": "[int]Index of form",
        "slots": [
            {
                "name": "[string]Slot Model name",
                "propertyId": "[string]Property ID",
                "metadata": "[string]Metadata"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Formation:SetFormByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  moldModelName: "[string]Form Storage Area Model name"
  index: "[int]Index of form"
  slots: 
    - name: "[string]Slot Model name"
      propertyId: "[string]Property ID"
      metadata: "[string]Metadata"
  timeOffsetToken: "[string]Time offset token"
transaction.service("formation").acquire.set_form_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    moldModelName="[string]Form Storage Area Model name",
    index="[int]Index of form",
    slots={
        {
            name="[string]Slot Model name",
            propertyId="[string]Property ID",
            metadata="[string]Metadata"
        }
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Formation:AcquireActionsToPropertyFormProperties

Apply acquire action to property form properties

Applies an acquire action to the properties of a property form, initiating a transaction. This is used to grant items or resources that are then set as slot values in the property form. The acquire action is executed as a transaction, and the resulting items are applied to the form’s slot properties. Configuration values can be passed to customize the acquire action behavior.

Supports quantity specification: NO

Whether the action is reversible: NO

Type Condition Required Default Value Limits Description
namespaceName string
~ 128 chars Namespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userId string
~ 128 chars User ID
Specify #{userId} to substitute the currently logged-in user’s ID.
propertyFormModelName string
~ 128 chars Property Form Model name
propertyId string
~ 1024 chars Property ID
A developer-defined identifier that uniquely identifies this property form instance. Typically set to the GRN of the owned resource (e.g., a GS2-Inventory item set) that this form configures, such as setting skills on a specific piece of equipment.
acquireAction AcquireAction
Get action to be applied to form properties
config List<Config> [] 0 ~ 1000 items List of Acquisition config
timeOffsetToken string ~ 1024 chars Time offset token
{
    "action": "Gs2Formation:AcquireActionsToPropertyFormProperties",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "propertyFormModelName": "[string]Property Form Model name",
        "propertyId": "[string]Property ID",
        "acquireAction": {
            "action": "[string]Type of Acquire Action",
            "request": "[string]JSON string of the request used when executing the action"
        },
        "config": [
            {
                "key": "[string]Name",
                "value": "[string]Value"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Formation:AcquireActionsToPropertyFormProperties
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  propertyFormModelName: "[string]Property Form Model name"
  propertyId: "[string]Property ID"
  acquireAction: 
    action: "[string]Type of Acquire Action"
    request: "[string]JSON string of the request used when executing the action"
  config: 
    - key: "[string]Name"
      value: "[string]Value"
  timeOffsetToken: "[string]Time offset token"
transaction.service("formation").acquire.acquire_actions_to_property_form_properties({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    propertyFormModelName="[string]Property Form Model name",
    propertyId="[string]Property ID",
    acquireAction={
        action="[string]Type of Acquire Action",
        request="[string]JSON string of the request used when executing the action"
    },
    config={
        {
            key="[string]Name",
            value="[string]Value"
        }
    },
    timeOffsetToken="[string]Time offset token",
})