AssetService

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Não criável
Serviço

AssetService es un servicio no replicado que maneja consultas relacionadas con recursos a la API web de Roblox.

Resumo

Métodos

Propriedades

Métodos

CreateEditableImage

Crea una nueva EditableImage . Por defecto, la resolución se establece en 512×512, pero puede especificar un tamaño diferente usando la tabla de opciones del método.

Si el presupuesto de memoria específico del dispositivo se agota, la creación falla y este método devuelve nil .

Parâmetros

editableImageOptions: Dictionary

Tabla de opciones que contiene controles para el método:

  • Size – Un Vector2 que especifica el ancho y la altura deseados de la imagen.

Devolução

CreateEditableMesh

Crea un nuevo, vacío EditableMesh . Las verticales, triángulos y sus atributos se pueden agregar dinámicamente a él. Si el presupuesto de memoria editable del dispositivo se agota, la creación fallará y este método devolverá nil .

Parâmetros

editableMeshOptions: Dictionary

Devolução

CreateEditableImageAsync

Rendimentos

Crea una nueva instancia de EditableImage que está llena de la textura dada. Los ID de textura no son de propiedad de los creadores de los recursos, como rbxthumb:// . Si está usando un ID de textura de dispositivo, debe estar asociado y/o poseer un creador del experiencia, o debe haber sido creado dentro del experiencia. Si el presup

Parâmetros

content: Content
editableImageOptions: Dictionary

Devolução

Una nueva EditableImage que contiene la imagen proporcionada.

CreateEditableMeshAsync

Rendimentos

Regresa una nueva instancia de Class.EditableMesh creada a partir de un ID de contenido de malla existente. Por defecto, un Class.EditableMesh creado desde este método se fijará el tamaño para que los datos de malla solo se puedan modificar, no se pueden agregar ni eliminar. Un tamaño fijo1> Class.EditableMesh1> consumirá menos memoria y se recomendará cuando

Si el presupuesto de memoria específico del dispositivo se agota, la creación fallará y este método devolverá nil .

Parâmetros

content: Content
editableMeshOptions: Dictionary

Tabla de opciones que contiene controles para el método:

  • FixedSize – A bool . El valor predeterminado es true , y el valor devuelto 0> Class.EditableMesh0> no le permitirá agregar o eliminar vértices, solo modificar sus valores. Establece a FixedSize3> si se requiere la capacidad de cambiar la topología del malla, a expensas

Devolução

La nueva instancia EditableMesh

CreateMeshPartAsync

Rendimentos

Este método crea un MeshPart con una especificación de CollisionFidelity , Class.MeshPart.RenderFidelity|Render

Parâmetros

meshContent: Content
options: Dictionary

Tabla de opciones que contiene uno o más controles para el método:

Valor Padrão: "nil"

Devolução

CreatePlaceAsync

Rendimentos

Clona un lugar a través del templatePlaceID dado y devuelve el PlaceId del nuevo lugar, que puedes usar con TeleportService. El lugar de clon se muestra dentro del inventario del creador del lugar con el nombre y la descripción dados.

Nota que el lugar de plantilla debe tener la copia de plantilla habilitada a través de la configuración del lugar. No puedes usar este método para clonar lugares que no son propiedad en posesión.

No se recomienda el uso frecuente de esta API, especialmente si los lugares creados contienen scripts, ya que actualizar el código en un gran volumen de lugares se vuelve inviables rápidamente. Para los mundos generados por el usuario, considere la serialización de las creaciones del usuario y la guardación en DataStores en lugar.

Parâmetros

placeName: string

Nombre del nuevo lugar.

templatePlaceID: number

PlaceId del lugar para clonear.

description: string

Descripción del nuevo lugar.

Valor Padrão: ""

Devolução

PlaceId del nuevo lugar.

CreatePlaceInPlayerInventoryAsync

Rendimentos

Parâmetros

player: Instance
placeName: string
templatePlaceID: number
description: string
Valor Padrão: ""

Devolução

GetAssetIdsForPackage

Rendimentos

Devuelve un conjunto de ID de activos que se contienen en un paquete especificado.

Parâmetros

packageAssetId: number

Devolução

IDs de activos que están contenidos en un paquete especificado.

GetAudioMetadataAsync

Rendimentos

Proporciona metadatos relevantes sobre una fuente de audio específica (artista, título, duración, introducir, etc.).

Parâmetros

idList: Array

Matriz de ID de activo o contenido para recuperar los metadatos. El tamaño máximo del lote es 30.


Devolução

Matriz de tablas de diccionario en el mismo orden que la solicitud, donde cada diccionario contiene los siguientes metadatos para su activo/contenido:

