InsertService
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
ใช้บริการสอดแทรกเพื่อสอดแทรกสินทรัพย์จากเว็บไซต์ Roblox โดยปกติคือฟังก์ชัน LoadAsset
เพื่อโหลดสินทรัพย์ ต้องสามารถเข้าถึงได้โดยผู้สร้างประสบการณ์ที่โหลดมันซึ่งอาจเป็นผู้ใช้หรือกลุ่มหากประสบการณ์ถูกอัปโหลดโดยผู้สร้างรายอื่น ข้อมูลทรัพยากรจะไม่สามารถเข้าถึงได้ดูวิธี LoadAsset() สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการตรวจสอบความปลอดภัยนี้โปรดทราบว่าคุณไม่ควร ไม่ใช้บริการนี้ในการโหลดคีย์ API หรือความลับอื่น ๆ ใช้ HttpService:GetSecret() แทน
ดูเพิ่มเติม
- AssetService ซึ่งสามารถให้ข้อมูลเกี่ยวกับสินทรัพย์ที่คุณอาจต้องการโหลดโดยใช้บริการสอดส่อง
สรุป
คุณสมบัติ
วิธีการ
- CreateMeshPartAsync(meshId : ContentId,collisionFidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):MeshPart
สร้างใหม่ MeshPart ด้วยค่าความซื่อสัตย์ที่กำหนดไว้
แค็ตตาล็อก
ดึงรายการของโมเดลฟรีจากแคตตาล็อก
คืน AssetVersionId ล่าสุดของสินทรัพย์สำหรับสินทรัพย์ที่สร้างขึ้นโดยผู้สร้างสถานที่สามารถใช้ร่วมกับ InsertService:LoadAssetVersion() เพื่อโหลดเวอร์ชันล่าสุดของโมเดลแม้ว่าจะได้รับการอัปเดตในขณะที่เกมกำลังทำงาน
ส่งคืน Model ที่มีสินทรัพย์
คืนโมเดลที่ถูกสอดเข้าไปใน InsertService ที่มีสินทรัพย์ที่มี assetVersionId ที่กำหนด
คุณสมบัติ
AllowClientInsertModels
วิธีการ
CreateMeshPartAsync
สร้างใหม่ MeshPart ด้วย CollisionFidelity และ RenderFidelity ที่ระบุเนื่องจาก MeshPart.MeshId เป็นการอ่านเฉพาะ นี่คือวิธีการสร้าง MeshPart ผ่านสคริปต์โดยไม่ต้องโคลนสคริปต์ที่มีอยู่มันโยนข้อผิดพลาดหากการสร้างล้มเหลว
พารามิเตอร์
ID สินทรัพย์เมช
ตั้ง MeshPart.CollisionFidelity .
ตั้ง MeshPart.RenderFidelity .
ส่งค่ากลับ
GetFreeDecals
ฟังก์ชัน GetFreeDecals แค็ตตาล็อกDecals จากแคตตาล็อกประเภทการคืนสำหรับวิธีนี้แปลกมากเนื่องจากส่งคืนตารางเดียวที่ห่อหุ้มอยู่ในตาราง
วิธีที่ดีที่สุดในการอธิบายคือการแสดงภาพของค่าที่ส่งกลับ:
[1] = {CurrentStartIndex = 1, -- สิ่งนี้อาจแตกต่างกันไปขึ้นอยู่กับหน้าที่คุณป้อนTotalCount = 21, -- เสมอ 21Results = {-- พารามิเตอร์ทั้งหมดที่นี่เป็นตัวปลอม พวกเขาสามารถแตกต่างกันได้ขึ้นอยู่กับสินทรัพย์[1] = {Name = "Asset Name",AssetId = 0000000,AssetVersionId = 0000000,CreatorName = "Roblox",},-- [2], [3], และอื่นๆ... ถึง [21]},}
ตัวอย่างสำหรับการเลื่อนผ่านรายการนี้ได้รับที่ด้านล่างของหน้านี้
นอกจากนี้หากคุณต้องการใส่ Models แทน คุณสามารถใช้ฟังก์ชัน InsertService:GetFreeModels()
หมายเหตุ: อาร์กิวเมนต์หน้าเริ่มที่ 0 ดังนั้นหน้า 1 = 0, หน้า 2 = 1 เป็นต้น
พารามิเตอร์
สตริงที่ใช้ค้นหาภาพวาดฟรีในแคตตาล็อก
หมายเลขหน้าในแคตตาล็อกที่จะส่งคืน
ส่งค่ากลับ
ตารางเดียว (ของฉลากฟรีที่ส่งคืน) ห่อในตาราง
ตัวอย่างโค้ด
local InsertService = game:GetService("InsertService")
local page = unpack(InsertService:GetFreeDecals("Cats", 0)) -- Search for "Cats" on Page 1.
for i = 1, page.TotalCount do
local item = page.Results[i]
print("Item #" .. i)
for key, value in pairs(item) do
print(" " .. key .. ": " .. value)
end
end
GetFreeModels
ฟังก์ชัน GetFreeModels คือการดึงรายการของฟรี Models จากแคตตาล็อกประเภทการคืนสำหรับวิธีนี้แปลกมากเนื่องจากส่งคืนตารางเดียวที่ห่อหุ้มอยู่ในตาราง
วิธีที่ดีที่สุดในการอธิบายคือการแสดงภาพของค่าที่ส่งกลับ:
[1] = {CurrentStartIndex = 1, -- สิ่งนี้อาจแตกต่างกันไปขึ้นอยู่กับหน้าที่คุณป้อนTotalCount = 21, -- เสมอ 21Results = {-- พารามิเตอร์ทั้งหมดที่นี่เป็นตัวปลอม พวกเขาสามารถแตกต่างกันได้ขึ้นอยู่กับสินทรัพย์[1] = {Name = "Asset Name",AssetId = 0000000,AssetVersionId = 0000000,CreatorName = "Roblox",}-- [2], [3], และอื่นๆ... ถึง [21]}}
ตัวอย่างสำหรับการเลื่อนผ่านรายการนี้ได้รับที่ด้านล่างของหน้านี้
นอกจากนี้หากคุณต้องการใส่ฟรี Decals คุณสามารถใช้ฟังก์ชัน InsertService:GetFreeDecals()
พารามิเตอร์
สตริงที่ใช้ค้นหาภาพวาดฟรีในแคตตาล็อก
หมายเลขหน้าในแคตตาล็อกที่จะส่งคืน
ส่งค่ากลับ
ตารางเดียว (ของโมเดลฟรีที่ส่งคืน) ห่อในตาราง
ตัวอย่างโค้ด
local InsertService = game:GetService("InsertService")
local page = unpack(InsertService:GetFreeModels("Cats", 0)) -- Search for "Cats" on Page 1.
for i = 1, page.TotalCount do
local item = page.Results[i]
print("Item #" .. i)
for key, value in pairs(item) do
print(" " .. key .. ": " .. value)
end
end
GetLatestAssetVersionAsync
คืน AssetVersionId ล่าสุดของสินทรัพย์สำหรับสินทรัพย์ที่สร้างขึ้นโดยผู้สร้างสถานที่สามารถใช้ร่วมกับ InsertService:LoadAssetVersion() เพื่อโหลดเวอร์ชันล่าสุดของโมเดลแม้ว่าจะได้รับการอัปเดตในขณะที่เกมกำลังทำงาน
พารามิเตอร์
ส่งค่ากลับ
LoadAsset
ฟังก์ชัน LoadAsset รับสินทรัพย์ที่มีรหัสและส่งคืนสินทรัพย์ Model ที่มีสินทรัพย์ตัวอย่างเช่น, เพื่อโหลดสาธารณะนี้ DogeModel , ซึ่งมีรหัสสินทรัพย์ *257489726 * , คุณสามารถใช้:
local InsertService = game:GetService("InsertService")local Workspace = game:GetService("Workspace")local assetId = 257489726local model = InsertService:LoadAsset(assetId)model.Parent = Workspace
การโทรไปที่ฟังก์ชันนี้อาจล้มเหลวหากเซิร์ฟเวอร์ที่ให้บริการรูปแบบมีปัญหาดังนั้นโดยทั่วไปแล้วเป็นความคิดที่ดีที่จะห่อเรียกฟังก์ชันนี้ใน pcall เพื่อจับข้อผิดพลาดประเภทนี้
local InsertService = game:GetService("InsertService")local Workspace = game:GetService("Workspace")local assetId = 257489726local success, model = pcall(InsertService.LoadAsset, InsertService, assetId)if success and model thenprint("Model loaded successfully")model.Parent = Workspaceelseprint("Model failed to load!")end
การตรวจสอบความปลอดภัย
สินทรัพย์ที่โหลดโดยฟังก์ชันนี้ต้องเป็น สร้างขึ้นหรือเป็นเจ้าของ โดยผู้สร้างเกมหรือ Robloxนอกจากนี้ยังมีประเภทสินทรัพย์ที่ไม่เป็นอันตรายเช่นเสื้อยืดเสื้อเชิ๊ตกางเกงและอุปกรณ์เสริมอวาตาร์สามารถโหลดได้จากเกมใดก็ได้เนื่องจากเป็นสาธารณะ
ดูเพิ่ม:
- สำหรับปลั๊กอิน ดูที่ DataModel:GetObjects()
พารามิเตอร์
ID สินทรัพย์ของสินทรัพย์ที่โหลดอยู่
ส่งค่ากลับ
ตัวอย่างของสินทรัพย์ที่โหลดแล้ว
ตัวอย่างโค้ด
local InsertService = game:GetService("InsertService")
local ASSET_ID = 82353
local asset = InsertService:LoadAsset(ASSET_ID)
asset.Parent = workspace
LoadAssetVersion
คืนโมเดลที่ถูกสอดเข้าไปใน InsertService ที่มีสินทรัพย์ที่มี assetVersionId ที่กำหนด
พารามิเตอร์
ส่งค่ากลับ
ตัวอย่างโค้ด
local InsertService = game:GetService("InsertService")
local ASSET_VERSION_ID = 296050499
local asset = InsertService:LoadAssetVersion(ASSET_VERSION_ID)
asset.Parent = game.Workspace