AssetService

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Création impossible
Service

AssetService est un service non répliqué qui gère les requêtes liées aux ressources à l'aide de l'API Web de Roblox.

Résumé

Méthodes

Propriétés

Méthodes

CreateEditableImage

Crée une nouvelle image EditableImage . Par défaut, la résolution est réglée sur 512×512, mais vous pouvez spécifier une autre taille en utilisant la table d'option de la méthode.

Si le budget de mémoire spécifique au dispositif est épuisé, la création échoue et cette méthode renvoie nil .

Paramètres

editableImageOptions: Dictionary

Table d'options contenant des contrôles pour la méthode :

  • Size – Un Vector2 qui spécifie la largeur et la hauteur souhaitées de l'image.

Retours

CreateEditableMesh

Crée un nouveau EditableMesh vide. Les verticales, les triangles et leurs attributs peuvent être ajoutés dynamiquement à lui. Si le budget de mémoire spécifique au dispositif est épuisé, la création échouera et cette méthode renverra nil .

Paramètres

editableMeshOptions: Dictionary

Retours

CreateEditableImageAsync

Rendement

Crée une nouvelle instance EditableImage remplie de la texture donnée. Les ID de texture non ressource tels que rbxthumb:// sont pris en charge. Si vous utilisez un élément de la contenu, il doit être associé et/ou possédé par un créateur de l'expérience, ou il doit avoir été créé à l'intérieur de l'expérience. Si le budget de mémoire spécif

Paramètres

content: Content
editableImageOptions: Dictionary

Retours

Une nouvelle EditableImage contenant l'image fournie.

CreateEditableMeshAsync

Rendement

Retourne une nouvelle instance EditableMesh créée à partir d'un ID de contenu de maillage existant. Par défaut, une instance EditableMesh créée à partir de cette méthode sera réduite de taille afin que les données de maillage ne puissent être modifiées, mais pas ajoutées ou supprimées. Une taille fixe EditableMesh consomme moins de mémoire et devrait être préférée lorsque

Si le budget de mémoire spécifique au dispositif est épuisé, la création échouera et cette méthode renverra nil .

Paramètres

content: Content
editableMeshOptions: Dictionary

Table d'options contenant des contrôles pour la méthode :

  • FixedSize – A bool . La valeur par défaut est true , et la valeur renvoyée 0> Class.EditableMesh0> ne vous permettra pas d'ajouter ou de supprimer des vérités, mais seulement de modifier leurs valeurs. Définir à FixedSize3> si la capacité de modifier la topologie du maillage est

Retours

La nouvelle instance EditableMesh.

CreateMeshPartAsync

Rendement

Cette méthode crée un MeshPart avec une spécification CollisionFidelity, Class.MeshPart.RenderFidelity|Render

Paramètres

meshContent: Content
options: Dictionary

Table d'options contenant un ou plusieurs contrôles pour la méthode :

Valeur par défaut : "nil"

Retours

CreatePlaceAsync

Rendement

Clone un lieu à l'aide du templatePlaceID donné et renvoie le PlaceId du nouveau emplacement, que vous pouvez utiliser avec TeleportService. Le lieu de clone s'affiche dans l'inventaire du créateur du emplacementavec le nom et la description donnés.

Remarquez que le lieu de modèle doit avoir la copie de modèle activée via les paramètres de lieu. Vous ne pouvez pas utiliser cette méthode pour cloner des lieux que vous ne posséderpas.

L'utilisation fréquente de cette API n'est pas recommandée, en particulier si les lieux créés contiennent des scripts, car la mise à jour du code dans un grand volume de lieux devient rapidement infeasible. Pour les mondes générés par les utilisateurs, considérez la sérialisation des créations de l'utilisateur et leur enregistrement dans DataStores au lieu de cela.

Paramètres

placeName: string

Nom du nouvel emplacement.

templatePlaceID: number

PlaceId de l'endroit à cloner.

description: string

Description du nouvel emplacement.

Valeur par défaut : ""

Retours

PlaceId de la nouvelle emplacement.

CreatePlaceInPlayerInventoryAsync

Rendement

Paramètres

player: Instance
placeName: string
templatePlaceID: number
description: string
Valeur par défaut : ""

Retours

GetAssetIdsForPackage

Rendement

Renvoie une tableau d'identifiants de ressources qui sont incluses dans un package spécifié.

Paramètres