Tenga en cuenta que si ocurre un error al buscar metadatos para cualquiera de los recursos solicitados, por ejemplo, el ID de su recurso no existe, su tabla de diccionario aún se incluye en el conjunto devuelto pero sólo contiene el campo AssetId para propósitos de referencia. Además, si el AudioType no se puede determinar para un recurso específico (por ejemplo,

Amostras de código


local AssetService = game:GetService("AssetService")
local SoundService = game:GetService("SoundService")
local trackIDs = {
SoundService.Sound1.SoundId,
SoundService.Sound2.SoundId,
SoundService.Sound3.SoundId,
SoundService.Sound4.SoundId
}
local success, result = pcall(function()
return AssetService:GetAudioMetadataAsync(trackIDs)
end)
if success then
for i = 1, #trackIDs do
local contentId = "rbxassetid://" .. result[i].AssetId
if trackIDs[i] == contentId then
print(result[i].Title, "by", result[i].Artist)
else
warn("No metadata fetched for requested asset #" .. tostring(i))
end
end
end

GetBundleDetailsAsync

Rendimentos

Esta función devuelve los detalles de los contenidos del paquete especificado.

Si el ID del paquete no existe, muestra HTTP 400 (Bad Request) . Si bundleId no se puede convertir a un número entero, muestra Unable to cast string to int64 .

Parâmetros

bundleId: number

El ID del paquete especificado.


Devolução

Diccionario con las siguientes parejas de claves que contienen detalles sobre el paquete especificado:

  • Id — ID de paquete (mismo que el argumento pasado bundleId )

  • Name — Nombre del paquete

  • Description — descripcióndel paquete

  • BundleType — Strings representando el Enum.BundleType , por ejemplo "BodyParts" o 0> "DynamicHead"0>

  • Items — Arrays de elementos en el paquete, cada uno con detalles representados a través de las siguientes llaves:

    • Id — ID del artículo

    • Name — Nombre del artículo

    • Type — Tipo de artículo, como "Asset"Asset .

Amostras de código

Getting Bundle Details

local AssetService = game:GetService("AssetService")
local BUNDLE_ID = 14
local success, result = pcall(function()
return AssetService:GetBundleDetailsAsync(BUNDLE_ID)
end)
if success then
print(result)
--[[
{
["BundleType"] = "BodyParts",
["Description"] = "The year is 5003, Battlebot 5000 must face his mightiest foe, or face becoming obsolete.",
["Id"] = 14,
["Items"] = {
[1] = {...},
[2] = {
["Id"] = 1678225030,
["Name"] = "SinisterBot 5001 Left Arm",
["Type"] = "Asset"
},
[3] = {...},
[4] = {...},
[5] = {...},
[6] = {...},
[7] = {...}
},
["Name"] = "SinisterBot 5001"
}
--]]
end

GetGamePlacesAsync

Rendimentos

Devuelve un objeto StandardPages que contiene el nombre y PlaceId de los lugares dentro de la experiencia actual.


Devolução

Amostras de código

AssetService:GetGamePlacesAsync

local AssetService = game:GetService("AssetService")
local placePages = AssetService:GetGamePlacesAsync()
while true do
for _, place in placePages:GetCurrentPage() do
print("Name:", place.Name)
print("PlaceId:", place.PlaceId)
end
if placePages.IsFinished then
break
end
placePages:AdvanceToNextPageAsync()
end

PromptCreateAssetAsync

Rendimentos

Permite la creación de activos en la experiencia para los usuarios al solicitar un diálogo de publicación. Cuando se llama, presenta un diálogo al usuario, lo que les permite ingresar un nombre, descripción y ver el recurso. Al enviar, se guarda el activo en el inventario del usuario. Solo se puede invocar en el lado del servidor.

Parâmetros

player: Player

El usuario que envía una creacionesde artículo.

instance: Instance

El activo para crear. No se puede crear actualmente scripts o anidar no-public assets.

assetType: Enum.AssetType

El introducirde activo. Por ahora, solo puede ser Enum.AssetType.Model .


Devolução

El Enum.PromptCreateAssetResult y el ID de activo si es exitoso.

PromptImportAnimationClipFromVideoAsync

Rendimentos

Parâmetros

player: Player
progressCallback: function

Devolução

SavePlaceAsync

void
Rendimentos

Guarda el estado del lugar actual. Solo funciona para los lugares que se crean con AssetService:CreatePlaceAsync() o que tienen la API habilitada a través de la configuración del lugar.


Devolução

void

SearchAudio

Rendimentos

Devuelve un objeto AudioPages que contiene el resultado de la buscarproporcionado. No devolverá campos con valores vacíos.

Tenga en cuenta que este método tiene un límite de solicitudes HTTP bajas y puede lanzar un error, por lo que siempre debe estar envuelto en pcall() para el manejo de errores. Los posibles mensajes de error incluyen:


<tbody>
<tr>
<td>HTTP 429 (Demasiadas solicitudes)</td>
<td><code>Class.AssetService:SearchAudio()</code> ha sido llamado demasiadas veces.</td>
</tr>
<tr>
<td>Tipo inesperado para los datos, el tipo esperado fue nulo</td>
<td>El argumento de la palabra clave fue filtrado.</td>
</tr>
</tbody>
Mensaje de errorRazón

Parâmetros

searchParameters: AudioSearchParams

Devolução

Amostras de código

Getting Music Search Titles

local AssetService = game:GetService("AssetService")
local audioSearchParams = Instance.new("AudioSearchParams")
audioSearchParams.SearchKeyword = "happy"
local success, result = pcall(function()
return AssetService:SearchAudio(audioSearchParams)
end)
if success then
local currentPage = result:GetCurrentPage()
for _, audio in currentPage do
print(audio.Title)
end
else
warn("AssetService error: " .. result)
end
--[[ Returned data format
{
"AudioType": string,
"Artist": string,
"Title": string,
"Tags": {
"string"
},
"Id": number,
"IsEndorsed": boolean,
"Description": string,
"Duration": number,
"CreateTime": string,
"UpdateTime": string,
"Creator": {
"Id": number,
"Name": string,
"Type": number,
"IsVerifiedCreator": boolean
}
}
--]]

Eventos