บริการแก้ไขอวาตาร์ ช่วยให้คุณเข้าถึงและทำการเปลี่ยนแปลงในอวาตาร์ของผู้ใช้ภายในประสบการณ์ บริการแก้ไขอวาตาร์สามารถเข้าถึงสินค้าคงคลังของผู้ใช้และ ตลาด เพื่อบันทึกช
เราแนะนำให้ใช้บริการ Avatar Editor ด้วยอีดีทีวีอีเมลในเกมอีดีทีวีอีเมลสำหรับประสบการณ์การปรับแต่งตัวละครที่สมบูรณ์แบบ ดูสถานที่อ้างอิง เรียบง่าย Avatar Editor ดีมาโดยละเอียด คุณสมบัติ
เพื่อเริ่มใช้บริการ Avatar Editor คุณต้องขอการเข้าถึงก่อน เสมอ คลังไอเท็มหลังจากที่การเข้าถึงถูกอนุญาต คุณสามารถทำสิ่งต่อไปนี้ได้:
- อ่านคลังของผู้ใช้ เพื่อดูรายการของเราที่มีสินค้า
- ค้นหาตลาดออนไลน์ โดยใช้ตัวกรองและจัดเรียงต่างๆ เพื่อการกรองและจัดเรียง
- ใส่ไอเท็ม avatar และบันทึกชุด ให้กับ อวาตาร์ของผู้ใช้
ร้องขอการเข้าถึง
คลังไอเท็มคุณต้องขอให้ผู้ใช้อนุญาตให้เข้าถึงผ่าน PromptAllowInventoryReadAccess() คุณต้องทำคำขอนี้เป็นครั้งละครั้งในแต่ละเซสชัน
ใช้ตัวอย่างรหัสต่อไปนี้เพื่อเริ่มต้นคำถามการเข้าถึงและฟังคำตอบของผู้ใช้:
local AvatarEditorService = game:GetService("AvatarEditorService")AvatarEditorService:PromptAllowInventoryReadAccess()local result = AvatarEditorService.PromptAllowInventoryReadAccessCompleted:Wait()if result == Enum.AvatarPromptResult.Success then-- เข้าถึงได้!end
ผู้ใช้ได้รับคำเรียกร้องต่อไปนี้:
เมื่อผู้ใช้ยอมรับคำเรียกร้องนี้, AvatarEditorService คลังไอเท็ม
การอ่านคลังของผู้ใช้
เมื่อการเข้าถึงถูกจัดการโดยผู้ใช้คุณสามารถอ่านสินค้าคงคลังของพวกเขาด้วย GetInventory() ฟังก์ชันที่จัดหาอารยากรณ์ของ Class.AvatarAssetType
คลังไอเท็ม:
local AvatarEditorService = game:GetService("AvatarEditorService")AvatarEditorService:PromptAllowInventoryReadAccess()local result = AvatarEditorService.PromptAllowInventoryReadAccessCompleted:Wait()if result == Enum.AvatarPromptResult.Success then-- เข้าถึงได้!local assetTypes = {Enum.AvatarAssetType.BackAccessory,Enum.AvatarAssetType.ShoulderAccessory,Enum.AvatarAssetType.WaistAccessory}local pagesObject = AvatarEditorService:GetInventory(assetTypes)local currentPage = pagesObject:GetCurrentPage()for _, item in currentPage doprint(item)endend
การค้นหาตลาด
AvatarEditorService รวมถึงฟังก์ชันและเหตุการณ์ที่ช่วยให้คุณค้นหาแคตตาล็อกของ Roblox คุณสามารถค้นหาได้โดยให้คำถามของคุณด้วย CatalogSearchParams ตัวที่มีสิ่งหนึ่งหรือมากกว่าของตัวละครต
สมบัติ | คำอธิบาย |
---|---|
รูปแบบสินทรัพย์ | คอลลี่ของ Enum.AvatarAssetType เช่น คอลลี่.AvatarAssetType.BackAccessory |
รูปแบบการรวม | ค่าย่อ เช่น Enum.BundleType เช่น Amount.Plugin |
ตัวกรองประเภท | A Enum.CatalogCategoryFilter อธิบายรายการหลายหมวดหมู่เช่น "คุณสมบัติ" หรือ "การสร้างชุมชน" โดยปกติจะตั้งค่าเป็น Enum.CatalogCategoryFilter.None |
ราคาสูงสุด | ตัวกรอง |
ราคาขั้นต่ำ | ตัวเลขที่อธิบายราคาขั้นต่ำที่จะกรอง โดยปกติ, MinPrice คือ 0 . |
ค้นหาคำ | สตริงเพื่อสอบถามคำอธิบายรายการในแคตตาล็อก |
ประเภท | A Enum.CatalogSortType ที่อธิบายวิธีการเรียงลำดับผลลัพธ์ โดยปกติจะตั้งค่าเป็น Enum.CatalogSortType.Relevance |
รวมออกจากขาย | บูลีนที่ระบุว่าผลการค้นหารวมถึงรายการออกจากขาย โดยปกติจะตั้งค่าเป็นปลอม หากไม่มีค่านี้จะถูกตั้งค่าเป็น false |
CreatorId | ครีเอเตอร์คุณสามารถใช้ UserId หรือ GroupId ได้ |
ชื่อผู้สร้าง | ครีเอเตอร์คุณสามารถใช้ชื่อผู้ใช้หรือชื่อกลุ่ม |
ตัวอย่างโค้ดต่อไปนี้สร้าง CatalogSearchParams วัตถุสำหรับ Back และ Shoulder ตัวอย่างชนิด, และผ่านทางการโทร 2> Class.AvatarEditorService:SearchCatalog()|SearchCatalog()2> คำเรียก:
local AvatarEditorService = game:GetService("AvatarEditorService")local catalogSearchParams = CatalogSearchParams.new()local assetTypes = {Enum.AvatarAssetType.BackAccessory,Enum.AvatarAssetType.ShoulderAccessory}catalogSearchParams.AssetTypes = assetTypeslocal pagesObject =--ฟังก์ชันนี้จะกลับมาเป็นตัว CatalogPages ที่มีผลลัพธ์AvatarEditorService:SearchCatalog(catalogSearchParams)local currentPage = pagesObject:GetCurrentPage()for _, item in currentPage doprint(item)end
บันทึก Avatar และ Outfits
เมื่อใช้ร่วมกับเครื่องมือในเกม avatar เอเดอร์, AvatarEditorService สามารถบันทึกและปรับปรุงไอเท็มและชุดของ avatar ให้กับแพลตฟอร์ม Roblox ผู้ใช้ไม่ได้รับรายการในห้างร้านที่พวกเขาไม่ได้เป็นเ
ใด ๆ HumanoidDescription สามารถบันทึกได้ที่ avatar ของผู้ใช้ด้วย PromptSaveAvatar() นี้อาจรวมถึง:
- การตั้งค่า avatar ล่วงหน้าที่คุณสร้างขึ้นโดยใช้รายการแคตตาล็อกที่มีอยู่
- การตั้งค่าใด ๆ ที่ผู้ใช้เลือกผ่านตัวแก้ไขอวาตาร์ในเกม
เนื่องจาก AvatarEditorService:PromptSaveAvatar() ไม่สร้างผลลัพธ์ คุณสามารถรับผลลัพธ์ได้โดยการฟังกิจกรรม AvatarEditorService.PromptSaveAvatarCompleted
รหัสต่อไปนี้จะบันทึก HumanoidDescription ปัจจุบันโดยใช้ PromptSaveAvatar() และตรวจสอบสำเร็จ AvatarEditorService.PromptSaveAvatarCompleted อีเวนต์:
local AvatarEditorService = game:GetService("AvatarEditorService")local Players = game:GetService("Players")local player = Players.LocalPlayerlocal character = player.Character or player.CharacterAdded:Wait()local humanoid = character:WaitForChild("Humanoid")local currentDescription = humanoid:GetAppliedDescription()AvatarEditorService:PromptSaveAvatar(currentDescription, humanoid.RigType)local result = AvatarEditorService.PromptSaveAvatarCompleted:Wait()if result == Enum.AvatarPromptResult.Success then-- บันทึก Avatar แล้ว!end
เพื่อบันทึก Class.HumanoidDescription ใด ๆ อวาตาร์(โดยไม่ต้องเขียนเขียวนักใช้เครื่องแต่งกายปัจจุบันของผู้ใช้) ให้ใช้ Class.AvatarEditorService:Prom
เมื่อเรียกแล้วคุณสามารถรับผลลัพธ์ของ AvatarEditorService:PromptCreateOutfit() โดยการฟังเหตุการณ์ AvatarEditorService.PromptCreateOutfitCompleted
ตัวอย่างรหัสต่อไปนี้สร้างชุดด้วย AvatarEditorService:PromptCreateOutfit() และรับฟังสำเร็จ AvatarEditorService.PromptCreateOutfitCompleted อีเวนต์:
local AvatarEditorService = game:GetService("AvatarEditorService")local Players = game:GetService("Players")local player = Players.LocalPlayerlocal character = player.Character or player.CharacterAdded:Wait()local humanoid = character:WaitForChild("Humanoid")local currentDescription = humanoid:GetAppliedDescription()AvatarEditorService:PromptCreateOutfit(currentDescription, humanoid.RigType)local result = AvatarEditorService.PromptCreateOutfitCompleted:Wait()if result == Enum.AvatarPromptResult.Success then-- บันทึกชุดแล้ว!end
การซื้อไอเทม
เมื่อบันทึกตัวละครหรือชุดที่ใช้รายการแคตตาล็อก เป็นเจ้าของก่อนบันทึกตัวละครหรือชุดใด ๆ ตรวจสอบว่าผู้ใช้มี
หากคุณไม่ต้องการให้ใช้การซื้อไอเท็ม คุณสามารถให้ผู้ใช้โปรดไอเท็มที่ไม่เป็นเจ้าของด้วย AvatarEditorService:PromptSetFavorite()