packageAssetId: number

Retours

Les ID des ressources qui sont inclus dans un package spécifié.

GetAudioMetadataAsync

Rendement

Fournit des métadonnées pertinentes sur une source audio spécifique (artiste, titre, durée, taper, etc.).

Paramètres

idList: Array

Tableau des ID de ressource ou de contenu pour lesquels récupérer des métadonnées. La taille maximale du lot est de 30.


Retours

Tableau des dictionnaires dans le même ordre que la demande, où chaque dictionnaire contient les métadonnées suivantes pour son contenu/ressource :

Remarquez que si une erreur se produit lors de la récupération de métadonnées pour n'importe quelle des ressources demandées, par exemple l'ID de la ressource n'existe pas, sa table de dictionnaire est toujours incluse dans l'arrêt retourné mais elle ne contient que le AssetId champ pour les fins de référence. De plus, si le AudioType ne peut pas être déterminé pour un donjon

Échantillons de code


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

Rendement

Cette fonction renvoie les détails du contenu du lotspécifié.

Si l'ID du pack ne existe pas, il lance HTTP 400 (Bad Request) . Si bundleId n'est pas convertible en un nombre entier, il lance Unable to cast string to int64 .

Paramètres

bundleId: number

L'ID du lotspécifié.


Retours

Dictionnaire avec les paires de clés suivantes contenant des détails sur le lotspécifié :

  • Id — ID du pack (pareil à l'argument passé bundleId)

  • Name — Nom du pack

  • Description — descriptiondu pack

  • BundleType — Chaîne représentant le Enum.BundleType , par exemple "BodyParts" ou 0> "DynamicHead"0>

  • Items — Tableau des éléments dans le lot, chacun avec des détails représentés par les clés suivantes :

    • Id — ID de l'article

    • Name — Nom de l'objet

    • Type — Type d'article comme . 0>.0> 3>.3> 6>.6> Type9> 0>.0> 3>>3> 6>>6> Type9> 0>>0> 3>>3> 4>>4> 7>>7> 8>>8> 0>>0> 1>>1> 2>>2> 3>>3> 4>>4> "Asset"5> 6>

Échantillons de code

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

Rendement

Retourne un objet StandardPages qui contient le nom et le PlaceId de lieux dans l'expérience actuelle.


Retours

Échantillons de code

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

Rendement

Permet la création d'objets dans l'expérience pour les utilisateurs en invitant une boîte de dialogue de publication. Lorsqu'il est appelé, il présente un dialogue à l'utilisateur, ce qui leur permet d'entrer un nom, une description et un aperçu de l'objet. Lors de l'envoi, il enregistre l'objet dans l'inventaire de l'utilisateur. Ne peut être invoqué que sur le côté du serveur.

Paramètres

player: Player

L'utilisateur qui soumet une créationsd'objet.

instance: Instance

La ressource à créer. Ne peut pas actuellement contenir de scripts ou de ressources non publiques.

assetType: Enum.AssetType

Le taperde ressource. Actuellement, il ne peut être que Enum.AssetType.Model.


Retours

Le Enum.PromptCreateAssetResult et le ID de ressource si réussi.

PromptImportAnimationClipFromVideoAsync

Rendement

Paramètres

player: Player
progressCallback: function

Retours

SavePlaceAsync

void
Rendement

Enregistre l'état du emplacementactuel. Ne fonctionne que pour les lieux qui sont créés avec AssetService:CreatePlaceAsync() ou qui ont l'API activée via les paramètres de lieu.


Retours

void

SearchAudio

Rendement

Renvoie un objet AudioPages contenant le résultat de la chercherdonnée. Ne renverra pas les champs avec des valeurs vides.

Notez que cette méthode a un faible limite de requête HTTP et peut lancer une erreur, vous devriez donc toujours l'envelopper dans pcall() pour la gestion des erreurs. Les messages d'erreur possibles incluent :


<tbody>
<tr>
<td>HTTP 429 (Trop de demandes)</td>
<td><code>Class.AssetService:SearchAudio()</code> a été appelé trop de fois.</td>
</tr>
<tr>
<td>Type inattendu pour les données, tableau attendu nul</td>
<td>L'argument de mot-clé a été filtré.</td>
</tr>
</tbody>
Message d'erreurRaison

Paramètres

searchParameters: AudioSearchParams

Retours

Échantillons de code

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
}
}
--]]

Évènements