mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-24 06:34:09 +00:00
update docs
This commit is contained in:
parent
0b1e8c89dc
commit
7b73720143
586 changed files with 5616 additions and 1325 deletions
|
|
@ -483,7 +483,7 @@ methods:
|
|||
default:
|
||||
summary: ''
|
||||
returns:
|
||||
- type: Instance
|
||||
- type: Instance?
|
||||
summary: ''
|
||||
tags: []
|
||||
deprecation_message: ''
|
||||
|
|
@ -626,7 +626,7 @@ methods:
|
|||
default:
|
||||
summary: ''
|
||||
- name: target
|
||||
type: Instance
|
||||
type: Instance?
|
||||
default:
|
||||
summary: ''
|
||||
returns:
|
||||
|
|
|
|||
|
|
@ -120,23 +120,6 @@ properties:
|
|||
can_load: true
|
||||
can_save: true
|
||||
capabilities: []
|
||||
- name: AudioDeviceInput.MutedByLocalUser
|
||||
summary: ''
|
||||
description: ''
|
||||
code_samples: []
|
||||
type: boolean
|
||||
tags:
|
||||
- NotReplicated
|
||||
deprecation_message: ''
|
||||
security:
|
||||
read: RobloxScriptSecurity
|
||||
write: RobloxScriptSecurity
|
||||
thread_safety: ReadSafe
|
||||
category: Recording
|
||||
serialization:
|
||||
can_load: false
|
||||
can_save: false
|
||||
capabilities: []
|
||||
- name: AudioDeviceInput.Player
|
||||
summary: |
|
||||
Determines whose device is producing sound.
|
||||
|
|
|
|||
|
|
@ -122,23 +122,6 @@ properties:
|
|||
can_save: true
|
||||
capabilities:
|
||||
- Audio
|
||||
- name: AudioEmitter.PositionOverride
|
||||
summary: ''
|
||||
description: ''
|
||||
code_samples: []
|
||||
type: Instance
|
||||
tags: []
|
||||
deprecation_message: ''
|
||||
security:
|
||||
read: RobloxEngineSecurity
|
||||
write: RobloxEngineSecurity
|
||||
thread_safety: ReadSafe
|
||||
category: Data
|
||||
serialization:
|
||||
can_load: true
|
||||
can_save: true
|
||||
capabilities:
|
||||
- Audio
|
||||
- name: AudioEmitter.SimulationFidelity
|
||||
summary: |
|
||||
Controls how detailed the audio simulation should be for this
|
||||
|
|
|
|||
|
|
@ -121,23 +121,6 @@ properties:
|
|||
can_save: true
|
||||
capabilities:
|
||||
- Audio
|
||||
- name: AudioListener.PositionOverride
|
||||
summary: ''
|
||||
description: ''
|
||||
code_samples: []
|
||||
type: Instance
|
||||
tags: []
|
||||
deprecation_message: ''
|
||||
security:
|
||||
read: RobloxEngineSecurity
|
||||
write: RobloxEngineSecurity
|
||||
thread_safety: ReadSafe
|
||||
category: Data
|
||||
serialization:
|
||||
can_load: true
|
||||
can_save: true
|
||||
capabilities:
|
||||
- Audio
|
||||
- name: AudioListener.SimulationFidelity
|
||||
summary: |
|
||||
Controls how detailed the audio simulation should be for this
|
||||
|
|
|
|||
|
|
@ -129,23 +129,6 @@ properties:
|
|||
can_save: true
|
||||
capabilities:
|
||||
- Audio
|
||||
- name: AudioPlayer.IsMutedForCapture
|
||||
summary: ''
|
||||
description: ''
|
||||
code_samples: []
|
||||
type: boolean
|
||||
tags: []
|
||||
deprecation_message: ''
|
||||
security:
|
||||
read: RobloxScriptSecurity
|
||||
write: RobloxScriptSecurity
|
||||
thread_safety: ReadSafe
|
||||
category: Data
|
||||
serialization:
|
||||
can_load: true
|
||||
can_save: true
|
||||
capabilities:
|
||||
- Audio
|
||||
- name: AudioPlayer.IsPlaying
|
||||
summary: |
|
||||
Denotes whether this `Class.AudioPlayer` is currently playing.
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ properties: []
|
|||
methods:
|
||||
- name: AvatarCreationService:AutoSetupAvatarAsync
|
||||
summary: |
|
||||
Automatically sets up a custom `Class.Model` as an avatar asset.
|
||||
Automatically sets up a custom `Class.Model` and/or avatar accessories.
|
||||
description: |
|
||||
Automatically sets up a custom `Class.Model` as an avatar asset. This
|
||||
method returns a `string` generation ID which can be passed to
|
||||
|
|
@ -49,11 +49,12 @@ methods:
|
|||
default:
|
||||
summary: |
|
||||
The `Class.Player` that the avatar is being set up for.
|
||||
- name: model
|
||||
- name: autoSetupParams
|
||||
type: Dictionary
|
||||
default:
|
||||
summary: |
|
||||
The humanoid `Class.Model` that will be set up as an avatar.
|
||||
A table containing the arguments. Type:
|
||||
`type AutoSetupAccessory = { AccessoryType: Enum.AccessoryType, IsLayered: bool, Instance: Model, } type AutoSetupParams = { Body: Model?, Accessories: {AutoSetupAccessory}, }`
|
||||
- name: progressCallback
|
||||
type: Function?
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -32,6 +32,327 @@ description: |
|
|||
second to these `AvatarEditorService` endpoints, regardless of the number of
|
||||
servers or user count. Exceeding these limits returns a
|
||||
`429 Too Many Requests` error.
|
||||
|
||||
#### Item Details Response
|
||||
|
||||
The following methods return item data in a shared response format:
|
||||
|
||||
- `Class.AvatarEditorService:GetItemDetailsAsync()`
|
||||
- `Class.AvatarEditorService:GetBatchItemDetailsAsync()`
|
||||
- `Class.AvatarEditorService:SearchCatalogAsync()`
|
||||
|
||||
```lua
|
||||
{
|
||||
"Id": 0,
|
||||
"ItemType": "Asset",
|
||||
"AssetType": "Image",
|
||||
"BundleType": "BodyParts",
|
||||
"Name": "string",
|
||||
"Description": "string",
|
||||
"ProductId": 0,
|
||||
"ItemStatus": ["New"],
|
||||
"ItemRestrictions": ["Collectible"],
|
||||
|
||||
"BundledItems": [
|
||||
{
|
||||
"Id": 0,
|
||||
"Name": "string",
|
||||
"Type": "Asset",
|
||||
"AssetType": 29
|
||||
}
|
||||
],
|
||||
"IsRecolorable": false,
|
||||
|
||||
"CollectibleItemId": "string",
|
||||
"TotalQuantity": 0,
|
||||
"UnitsAvailableForConsumption": 0,
|
||||
"QuantityLimitPerUser": 0,
|
||||
"HasResellers": false,
|
||||
"OffSaleDeadline": null,
|
||||
|
||||
"Price": 0,
|
||||
"PremiumPricing": {
|
||||
"PremiumDiscountPercentage": 0,
|
||||
"PremiumPriceInRobux": 0
|
||||
},
|
||||
"LowestPrice": 0,
|
||||
"LowestResalePrice": 0,
|
||||
"PriceStatus": "string",
|
||||
"SaleLocationType": "ShopAndAllExperiences",
|
||||
"PurchaseCount": 0,
|
||||
"FavoriteCount": 0,
|
||||
|
||||
"CreatorType": "User",
|
||||
"CreatorTargetId": 0,
|
||||
"CreatorName": "string",
|
||||
"CreatorHasVerifiedBadge": false
|
||||
}
|
||||
```
|
||||
|
||||
##### Basic Information
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Id</code></td>
|
||||
<td>number</td>
|
||||
<td>The unique identifier of the item.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ItemType</code></td>
|
||||
<td>string</td>
|
||||
<td>The type of item: <code>"Asset"</code> or <code>"Bundle"</code>. Corresponds to <code>Enum.AvatarItemType</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>AssetType</code></td>
|
||||
<td>string</td>
|
||||
<td>The asset type. Corresponds to <code>Enum.AvatarAssetType</code> values (e.g., <code>"Hat"</code>, <code>"Shirt"</code>). Only present if <code>ItemType</code> is <code>"Asset"</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>BundleType</code></td>
|
||||
<td>string</td>
|
||||
<td>The bundle type. Corresponds to <code>Enum.BundleType</code> values (e.g., <code>"BodyParts"</code>, <code>"Animations"</code>). Only present if <code>ItemType</code> is <code>"Bundle"</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Name</code></td>
|
||||
<td>string</td>
|
||||
<td>The display name of the item.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Description</code></td>
|
||||
<td>string</td>
|
||||
<td>The item's description text.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ProductId</code></td>
|
||||
<td>number</td>
|
||||
<td>The product ID associated with this item.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ItemStatus</code></td>
|
||||
<td>array</td>
|
||||
<td>An array of status strings (e.g., <code>"New"</code>, <code>"Sale"</code>, <code>"XboxExclusive"</code>, <code>"AmazonExclusive"</code>).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ItemRestrictions</code></td>
|
||||
<td>array</td>
|
||||
<td>An array of restriction strings. See the <code>itemRestrictions</code> table below.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
##### Bundle Information
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>BundledItems</code></td>
|
||||
<td>array</td>
|
||||
<td>An array of items contained in the bundle. Only present if <code>ItemType</code> is <code>"Bundle"</code>. Each entry contains:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"></td>
|
||||
<td><code>Id</code>: The unique identifier of the bundled item.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"></td>
|
||||
<td><code>Name</code>: The display name of the bundled item.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"></td>
|
||||
<td><code>Type</code>: The type of the bundled item (e.g., <code>"Asset"</code>).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"></td>
|
||||
<td><code>AssetType</code>: The asset type as an integer. Corresponds to <code>Enum.AvatarAssetType</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"></td>
|
||||
<td><code>Owned</code>: Whether the bundled item is owned by the current user. Only present in <code>Class.AvatarEditorService:GetItemDetailsAsync()</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>IsRecolorable</code></td>
|
||||
<td>boolean</td>
|
||||
<td>Whether the bundle supports skin tone matching. Only applies to BodyParts and DynamicHead bundles.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
##### Collectible Information
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>CollectibleItemId</code></td>
|
||||
<td>string</td>
|
||||
<td>The unique item ID of the collectible.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TotalQuantity</code></td>
|
||||
<td>number</td>
|
||||
<td>The total quantity of the collectible available for purchase (not resale).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>UnitsAvailableForConsumption</code></td>
|
||||
<td>number</td>
|
||||
<td>The number of units available for purchase. Only applies to Limited items with remaining stock.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>QuantityLimitPerUser</code></td>
|
||||
<td>number</td>
|
||||
<td>Maximum number of the same collectible item a user can own.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>HasResellers</code></td>
|
||||
<td>boolean</td>
|
||||
<td><code>true</code> when item is a Limited collectible and there are copies available for resale.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>OffSaleDeadline</code></td>
|
||||
<td>string</td>
|
||||
<td>The date/time when the item goes off sale.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
##### Pricing and Sale Information
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Price</code></td>
|
||||
<td>number</td>
|
||||
<td>The price in Robux. <code>0</code> if free or not for sale.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PremiumPricing</code></td>
|
||||
<td>table</td>
|
||||
<td>Premium pricing information. Contains the following fields:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"></td>
|
||||
<td><code>PremiumDiscountPercentage</code>: The discount percentage for Premium members.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"></td>
|
||||
<td><code>PremiumPriceInRobux</code>: The discounted price in Robux for Premium members.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LowestPrice</code></td>
|
||||
<td>number</td>
|
||||
<td>The lowest resale price for Limited items.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LowestResalePrice</code></td>
|
||||
<td>number</td>
|
||||
<td>The lowest resale price for the collectible in Robux.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PriceStatus</code></td>
|
||||
<td>string</td>
|
||||
<td>The price status (e.g., <code>"Free"</code>, <code>"Off Sale"</code>, <code>"No Resellers"</code>).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>SaleLocationType</code></td>
|
||||
<td>string</td>
|
||||
<td>The type of sale location setting. See <code>SaleLocationType</code> values below.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PurchaseCount</code></td>
|
||||
<td>number</td>
|
||||
<td>The total number of times this item has been purchased.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FavoriteCount</code></td>
|
||||
<td>number</td>
|
||||
<td>The total number of users who have favorited this item.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
##### Creator Information
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>CreatorType</code></td>
|
||||
<td>string</td>
|
||||
<td>Either <code>User</code> or <code>Group</code>. See <code>Enum.CreatorType</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>CreatorTargetId</code></td>
|
||||
<td>number</td>
|
||||
<td>The ID of the creator user or group.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>CreatorName</code></td>
|
||||
<td>string</td>
|
||||
<td>The display name of the creator.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>CreatorHasVerifiedBadge</code></td>
|
||||
<td>boolean</td>
|
||||
<td>Boolean of whether the creator has a verified badge.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
##### SaleLocationType Values
|
||||
|
||||
| Value | Description |
|
||||
| :----------------------- | :------------------------------------------------------------------------------------- |
|
||||
| `NotApplicable` | Default value, should not occur in practice. |
|
||||
| `ShopOnly` | Item can only be purchased in the Roblox catalog shop. |
|
||||
| `MyExperiencesOnly` | Item can only be purchased in the creator's experiences. |
|
||||
| `ShopAndMyExperiences` | Item can be purchased in the Roblox catalog shop or the creator's experiences. |
|
||||
| `ExperiencesById` | Item can only be purchased in a specific list of experiences. |
|
||||
| `ShopAndAllExperiences` | Item can be purchased in the Roblox catalog shop and all experiences. |
|
||||
| `ExperiencesDevApiOnly` | Item can only be purchased in experiences via developer APIs. |
|
||||
| `ShopAndExperiencesById` | Item can be purchased in the Roblox catalog shop or a whitelisted list of experiences. |
|
||||
|
||||
##### itemRestrictions Values
|
||||
|
||||
| itemRestrictions | Limited or Unlimited |
|
||||
| :--------------: | :-------------------: |
|
||||
| `empty` | Unlimited |
|
||||
| `Collectible` | UGC Limited |
|
||||
| `Limited` | Roblox Limited |
|
||||
| `LimitedUnique` | Roblox Limited Unique |
|
||||
code_samples: []
|
||||
inherits:
|
||||
- Instance
|
||||
|
|
@ -241,8 +562,10 @@ methods:
|
|||
Gets the item details for a list of items at once.
|
||||
description: |
|
||||
Gets the item details for a list of items at once. More efficient than
|
||||
`AvatarEditorService:GetItemDetailsAsync` if you need to get all the item
|
||||
details of a list.
|
||||
`Class.AvatarEditorService:GetItemDetailsAsync()` if you need to get the
|
||||
item details for multiple items.
|
||||
|
||||
Returns an array of items (see Item Details Response above in summary).
|
||||
code_samples: []
|
||||
parameters:
|
||||
- name: itemIds
|
||||
|
|
@ -258,35 +581,7 @@ methods:
|
|||
returns:
|
||||
- type: Array
|
||||
summary: |
|
||||
Returns an array of item details with the following fields:
|
||||
|
||||
```lua
|
||||
{
|
||||
"AssetType" = "string",
|
||||
"CreatorName" = "string",
|
||||
"CreatorTargetId" = 0,
|
||||
"CreatorType" = "string",
|
||||
"Description" = "string",
|
||||
"FavoriteCount" = 0,
|
||||
"Genres" = [
|
||||
"All"
|
||||
],
|
||||
"Id" = 0,
|
||||
"ItemRestrictions" = [
|
||||
"Limited"
|
||||
],
|
||||
"ItemStatus": [
|
||||
"New"
|
||||
],
|
||||
"ItemType" = "string",
|
||||
"LowestPrice" = 0,
|
||||
"Name" = "string",
|
||||
"Price" = 0,
|
||||
"ProductId" = 0
|
||||
}
|
||||
```
|
||||
|
||||
.
|
||||
Returns an array of item details.
|
||||
tags:
|
||||
- Yields
|
||||
deprecation_message: ''
|
||||
|
|
@ -312,35 +607,9 @@ methods:
|
|||
returns:
|
||||
- type: Array
|
||||
summary: |
|
||||
Returns an array of item details with the following fields:
|
||||
|
||||
```lua
|
||||
{
|
||||
"AssetType" = "string",
|
||||
"CreatorName" = "string",
|
||||
"CreatorTargetId" = 0,
|
||||
"CreatorType" = "string",
|
||||
"Description" = "string",
|
||||
"FavoriteCount" = 0,
|
||||
"Genres" = [
|
||||
"All"
|
||||
],
|
||||
"Id" = 0,
|
||||
"ItemRestrictions" = [
|
||||
"Limited"
|
||||
],
|
||||
"ItemStatus": [
|
||||
"New"
|
||||
],
|
||||
"ItemType" = "string",
|
||||
"LowestPrice" = 0,
|
||||
"Name" = "string",
|
||||
"Price" = 0,
|
||||
"ProductId" = 0
|
||||
}
|
||||
```
|
||||
|
||||
.
|
||||
Returns an array of item details. See
|
||||
`Class.AvatarEditorService:GetBatchItemDetailsAsync()` for the
|
||||
response format.
|
||||
tags:
|
||||
- Yields
|
||||
- Deprecated
|
||||
|
|
@ -474,63 +743,41 @@ methods:
|
|||
parameters - the first indicating the ID of the item being retrieved and
|
||||
the second indicating its `Enum.AvatarItemType`.
|
||||
|
||||
Data returned in the format:
|
||||
The response includes all fields from Item Details Response (see above in
|
||||
summary), plus the following additional fields specific to single-item
|
||||
queries:
|
||||
|
||||
```lua
|
||||
{
|
||||
"IsForRent": true,
|
||||
"ExpectedSellerId": 0,
|
||||
"Owned": true,
|
||||
"IsPurchasable": true,
|
||||
"Id": 0,
|
||||
"ItemType": "Asset",
|
||||
"AssetType": "Image",
|
||||
"BundleType": "BodyParts",
|
||||
"Name": "string",
|
||||
"Description": "string",
|
||||
"ProductId": 0,
|
||||
"Genres": [
|
||||
"All"
|
||||
],
|
||||
"BundledItems": [
|
||||
{
|
||||
"Owned": true,
|
||||
"Id": 0,
|
||||
"Name": "string",
|
||||
"Type": "string"
|
||||
}
|
||||
],
|
||||
"ItemStatus": [
|
||||
"New"
|
||||
],
|
||||
"ItemRestrictions": [
|
||||
"ThirteenPlus"
|
||||
],
|
||||
"CreatorType": "User",
|
||||
"CreatorTargetId": 0,
|
||||
"CreatorName": "string",
|
||||
"Price": 0,
|
||||
"PremiumPricing": {
|
||||
"PremiumDiscountPercentage": 0,
|
||||
"PremiumPriceInRobux": 0
|
||||
},
|
||||
"LowestPrice": 0,
|
||||
"PriceStatus": "string",
|
||||
"UnitsAvailableForConsumption": 0,
|
||||
"PurchaseCount": 0,
|
||||
"FavoriteCount": 0
|
||||
}
|
||||
```
|
||||
|
||||
<br /> <br /> To query for limited or unlimited assets, use the following
|
||||
`itemRestrictions` values:
|
||||
|
||||
| itemRestrictions | Limited or Unlimited |
|
||||
| :--------------: | :-------------------: |
|
||||
| `empty` | Unlimited |
|
||||
| `Collectible` | UGC Limited |
|
||||
| `Limited` | Roblox Limited |
|
||||
| `LimitedUnique` | Roblox Limited Unique |
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Owned</code></td>
|
||||
<td>boolean</td>
|
||||
<td>Whether the item is owned by the current user.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>IsPurchasable</code></td>
|
||||
<td>boolean</td>
|
||||
<td>Whether the item can be purchased by the current user.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ExpectedSellerId</code></td>
|
||||
<td>number</td>
|
||||
<td>The user ID of the lowest private seller if resellable, or the creator's target ID otherwise. Used when calling purchase APIs.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>CreatingUniverseId</code></td>
|
||||
<td>number</td>
|
||||
<td>If this asset was created in an experience, this is the universe ID where it was created. <code>nil</code> if not an in-experience creation.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
code_samples: []
|
||||
parameters:
|
||||
- name: itemId
|
||||
|
|
@ -547,8 +794,7 @@ methods:
|
|||
returns:
|
||||
- type: Dictionary
|
||||
summary: |
|
||||
A table containing the item info for the retrieved item. See above for
|
||||
a sample table.
|
||||
A table containing the item info for the retrieved item.
|
||||
tags:
|
||||
- Yields
|
||||
deprecation_message: ''
|
||||
|
|
@ -781,12 +1027,12 @@ methods:
|
|||
"AssetId": 0,
|
||||
"Name": "string",
|
||||
"Price": 0,
|
||||
"PremiumPrice": 0,
|
||||
"PremiumPrice": 0
|
||||
},
|
||||
"Creator": {
|
||||
"CreatorId": 0,
|
||||
"CreatorType": "string",
|
||||
"Name": "string",
|
||||
"Name": "string"
|
||||
},
|
||||
"Product": {
|
||||
"Id": 0,
|
||||
|
|
@ -1139,51 +1385,8 @@ methods:
|
|||
This function returns a `Class.CatalogPages` object containing the result
|
||||
of the given search.
|
||||
|
||||
The returned data has the format:
|
||||
|
||||
```lua
|
||||
[
|
||||
{
|
||||
"Id": 0,
|
||||
"ItemType": "Asset",
|
||||
"AssetType": "Image",
|
||||
"BundleType": "BodyParts",
|
||||
"Name": "string",
|
||||
"Description": "string",
|
||||
"ProductId": 0,
|
||||
"Genres": [
|
||||
"All"
|
||||
],
|
||||
"BundledItems": [
|
||||
{
|
||||
"Owned": true,
|
||||
"Id": 0,
|
||||
"Name": "string",
|
||||
"Type": "string"
|
||||
}
|
||||
],
|
||||
"ItemStatus": [
|
||||
"New"
|
||||
],
|
||||
"ItemRestrictions": [
|
||||
"ThirteenPlus"
|
||||
],
|
||||
"CreatorType": "User",
|
||||
"CreatorTargetId": 0,
|
||||
"CreatorName": "string",
|
||||
"Price": 0,
|
||||
"PremiumPricing": {
|
||||
"PremiumDiscountPercentage": 0,
|
||||
"PremiumPriceInRobux": 0
|
||||
},
|
||||
"LowestPrice": 0,
|
||||
"PriceStatus": "string",
|
||||
"UnitsAvailableForConsumption": 0,
|
||||
"PurchaseCount": 0,
|
||||
"FavoriteCount": 0
|
||||
}
|
||||
]
|
||||
```
|
||||
Each item in the returned pages uses the Item Details Response format (see
|
||||
above in summary).
|
||||
code_samples: []
|
||||
parameters:
|
||||
- name: searchParameters
|
||||
|
|
@ -1193,7 +1396,8 @@ methods:
|
|||
An object containing the parameters used for the search.
|
||||
returns:
|
||||
- type: CatalogPages
|
||||
summary: ''
|
||||
summary: |
|
||||
A `Class.CatalogPages` object containing the search results.
|
||||
tags:
|
||||
- Yields
|
||||
deprecation_message: ''
|
||||
|
|
|
|||
|
|
@ -224,7 +224,7 @@ methods:
|
|||
An array of `Enum.CaptureType`.
|
||||
- name: readFromAllEligibleExperiences
|
||||
type: boolean
|
||||
default:
|
||||
default: false
|
||||
summary: |
|
||||
A boolean; default is `false`.
|
||||
returns:
|
||||
|
|
|
|||
|
|
@ -10,50 +10,9 @@ summary: |
|
|||
description: |
|
||||
`GenerationService` enables you to generate 3D objects from text prompts using
|
||||
Roblox's Cube 3D foundation model. This enables the generation of objects like
|
||||
environmental props in-experience.
|
||||
|
||||
You can control the output by providing an optional `Datatype.Vector3` to the
|
||||
`SuggestedSize` parameter. Rather than simply rescaling the result, this
|
||||
parameter guides the model during the creation process, influencing it to
|
||||
create a mesh that attempts to match the proportions and size of your
|
||||
specified bounding box.
|
||||
|
||||
Mesh generation is a two step process:
|
||||
|
||||
1. `Class.GenerationService:GenerateMeshAsync()|GenerateMeshAsync()` starts
|
||||
the mesh generation process using a text prompt and other required
|
||||
parameters. It returns a unique identifier (generation ID) that can be used
|
||||
to retrieve the future result.
|
||||
2. `Class.GenerationService:LoadGeneratedMeshAsync()|LoadGeneratedMeshAsync()`
|
||||
loads the generated mesh into the experience. The mesh is returned as a
|
||||
`Class.MeshPart` or `Class.Model`.
|
||||
|
||||
Currently, `GenerationService` only supports the following usage:
|
||||
|
||||
- `Class.GenerationService:GenerateMeshAsync()|GenerateMeshAsync()` must be
|
||||
called from server scripts.
|
||||
- `Class.GenerationService:LoadGeneratedMeshAsync()|LoadGeneratedMeshAsync()`
|
||||
must be called from client scripts.
|
||||
|
||||
As a result, when a mesh generation request originates from a client, the
|
||||
client must send a signal to the server to initiate generation. Once the
|
||||
server determines that generation is complete, it should notify the
|
||||
appropriate client to call
|
||||
`Class.GenerationService:LoadGeneratedMeshAsync()|LoadGeneratedMeshAsync()`
|
||||
and retrieve the mesh. Note that since the generated mesh is loaded with
|
||||
`Class.EditableMesh` content and only on the client, it is not replicated to
|
||||
any other clients.
|
||||
|
||||
See
|
||||
[this demo experience](https://www.roblox.com/games/108838517877898/SuggestedSize-Generation-Template)
|
||||
for a more detailed example including usage of the `SuggestedSize` option
|
||||
(click the **⋯** button and **Edit in Studio**).
|
||||
code_samples:
|
||||
- GenerationService-ServerSideMeshGeneration
|
||||
- GenerationService-ClientSideMeshGeneration
|
||||
- GenerationService-ServerSideMeshGeneration-WithSuggestedSize
|
||||
- GenerationService-ClientSideMeshGeneration-WithSuggestedSize
|
||||
- GenerationService-StarterPlayerScripts-WithSuggestedSize
|
||||
environmental props in-experience, as well as fully functional models like
|
||||
vehicles that drive, planes that fly, and weapons that shoot.
|
||||
code_samples: []
|
||||
inherits:
|
||||
- Instance
|
||||
descendants: []
|
||||
|
|
@ -69,16 +28,18 @@ methods:
|
|||
unique IDs used to track and retrieve the result.
|
||||
description: |
|
||||
Starts the generation of a new 3D mesh from a text prompt and returns
|
||||
unique IDs used to track and retrieve the result. You can optionally
|
||||
receive intermediate results, such as the untextured mesh, by providing an
|
||||
`intermediateResultCallback` function. After the generation is complete,
|
||||
use
|
||||
unique IDs used to track and retrieve the result. Must be called from
|
||||
server scripts. You can optionally receive intermediate results, such as
|
||||
the untextured mesh, by providing an `intermediateResultCallback`
|
||||
function.
|
||||
|
||||
After the generation is complete, use
|
||||
`Class.GenerationService:LoadGeneratedMeshAsync|LoadGeneratedMeshAsync()`
|
||||
to load and display the generated mesh.
|
||||
|
||||
**Error Codes**
|
||||
#### Error Codes
|
||||
|
||||
| Error | Description | Recommended developer action |
|
||||
| Error | Description | Recommended action |
|
||||
| ------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
|
||||
| Rate limit exceeded | The maximum number of mesh generations has been exceeded for the minute. | Wait until the rate limit resets. |
|
||||
| Moderation failed | The mesh generation was flagged for moderation. | Review and modify the prompt to ensure it adheres to Roblox's moderation guidelines. |
|
||||
|
|
@ -105,11 +66,11 @@ methods:
|
|||
default:
|
||||
summary: |
|
||||
A dictionary for additional generation options to influence the
|
||||
result. The following key is supported: - `SuggestedSize` — Optional
|
||||
`Datatype.Vector3` representing a size guide for the generated asset.
|
||||
The service will attempt to create a model with a size and proportion
|
||||
similar to the provided `Datatype.Vector3`. This does not guarantee
|
||||
the final output size.
|
||||
result. The optional `SuggestedSize` key (`Datatype.Vector3`)
|
||||
represents a size guide for the generated asset, meaning
|
||||
`GenerationService` will attempt to create a model with a size and
|
||||
proportion similar to the provided `Datatype.Vector3`, although there
|
||||
is no guarantee on the final output size.
|
||||
- name: intermediateResultCallback
|
||||
type: Function?
|
||||
default:
|
||||
|
|
@ -123,31 +84,70 @@ methods:
|
|||
of `GenerateMeshAsync()`) and context ID (not currently used).
|
||||
tags:
|
||||
- Yields
|
||||
deprecation_message: ''
|
||||
deprecation_message: |
|
||||
This method is scheduled for future deprecation. Explore
|
||||
`Class.GenerationService:GenerateModelAsync()|GenerateModelAsync()` as a
|
||||
newer method.
|
||||
security: None
|
||||
thread_safety: Unsafe
|
||||
capabilities:
|
||||
- DynamicGeneration
|
||||
- name: GenerationService:GenerateModelAsync
|
||||
summary: ''
|
||||
description: ''
|
||||
code_samples: []
|
||||
summary: |
|
||||
Enables generation of multi-mesh geometries according to provided `inputs`
|
||||
and a `schema`.
|
||||
description: |
|
||||
Enables generation of multi-mesh geometries according to provided `inputs`
|
||||
and a `schema`.
|
||||
|
||||
This method throws an error during the generation process for issues like
|
||||
prompt rejection, generation timeouts, `schema` mismatches, or backend
|
||||
service errors. It's recommended to wrap it in a
|
||||
`Global.LuaGlobals.pcall()` to catch such errors.
|
||||
|
||||
See [this guide](../../../parts/model-generation.md) for more detailed
|
||||
examples including usage of a `Behaviors` module to connect functional
|
||||
behaviors to generated models.
|
||||
code_samples:
|
||||
- GenerationService-Basic-Car5
|
||||
parameters:
|
||||
- name: inputs
|
||||
type: Dictionary
|
||||
default:
|
||||
summary: ''
|
||||
summary: |
|
||||
A table representing conditioning inputs with the following keys:
|
||||
|
||||
- `TextPrompt` — String description of the object to generate.
|
||||
- `Size` — Optional `Datatype.Vector3` describing the object size to
|
||||
generate. This is only approximate; scale the model extents
|
||||
post‑generation if you need a specific size.
|
||||
- `MaxTriangles` — Optional integer describing the maximum number of
|
||||
triangles that the returned model will contain. Lower values result
|
||||
in more faceted and low-poly generations.
|
||||
- `GenerateTextures` — `true` (default) textures the resulting
|
||||
generation, while `false` will not generate textures.
|
||||
- name: schema
|
||||
type: Dictionary
|
||||
default:
|
||||
summary: ''
|
||||
summary: |
|
||||
Table representing the generation schema. Must contain a
|
||||
`PredefinedSchema` key with a string value; current valid options are
|
||||
`Car5` for a basic vehicle chassis consisting of five
|
||||
`Class.Model|Models`, or `Body1` which results in a single mesh
|
||||
output.
|
||||
- name: options
|
||||
type: Dictionary?
|
||||
default:
|
||||
summary: ''
|
||||
summary: |
|
||||
Currently not used; reserved for future customization options.
|
||||
returns:
|
||||
- type: Tuple
|
||||
summary: ''
|
||||
summary: |
|
||||
Tuple with the following elements:
|
||||
|
||||
- A standard `Class.Model` container instance that is compliant with
|
||||
the specified `schema`.
|
||||
- A table containing a UUID and other metadata about the generation.
|
||||
tags:
|
||||
- Yields
|
||||
deprecation_message: ''
|
||||
|
|
@ -163,10 +163,11 @@ methods:
|
|||
description: |
|
||||
Retrieves and loads a mesh generated by
|
||||
`Class.GenerationService:GenerateMeshAsync()|GenerateMeshAsync()` using
|
||||
the provided `generationId`. The mesh can be returned as a
|
||||
`Class.MeshPart` or `Class.Model`. Because editable meshes are not
|
||||
replicated, the loaded mesh is not replicated to any other clients and can
|
||||
only be loaded once per `generationId`.
|
||||
the provided `generationId`. Must be called from client scripts.
|
||||
|
||||
The mesh can be returned as a `Class.MeshPart` or `Class.Model`. Because
|
||||
editable meshes are not replicated, the loaded mesh is not replicated to
|
||||
any other clients and can only be loaded once per `generationId`.
|
||||
code_samples: []
|
||||
parameters:
|
||||
- name: generationId
|
||||
|
|
|
|||
|
|
@ -300,8 +300,9 @@ methods:
|
|||
JSON. This may cause problems if you want to use the outputted JSON
|
||||
elsewhere.
|
||||
|
||||
This method also accepts `Library.buffer|buffers`, which it encodes to
|
||||
base64 (and often compresses) before converting to a JSON object.
|
||||
This method also accepts `Library.buffer|buffers` up to 50 MiB, which it
|
||||
encodes to base64 (and often compresses) before converting to a JSON
|
||||
object.
|
||||
|
||||
To reverse the encoding process and decode a JSON object, use the
|
||||
`Class.HttpService:JSONDecode()` method.
|
||||
|
|
@ -430,6 +431,12 @@ methods:
|
|||
<td>no</td>
|
||||
<td>An optional compression field that will compress the data in the request. The value can either be <code>Enum.HttpCompression.None</code> or <code>Enum.HttpCompression.Gzip</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Timeout</code></td>
|
||||
<td><code>Integer</code></td>
|
||||
<td>no</td>
|
||||
<td>An optional timeout value in seconds to make requests time out more quickly. Values must be greater than zero and no greater than the default request timeout. This can be useful when debugging hanging requests.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,9 +5,8 @@
|
|||
name: InputBinding
|
||||
type: class
|
||||
memory_category: Instances
|
||||
summary: |
|
||||
Defines which hardware binding should trigger the parent `Class.InputAction`.
|
||||
description: |
|
||||
summary: Defines which hardware binding should trigger the parent `Class.InputAction`.
|
||||
description: |-
|
||||
An `InputBinding` defines which hardware binding should trigger the parent
|
||||
`Class.InputAction`, for example a key press, gamepad button, or tap on a
|
||||
touch‑enabled device. There can be multiple `InputBinding` instances parented
|
||||
|
|
@ -20,10 +19,10 @@ tags: []
|
|||
deprecation_message: ''
|
||||
properties:
|
||||
- name: InputBinding.Backward
|
||||
summary: |
|
||||
summary: |-
|
||||
Specifies an alternate `Enum.KeyCode` for dispatching directionally
|
||||
"backward" inputs to the parent `Class.InputAction`.
|
||||
description: |
|
||||
description: |-
|
||||
Specifies an alternate `Enum.KeyCode` for dispatching directionally
|
||||
"backward" inputs to `Class.InputAction:GetState()|GetState()` and the
|
||||
`Class.InputAction.StateChanged|StateChanged` event of the parent
|
||||
|
|
@ -46,10 +45,10 @@ properties:
|
|||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.Down
|
||||
summary: |
|
||||
summary: |-
|
||||
Specifies an alternate `Enum.KeyCode` for dispatching directionally "down"
|
||||
inputs to the parent `Class.InputAction`.
|
||||
description: |
|
||||
description: |-
|
||||
Specifies an alternate `Enum.KeyCode` for dispatching directionally "down"
|
||||
inputs to `Class.InputAction:GetState()|GetState()` and the
|
||||
`Class.InputAction.StateChanged|StateChanged` event of the parent
|
||||
|
|
@ -86,10 +85,10 @@ properties:
|
|||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.Forward
|
||||
summary: |
|
||||
summary: |-
|
||||
Specifies an alternate `Enum.KeyCode` for dispatching directionally
|
||||
"forward" inputs to the parent `Class.InputAction`.
|
||||
description: |
|
||||
description: |-
|
||||
Specifies an alternate `Enum.KeyCode` for dispatching directionally
|
||||
"forward" inputs to `Class.InputAction:GetState()|GetState()` and the
|
||||
`Class.InputAction.StateChanged|StateChanged` event of the parent
|
||||
|
|
@ -112,10 +111,10 @@ properties:
|
|||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.KeyCode
|
||||
summary: |
|
||||
summary: |-
|
||||
Specifies the `Enum.KeyCode` which triggers the parent
|
||||
`Class.InputAction`.
|
||||
description: |
|
||||
description: |-
|
||||
Specifies the `Enum.KeyCode` which triggers the parent
|
||||
`Class.InputAction`. The code type should match the input action's
|
||||
`Class.InputAction.Type|Type`, for example `Enum.KeyCode.E` for an action
|
||||
|
|
@ -139,10 +138,10 @@ properties:
|
|||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.Left
|
||||
summary: |
|
||||
summary: |-
|
||||
Specifies an alternate `Enum.KeyCode` for dispatching directionally "left"
|
||||
inputs to the parent `Class.InputAction`.
|
||||
description: |
|
||||
description: |-
|
||||
Specifies an alternate `Enum.KeyCode` for dispatching directionally "left"
|
||||
inputs to `Class.InputAction:GetState()|GetState()` and the
|
||||
`Class.InputAction.StateChanged|StateChanged` event of the parent
|
||||
|
|
@ -175,10 +174,10 @@ properties:
|
|||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.PressedThreshold
|
||||
summary: |
|
||||
summary: |-
|
||||
Numerical value above which to fire an `Class.InputAction` with a
|
||||
`Class.InputAction.Type|Type` of `Enum.InputActionType|Bool`.
|
||||
description: |
|
||||
description: |-
|
||||
Numerical value above which to fire an `Class.InputAction` with a
|
||||
`Class.InputAction.Type|Type` of `Enum.InputActionType|Bool`, for example
|
||||
when a gamepad trigger such as `Enum.KeyCode.ButtonL2` exceeds `0.5`
|
||||
|
|
@ -201,11 +200,37 @@ properties:
|
|||
can_save: true
|
||||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.PrimaryModifier
|
||||
summary: Specifies a primary `Enum.KeyCode` that must be pressed for the binding to activate.
|
||||
description: |-
|
||||
Specifies a `Enum.KeyCode` that serves as a required modifier for the binding. The `Class.InputBinding`
|
||||
will only trigger the parent `Class.InputAction` if this input is pressed prior to
|
||||
`Class.InputBinding.KeyCode|KeyCode`, `Class.InputBinding.UIButton|UIButton`, or composite directions.
|
||||
|
||||
There is no ordering requirement between `Class.InputBinding.PrimaryModifier|PrimaryModifier` and
|
||||
`Class.InputBinding.SecondaryModifier|SecondaryModifier`. If both properties are set, both modifiers
|
||||
must be pressed to activate the binding, but the order in which they are pressed does not matter.
|
||||
|
||||
If set to `Enum.KeyCode.Unknown`, no primary modifier is required.
|
||||
code_samples: []
|
||||
type: KeyCode
|
||||
tags: []
|
||||
deprecation_message: ''
|
||||
security:
|
||||
read: None
|
||||
write: None
|
||||
thread_safety: ReadSafe
|
||||
category: Behavior
|
||||
serialization:
|
||||
can_load: true
|
||||
can_save: true
|
||||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.ReleasedThreshold
|
||||
summary: |
|
||||
summary: |-
|
||||
Numerical value below which to fire an `Class.InputAction` with a
|
||||
`Class.InputAction.Type|Type` of `Enum.InputActionType|Bool`.
|
||||
description: |
|
||||
description: |-
|
||||
Numerical value below which to fire an `Class.InputAction` with a
|
||||
`Class.InputAction.Type|Type` of `Enum.InputActionType|Bool`, for example
|
||||
when a gamepad trigger such as `Enum.KeyCode.ButtonL2` falls below `0.5`
|
||||
|
|
@ -229,22 +254,18 @@ properties:
|
|||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.ResponseCurve
|
||||
summary: |
|
||||
Numerical value to configure scaling for more precise thumbstick aiming.
|
||||
description: |
|
||||
A numerical value to control the sensitivity of gamepad thumbstick input
|
||||
by applying a quadratic response curve. Commonly used for camera control
|
||||
to make small thumbstick inputs more precise, while ramping up quickly to
|
||||
allow for large movements with higher magnitude input.
|
||||
summary: Numerical value to configure scaling for more precise thumbstick aiming.
|
||||
description: |-
|
||||
A numerical value to control the sensitivity of gamepad thumbstick input by applying
|
||||
a quadratic response curve. Commonly used for camera control to make small thumbstick inputs more
|
||||
precise, while ramping up quickly to allow for large movements with higher magnitude input.
|
||||
|
||||
Ranges between `1` to `10`, with higher values providing a more intense
|
||||
curve. Default is `1`, at which input is returned exactly as received.
|
||||
Ranges between `1` to `10`, with higher values providing a more intense curve.
|
||||
Default is `1`, at which input is returned exactly as received.
|
||||
|
||||
Only applicable when the parent action's `Class.InputAction.Type|Type` is
|
||||
`Enum.InputActionType|Direction2D` and the
|
||||
`Class.InputBinding.KeyCode|KeyCode` is
|
||||
`Enum.KeyCode.Thumbstick1|Thumbstick1` or
|
||||
`Enum.KeyCode.Thumbstick2|Thumbstick2`.
|
||||
`Enum.InputActionType|Direction2D` and the `Class.InputBinding.KeyCode|KeyCode`
|
||||
is `Enum.KeyCode.Thumbstick1|Thumbstick1` or `Enum.KeyCode.Thumbstick2|Thumbstick2`.
|
||||
code_samples: []
|
||||
type: float
|
||||
tags: []
|
||||
|
|
@ -260,10 +281,10 @@ properties:
|
|||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.Right
|
||||
summary: |
|
||||
summary: |-
|
||||
Specifies an alternate `Enum.KeyCode` for dispatching directionally
|
||||
"right" inputs to the parent `Class.InputAction`.
|
||||
description: |
|
||||
description: |-
|
||||
Specifies an alternate `Enum.KeyCode` for dispatching directionally
|
||||
"right" inputs to `Class.InputAction:GetState()|GetState()` and the
|
||||
`Class.InputAction.StateChanged|StateChanged` event of the parent
|
||||
|
|
@ -296,10 +317,10 @@ properties:
|
|||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.Scale
|
||||
summary: |
|
||||
summary: |-
|
||||
Amount by which to linearly scale the values of a directional
|
||||
`Class.InputAction`.
|
||||
description: |
|
||||
description: |-
|
||||
Amount by which to linearly scale the values of an `Class.InputAction`
|
||||
with `Class.InputAction.Type|Type` of `Enum.InputActionType|Direction1D`,
|
||||
`Enum.InputActionType|Direction2D`, or `Enum.InputActionType|Direction3D`.
|
||||
|
|
@ -317,11 +338,35 @@ properties:
|
|||
can_save: true
|
||||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.SecondaryModifier
|
||||
summary: Specifies a secondary `Enum.KeyCode` that must be pressed for the binding to activate.
|
||||
description: |-
|
||||
Specifies a `Enum.KeyCode` that serves as a required modifier for the binding. The `Class.InputBinding`
|
||||
will only trigger the parent `Class.InputAction` if this input is pressed prior to
|
||||
`Class.InputBinding.KeyCode|KeyCode`, `Class.InputBinding.UIButton|UIButton`, or composite directions.
|
||||
|
||||
There is no ordering requirement between `Class.InputBinding.PrimaryModifier|PrimaryModifier` and
|
||||
`Class.InputBinding.SecondaryModifier|SecondaryModifier`. If both properties are set, both modifiers
|
||||
must be pressed to activate the binding, but the order in which they are pressed does not matter.
|
||||
|
||||
If set to `Enum.KeyCode.Unknown`, no secondary modifier is required.
|
||||
code_samples: []
|
||||
type: KeyCode
|
||||
tags: []
|
||||
deprecation_message: ''
|
||||
security:
|
||||
read: None
|
||||
write: None
|
||||
thread_safety: ReadSafe
|
||||
category: Behavior
|
||||
serialization:
|
||||
can_load: true
|
||||
can_save: true
|
||||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.UIButton
|
||||
summary: |
|
||||
Connects a `Class.GuiButton` to a boolean action.
|
||||
description: |
|
||||
`Class.GuiButton` to connect to a boolean action.
|
||||
summary: Connects a `Class.GuiButton` to a boolean action.
|
||||
description: '`Class.GuiButton` to connect to a boolean action.'
|
||||
code_samples: []
|
||||
type: GuiButton
|
||||
tags: []
|
||||
|
|
@ -337,10 +382,10 @@ properties:
|
|||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.Up
|
||||
summary: |
|
||||
summary: |-
|
||||
Specifies an alternate `Enum.KeyCode` for dispatching directionally "up"
|
||||
inputs to the parent `Class.InputAction`.
|
||||
description: |
|
||||
description: |-
|
||||
Specifies an alternate `Enum.KeyCode` for dispatching directionally "up"
|
||||
inputs to `Class.InputAction:GetState()|GetState()` and the
|
||||
`Class.InputAction.StateChanged|StateChanged` event of the parent
|
||||
|
|
@ -377,10 +422,10 @@ properties:
|
|||
capabilities:
|
||||
- Input
|
||||
- name: InputBinding.Vector2Scale
|
||||
summary: |
|
||||
summary: |-
|
||||
Amount by which to linearly scale the values of a two-directional
|
||||
`Class.InputAction`.
|
||||
description: |
|
||||
description: |-
|
||||
Amount by which to linearly scale the values of an `Class.InputAction`
|
||||
with `Class.InputAction.Type|Type` of `Enum.InputActionType|Direction2D`.
|
||||
code_samples: []
|
||||
|
|
|
|||
|
|
@ -920,7 +920,7 @@ methods:
|
|||
summary: |
|
||||
The `Class.Instance.Name` to be looked for.
|
||||
returns:
|
||||
- type: Instance
|
||||
- type: Instance?
|
||||
summary: |
|
||||
The `Class.Instance` found.
|
||||
tags: []
|
||||
|
|
@ -960,7 +960,7 @@ methods:
|
|||
summary: |
|
||||
The `Class.Object.ClassName` to be looked for.
|
||||
returns:
|
||||
- type: Instance
|
||||
- type: Instance?
|
||||
summary: |
|
||||
The `Class.Instance` found.
|
||||
tags: []
|
||||
|
|
@ -1006,7 +1006,7 @@ methods:
|
|||
summary: |
|
||||
The `Class.Object.ClassName` to be looked for.
|
||||
returns:
|
||||
- type: Instance
|
||||
- type: Instance?
|
||||
summary: |
|
||||
The `Class.Instance` found.
|
||||
tags: []
|
||||
|
|
@ -1095,7 +1095,7 @@ methods:
|
|||
summary: |
|
||||
Whether or not the search should be conducted recursively.
|
||||
returns:
|
||||
- type: Instance
|
||||
- type: Instance?
|
||||
summary: |
|
||||
The `Class.Instance` found.
|
||||
tags: []
|
||||
|
|
@ -1146,7 +1146,7 @@ methods:
|
|||
summary: |
|
||||
The `Class.Object.ClassName` to be looked for.
|
||||
returns:
|
||||
- type: Instance
|
||||
- type: Instance?
|
||||
summary: |
|
||||
The `Class.Instance` found.
|
||||
tags: []
|
||||
|
|
@ -1198,7 +1198,7 @@ methods:
|
|||
summary: |
|
||||
Whether or not the search should be conducted recursively.
|
||||
returns:
|
||||
- type: Instance
|
||||
- type: Instance?
|
||||
summary: |
|
||||
The `Class.Instance` found.
|
||||
tags: []
|
||||
|
|
@ -1223,7 +1223,7 @@ methods:
|
|||
summary: |
|
||||
The `Class.Instance.Name` to search for.
|
||||
returns:
|
||||
- type: Instance
|
||||
- type: Instance?
|
||||
summary: |
|
||||
The `Class.Instance` found.
|
||||
tags: []
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ methods:
|
|||
summary: |
|
||||
The absolute path to the file.
|
||||
returns:
|
||||
- type: Instance
|
||||
- type: Instance?
|
||||
summary: |
|
||||
Returns the Instance being synced to the file path, if one exists.
|
||||
Otherwise, returns nil.
|
||||
|
|
|
|||
|
|
@ -1260,7 +1260,7 @@ methods:
|
|||
- Deprecated
|
||||
deprecation_message: |
|
||||
This method has been superseded by
|
||||
`Class.Player.GetFriendsOnline|GetFriendsOnline()`.
|
||||
`Class.Player:GetFriendsOnlineAsync()|GetFriendsOnlineAsync()`.
|
||||
security: None
|
||||
thread_safety: Unsafe
|
||||
capabilities:
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ description: |
|
|||
`ReflectionService` allows scripts to query the engine for details about its
|
||||
API, including required security permissions, functionality, and inheritance
|
||||
structure. You can use this service to dynamically inspect classes and their
|
||||
properties, which can be useful for debugging, tooling, or creating dynamic
|
||||
behaviors based on the engine's capabilities.
|
||||
properties, methods, and events, which can be useful for debugging, tooling,
|
||||
or creating dynamic behaviors based on the engine's capabilities.
|
||||
|
||||
The following is an example script that inspects classes and their properties:
|
||||
|
||||
|
|
@ -65,11 +65,11 @@ methods:
|
|||
|
||||
```lua
|
||||
{
|
||||
-- The security context to use. Can be more expansive than the current script's security.
|
||||
-- The security context to use; can be more expansive than the current script's security
|
||||
Security: SecurityCapabilities?, -- default: SecurityCapabilities.fromCurrent()
|
||||
-- Require classes to derive from the passed-in class name.
|
||||
-- Require classes to derive from the passed-in class name
|
||||
IsA: string?, -- default: nil
|
||||
-- Whether to exclude Studio display information about the class.
|
||||
-- Whether to exclude Studio display information about the class
|
||||
ExcludeDisplay: boolean?, -- default: false
|
||||
}
|
||||
```
|
||||
|
|
@ -79,24 +79,26 @@ methods:
|
|||
|
||||
```lua
|
||||
{
|
||||
-- The name of the class.
|
||||
-- The name of the class
|
||||
Name: string,
|
||||
-- The class's parent in the instance hierarchy (unless it's the root).
|
||||
-- Whether the class is serialized (able to be saved to disk)
|
||||
Serialized: boolean,
|
||||
-- The class's parent in the instance hierarchy (unless it's the root)
|
||||
Superclass: string?,
|
||||
-- The names of the class's direct children in the instance hierarchy.
|
||||
-- The names of the class's direct children in the instance hierarchy
|
||||
Subclasses: {string},
|
||||
-- Studio display information.
|
||||
-- Studio display information
|
||||
Display: {
|
||||
-- Always "General" for classes.
|
||||
-- Always "General" for classes
|
||||
Category: string,
|
||||
-- A message indicating that the class is deprecated, if applicable.
|
||||
-- A message indicating that the class is deprecated, if applicable
|
||||
DeprecationMessage: string?,
|
||||
}?,
|
||||
-- The security permissions required to access this class.
|
||||
-- The security permissions required to access this class
|
||||
Permits: {
|
||||
-- If the class is a Service, the security capabilities required to obtain access. If not applicable, this field isn't present.
|
||||
-- If the class is a Service, the security capabilities required to obtain access. If not applicable, this field isn't present
|
||||
GetService: SecurityCapabilities?,
|
||||
-- The security capabilities required to create an instance of this class. If not possible, this field isn't present.
|
||||
-- The security capabilities required to create an instance of this class. If not possible, this field isn't present
|
||||
New: SecurityCapabilities?,
|
||||
}
|
||||
}
|
||||
|
|
@ -137,11 +139,11 @@ methods:
|
|||
|
||||
```lua
|
||||
{
|
||||
-- The security context to use. Can be more expansive than the current script's security.
|
||||
-- The security context to use; can be more expansive than the current script's security
|
||||
Security: SecurityCapabilities?, -- default: SecurityCapabilities.fromCurrent()
|
||||
-- Require classes to derive from the passed-in class name.
|
||||
-- Require classes to derive from the passed-in class name
|
||||
IsA: string?, -- default: nil
|
||||
-- Whether to exclude Studio display information about the classes.
|
||||
-- Whether to exclude Studio display information about the classes
|
||||
ExcludeDisplay: boolean?, -- default: false
|
||||
}
|
||||
```
|
||||
|
|
@ -182,11 +184,11 @@ methods:
|
|||
|
||||
```lua
|
||||
{
|
||||
-- The security context to use. Can be more expansive than the current script's security.
|
||||
-- The security context to use; can be more expansive than the current script's security
|
||||
Security: SecurityCapabilities?, -- default: SecurityCapabilities.fromCurrent()
|
||||
-- Whether to exclude inherited properties from superclasses.
|
||||
-- Whether to exclude inherited properties from superclasses
|
||||
ExcludeInherited: boolean?, -- default: false
|
||||
-- Whether to exclude Studio display information about the properties.
|
||||
-- Whether to exclude Studio display information about the properties
|
||||
ExcludeDisplay: boolean?, -- default: false
|
||||
}
|
||||
```
|
||||
|
|
@ -197,32 +199,32 @@ methods:
|
|||
|
||||
```lua
|
||||
{
|
||||
-- The name of the property.
|
||||
-- The name of the property
|
||||
Name: string,
|
||||
-- Whether the property is serialized (able to be saved to disk or sent over the network).
|
||||
-- The superclass from which the property is inherited, or the class name if not inherited
|
||||
Owner: string,
|
||||
-- Whether the property is serialized (able to be saved to disk or sent over the network)
|
||||
Serialized: boolean,
|
||||
-- The type of the property.
|
||||
-- The type of the property
|
||||
Type: ReflectionType,
|
||||
-- The content type of the property, if applicable.
|
||||
-- The content type of the property, if applicable
|
||||
ContentType: Enum.AssetType?,
|
||||
-- Studio display information.
|
||||
-- Studio display information
|
||||
Display: {
|
||||
-- The category under which the property is listed in Studio.
|
||||
-- The category under which the property is listed in Studio
|
||||
Category: string,
|
||||
-- A message indicating that the property is deprecated, if applicable.
|
||||
-- A message indicating that the property is deprecated, if applicable
|
||||
DeprecationMessage: string?,
|
||||
-- The order in which the property appears in Studio.
|
||||
LayoutOrder: number,
|
||||
}?,
|
||||
-- The security permissions required to access this property.
|
||||
-- The security permissions required to access this property
|
||||
Permits: {
|
||||
-- The security context required to read this property.
|
||||
-- The security context required to read this property
|
||||
Read: SecurityCapabilities?,
|
||||
-- The security context required to read this property while thread-safe.
|
||||
-- The security context required to read this property while thread-safe
|
||||
ReadParallel: SecurityCapabilities?,
|
||||
-- The security context required to write to this property.
|
||||
-- The security context required to write to this property
|
||||
Write: SecurityCapabilities?,
|
||||
-- The security context required to write to this property while thread-safe.
|
||||
-- The security context required to write to this property while thread-safe
|
||||
WriteParallel: SecurityCapabilities?,
|
||||
},
|
||||
}
|
||||
|
|
@ -251,5 +253,167 @@ methods:
|
|||
security: None
|
||||
thread_safety: Unsafe
|
||||
capabilities: []
|
||||
- name: ReflectionService:GetMethodsOfClass
|
||||
summary: |
|
||||
Returns a list of methods for a given class with filters applied.
|
||||
description: |
|
||||
Given a class name in the Roblox API, returns a list of `ReflectedMethod`
|
||||
dictionaries for all methods of that class that match the provided filter
|
||||
criteria. If no such class name exists, returns `nil`.
|
||||
|
||||
If you pass in a `ReflectionMemberFilter` dictionary, you can adjust the
|
||||
set of eligible methods and adjust the output behavior:
|
||||
|
||||
```lua
|
||||
{
|
||||
-- The security context to use; can be more expansive than the current script's security
|
||||
Security: SecurityCapabilities?, -- default: SecurityCapabilities.fromCurrent()
|
||||
-- Whether to exclude inherited methods from superclasses
|
||||
ExcludeInherited: boolean?, -- default: false
|
||||
-- Whether to exclude Studio display information about the methods
|
||||
ExcludeDisplay: boolean?, -- default: false
|
||||
}
|
||||
```
|
||||
|
||||
If the class name is valid and that class has methods, you'll get a list
|
||||
of `ReflectedMethod` dictionaries as output, each with the following
|
||||
structure:
|
||||
|
||||
```lua
|
||||
{
|
||||
-- The name of the method
|
||||
Name: string,
|
||||
-- The superclass from which the property is inherited, or the class name if not inherited
|
||||
Owner: string,
|
||||
-- A list of all parameters the method takes
|
||||
Parameters: {
|
||||
{
|
||||
-- The name of the parameter
|
||||
Name: string,
|
||||
-- The type of the parameter
|
||||
Type: ReflectionType,
|
||||
-- The default value of the parameter, if it has one
|
||||
DefaultValue: any?,
|
||||
}
|
||||
},
|
||||
-- The return type of the method; "void" if none
|
||||
ReturnType: ReflectionType,
|
||||
-- Whether the method is yielding
|
||||
CanYield: boolean,
|
||||
-- Studio display information
|
||||
Display: {
|
||||
-- A message indicating that the method is deprecated, if applicable
|
||||
DeprecationMessage: string?,
|
||||
}?,
|
||||
-- The security permissions required to access this method
|
||||
Permits: {
|
||||
-- The security permissions required to call the method in a single-threaded context
|
||||
Call: SecurityCapabilities?,
|
||||
-- The security permissions required to call the method in a parallel context
|
||||
CallParallel: SecurityCapabilities?,
|
||||
},
|
||||
}
|
||||
```
|
||||
code_samples: []
|
||||
parameters:
|
||||
- name: className
|
||||
type: string
|
||||
default:
|
||||
summary: |
|
||||
The name of the class for which you wish to retrieve methods.
|
||||
- name: filter
|
||||
type: Dictionary
|
||||
default: nil
|
||||
summary: |
|
||||
An optional filter to restrict or expand the set of methods that this
|
||||
method can return and change the method's behavior.
|
||||
returns:
|
||||
- type: Array
|
||||
summary: |
|
||||
A list of `ReflectedMethod` dictionaries with reflection information
|
||||
for each method of the class that matches the filter criteria.
|
||||
tags:
|
||||
- CustomLuaState
|
||||
deprecation_message: ''
|
||||
security: None
|
||||
thread_safety: Unsafe
|
||||
capabilities: []
|
||||
- name: ReflectionService:GetEventsOfClass
|
||||
summary: |
|
||||
Returns a list of events for a given class with filters applied.
|
||||
description: |
|
||||
Given a class name in the Roblox API, returns a list of `ReflectedEvent`
|
||||
dictionaries for all events of that class that match the provided filter
|
||||
criteria. If no such class name exists, returns `nil`.
|
||||
|
||||
If you pass in a `ReflectionMemberFilter` dictionary, you can adjust the
|
||||
set of eligible events and adjust the output behavior:
|
||||
|
||||
```lua
|
||||
{
|
||||
-- The security context to use; can be more expansive than the current script's security
|
||||
Security: SecurityCapabilities?, -- default: SecurityCapabilities.fromCurrent()
|
||||
-- Whether to exclude inherited events from superclasses
|
||||
ExcludeInherited: boolean?, -- default: false
|
||||
-- Whether to exclude Studio display information about the events
|
||||
ExcludeDisplay: boolean?, -- default: false
|
||||
}
|
||||
```
|
||||
|
||||
If the class name is valid and that class has events, you'll get a list of
|
||||
`ReflectedEvent` dictionaries as output, each with the following
|
||||
structure:
|
||||
|
||||
```lua
|
||||
{
|
||||
-- The name of the event
|
||||
Name: string,
|
||||
-- The superclass from which the property is inherited, or the class name if not inherited
|
||||
Owner: string,
|
||||
-- A list of all parameters the event passes to connected functions
|
||||
Parameters: {
|
||||
{
|
||||
-- The name of the parameter
|
||||
Name: string,
|
||||
-- The type of the parameter
|
||||
Type: ReflectionType,
|
||||
}
|
||||
},
|
||||
-- Studio display information
|
||||
Display: {
|
||||
-- A message indicating that the event is deprecated, if applicable
|
||||
DeprecationMessage: string?,
|
||||
}?,
|
||||
-- The security permissions required to access this event
|
||||
Permits: {
|
||||
-- The security permissions required to listen for the event in any context
|
||||
Listen: SecurityCapabilities?,
|
||||
},
|
||||
}
|
||||
```
|
||||
code_samples: []
|
||||
parameters:
|
||||
- name: className
|
||||
type: string
|
||||
default:
|
||||
summary: |
|
||||
The name of the class for which you wish to retrieve events.
|
||||
- name: filter
|
||||
type: Dictionary
|
||||
default: nil
|
||||
summary: |
|
||||
An optional filter to restrict or expand the set of events that this
|
||||
method can return and change the method's behavior.
|
||||
returns:
|
||||
- type: Array
|
||||
summary: |
|
||||
A list of `ReflectedEvent` dictionaries with reflection information
|
||||
for each event of the class that matches the filter criteria.
|
||||
tags:
|
||||
- CustomLuaState
|
||||
deprecation_message: ''
|
||||
security: None
|
||||
thread_safety: Unsafe
|
||||
capabilities: []
|
||||
events: []
|
||||
callbacks: []
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ methods:
|
|||
summary: |
|
||||
Time at which to sample the curve.
|
||||
returns:
|
||||
- type: CoordinateFrame?
|
||||
- type: CFrame?
|
||||
summary: |
|
||||
Value of the curve at the requested `time`.
|
||||
tags: []
|
||||
|
|
|
|||
|
|
@ -49,26 +49,6 @@ properties:
|
|||
can_save: true
|
||||
capabilities:
|
||||
- LegacySound
|
||||
- name: Sound.ChannelCount
|
||||
summary: ''
|
||||
description: ''
|
||||
code_samples: []
|
||||
type: int
|
||||
tags:
|
||||
- ReadOnly
|
||||
- NotReplicated
|
||||
- NotBrowsable
|
||||
deprecation_message: ''
|
||||
security:
|
||||
read: RobloxScriptSecurity
|
||||
write: RobloxScriptSecurity
|
||||
thread_safety: ReadSafe
|
||||
category: Asset
|
||||
serialization:
|
||||
can_load: false
|
||||
can_save: false
|
||||
capabilities:
|
||||
- LegacySound
|
||||
- name: Sound.EmitterSize
|
||||
summary: |
|
||||
The minimum distance, in studs, at which a 3D `Class.Sound` (direct child
|
||||
|
|
@ -134,23 +114,6 @@ properties:
|
|||
can_save: false
|
||||
capabilities:
|
||||
- LegacySound
|
||||
- name: Sound.IsMutedForCapture
|
||||
summary: ''
|
||||
description: ''
|
||||
code_samples: []
|
||||
type: boolean
|
||||
tags: []
|
||||
deprecation_message: ''
|
||||
security:
|
||||
read: RobloxScriptSecurity
|
||||
write: RobloxScriptSecurity
|
||||
thread_safety: ReadSafe
|
||||
category: Data
|
||||
serialization:
|
||||
can_load: true
|
||||
can_save: true
|
||||
capabilities:
|
||||
- LegacySound
|
||||
- name: Sound.IsPaused
|
||||
summary: |
|
||||
Read-only property which returns `true` when the `Class.Sound` is not
|
||||
|
|
|
|||
|
|
@ -108,7 +108,6 @@ properties:
|
|||
tags:
|
||||
- NotReplicated
|
||||
- NotScriptable
|
||||
- NotBrowsable
|
||||
deprecation_message: ''
|
||||
security:
|
||||
read: None
|
||||
|
|
@ -387,8 +386,7 @@ properties:
|
|||
description: ''
|
||||
code_samples: []
|
||||
type: boolean
|
||||
tags:
|
||||
- NotBrowsable
|
||||
tags: []
|
||||
deprecation_message: ''
|
||||
security:
|
||||
read: None
|
||||
|
|
|
|||
|
|
@ -391,7 +391,7 @@ properties:
|
|||
tags: []
|
||||
deprecation_message: ''
|
||||
security:
|
||||
read: RobloxEngineSecurity
|
||||
read: RobloxScriptSecurity
|
||||
write: RobloxEngineSecurity
|
||||
thread_safety: ReadSafe
|
||||
category: Appearance
|
||||
|
|
|
|||
|
|
@ -746,6 +746,10 @@ methods:
|
|||
type: string
|
||||
default:
|
||||
summary: ''
|
||||
- name: source
|
||||
type: Instance
|
||||
default:
|
||||
summary: ''
|
||||
returns:
|
||||
- type: ()
|
||||
summary: ''
|
||||
|
|
|
|||
|
|
@ -417,6 +417,74 @@ methods:
|
|||
thread_safety: Unsafe
|
||||
capabilities:
|
||||
- Chat
|
||||
- name: TextChatService:GetChatGroupsAsync
|
||||
summary: |
|
||||
Returns chat group IDs that indicate which players can synchronously text
|
||||
chat together.
|
||||
description: |
|
||||
Returns a sorted array of arrays of chat group IDs for the given players.
|
||||
Each chat group ID is a string that represents a communication-compatible
|
||||
group within the current universe.
|
||||
|
||||
If two or more players share the same chat group ID, those players are
|
||||
able to synchronously text chat with each other based on their age-check
|
||||
status and chat settings.
|
||||
|
||||
This method is server-side only and intended for real-time use cases such
|
||||
as matchmaking and teleporting. Chat group IDs are unique to the current
|
||||
universe, may change over time, and should not be stored once the user has
|
||||
left the experience. While you can hold onto the data returned for the
|
||||
purposes of gameplay while the user is in the experience, this data should
|
||||
not be stored after they've left.
|
||||
|
||||
To use this method, you must enable **Chat & Voice Groups APIs** in
|
||||
**Experience Settings** ⟩ **Communication** in Roblox Studio and agree to
|
||||
the Roblox Terms of Use.
|
||||
|
||||
```lua
|
||||
local TextChatService = game:GetService("TextChatService")
|
||||
local Players = game:GetService("Players")
|
||||
local players = Players:GetPlayers()
|
||||
|
||||
local success, chatGroups = pcall(function()
|
||||
return TextChatService:GetChatGroupsAsync(players)
|
||||
end)
|
||||
|
||||
if not success then
|
||||
warn("Failed to retrieve chat groups")
|
||||
return
|
||||
end
|
||||
|
||||
for _, group in ipairs(chatGroups) do
|
||||
-- Each group contains chat group ID strings.
|
||||
-- Players who share a matching group ID can chat with each other.
|
||||
for _, groupId in ipairs(group) do
|
||||
print("Chat group ID:", groupId)
|
||||
end
|
||||
end
|
||||
```
|
||||
code_samples:
|
||||
- TextChatService-Chat-Groups-Teleport
|
||||
parameters:
|
||||
- name: players
|
||||
type: Instances
|
||||
default:
|
||||
summary: |
|
||||
A list of `Class.Player|Players` currently in the experience to
|
||||
evaluate for text chat compatibility.
|
||||
returns:
|
||||
- type: Array
|
||||
summary: |
|
||||
A sorted array of arrays of chat group ID strings. Players who share a
|
||||
matching chat group ID are eligible to synchronously text chat with
|
||||
each other.
|
||||
tags:
|
||||
- Yields
|
||||
deprecation_message: ''
|
||||
security: None
|
||||
thread_safety: Unsafe
|
||||
capabilities:
|
||||
- Chat
|
||||
events:
|
||||
- name: TextChatService.BubbleDisplayed
|
||||
summary: |
|
||||
|
|
|
|||
|
|
@ -115,6 +115,73 @@ properties:
|
|||
can_save: true
|
||||
capabilities: []
|
||||
methods:
|
||||
- name: VoiceChatService:GetChatGroupsAsync
|
||||
summary: |
|
||||
Returns chat group IDs that indicate which players can voice chat
|
||||
together.
|
||||
description: |
|
||||
Returns a sorted array of arrays of chat group IDs for the given players.
|
||||
Each chat group ID is a string that represents a communication-compatible
|
||||
group within the current universe.
|
||||
|
||||
If two or more players share the same chat group ID, those players are
|
||||
eligible to voice chat with each other based on their age-check status,
|
||||
voice chat eligibility, and communication settings.
|
||||
|
||||
This method is server-side only and intended for real-time use cases such
|
||||
as matchmaking and teleporting. Chat group IDs are unique to the current
|
||||
universe, may change over time, and should not be stored once the user has
|
||||
left the experience. While you can hold onto the data returned for the
|
||||
purposes of gameplay while the user is in the experience, this data should
|
||||
not be stored after they've left.
|
||||
|
||||
To use this method, you must enable **Chat & Voice Groups APIs** in
|
||||
**Experience Settings** ⟩ **Communication** in Roblox Studio and agree to
|
||||
the Roblox Terms of Use.
|
||||
|
||||
```lua
|
||||
local VoiceChatService = game:GetService("VoiceChatService")
|
||||
local Players = game:GetService("Players")
|
||||
local players = Players:GetPlayers()
|
||||
|
||||
local success, chatGroups = pcall(function()
|
||||
return VoiceChatService:GetChatGroupsAsync(players)
|
||||
end)
|
||||
|
||||
if not success then
|
||||
warn("Failed to retrieve chat groups")
|
||||
return
|
||||
end
|
||||
|
||||
for _, group in ipairs(chatGroups) do
|
||||
-- Each group contains chat group ID strings.
|
||||
-- Players who share a matching group ID can chat with each other.
|
||||
for _, groupId in ipairs(group) do
|
||||
print("Chat group ID:", groupId)
|
||||
end
|
||||
end
|
||||
```
|
||||
code_samples:
|
||||
- VoiceChatService-Chat-Groups-Teleport
|
||||
parameters:
|
||||
- name: players
|
||||
type: Instances
|
||||
default:
|
||||
summary: |
|
||||
A list of `Class.Player|Players` currently in the experience to
|
||||
evaluate for voice chat compatibility.
|
||||
returns:
|
||||
- type: Array
|
||||
summary: |
|
||||
A sorted array of arrays of chat group ID strings. Players who share a
|
||||
matching chat group ID are eligible to voice chat with each other.
|
||||
tags:
|
||||
- Yields
|
||||
deprecation_message: ''
|
||||
security: None
|
||||
thread_safety: Unsafe
|
||||
capabilities:
|
||||
- Chat
|
||||
- name: VoiceChatService:IsVoiceEnabledForUserIdAsync
|
||||
summary: |
|
||||
Returns whether or not the given user has voice enabled.
|
||||
|
|
|
|||
|
|
@ -239,7 +239,8 @@ properties:
|
|||
serialization:
|
||||
can_load: true
|
||||
can_save: true
|
||||
capabilities: []
|
||||
capabilities:
|
||||
- Basic
|
||||
- name: Workspace.DistributedGameTime
|
||||
summary: |
|
||||
The amount of time, in seconds, that the game has been running.
|
||||
|
|
@ -352,7 +353,8 @@ properties:
|
|||
serialization:
|
||||
can_load: false
|
||||
can_save: false
|
||||
capabilities: []
|
||||
capabilities:
|
||||
- Basic
|
||||
- name: Workspace.FluidForces
|
||||
summary: |
|
||||
Determines whether the physics engine computes aerodynamic forces on
|
||||
|
|
@ -400,7 +402,8 @@ properties:
|
|||
serialization:
|
||||
can_load: true
|
||||
can_save: true
|
||||
capabilities: []
|
||||
capabilities:
|
||||
- Basic
|
||||
- name: Workspace.Gravity
|
||||
summary: |
|
||||
Determines the acceleration due to gravity applied to falling
|
||||
|
|
@ -424,7 +427,8 @@ properties:
|
|||
serialization:
|
||||
can_load: true
|
||||
can_save: true
|
||||
capabilities: []
|
||||
capabilities:
|
||||
- Basic
|
||||
- name: Workspace.IKControlConstraintSupport
|
||||
summary: |
|
||||
Enables support for constraints for IKControls. If disabled, IKControls
|
||||
|
|
@ -1471,7 +1475,8 @@ methods:
|
|||
deprecation_message: ''
|
||||
security: None
|
||||
thread_safety: Unsafe
|
||||
capabilities: []
|
||||
capabilities:
|
||||
- Basic
|
||||
- name: Workspace:UnjoinFromOutsiders
|
||||
summary: |
|
||||
Breaks all joints between the specified `Class.BasePart|BaseParts` and
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ methods:
|
|||
default:
|
||||
summary: ''
|
||||
- name: cageOrigin
|
||||
type: CoordinateFrame?
|
||||
type: CFrame?
|
||||
default:
|
||||
summary: ''
|
||||
returns:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue