ปลั๊กอินคือส่วนขยายที่เพิ่มฟีเจอร์หรือฟังก์ชันการทำงานเพิ่มเติมให้กับสตูดิโอ คุณสามารถ ติดตั้ง ปลั๊กอินที่สร้างโดยชุมชนจาก Creator Store หรือคุณสามารถ สร้าง และ เผยแพร่ ปลั๊กอินของคุณเองไปยัง Toolbox เพื่อใช้ในเกมของคุณ
หากคุณเลือกที่จะเผยแพร่ปลั๊กอินของคุณไปยัง Creator Store คุณสามารถเสนอให้ฟรีหรือขายในราคา ดอลลาร์สหรัฐ Roblox มีการแบ่งรายได้ที่ดีที่สุดในตลาดสำหรับการขายเหล่านี้ โดยจะหักเฉพาะภาษีและค่าธรรมเนียมการประมวลผลการชำระเงิน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการขายปลั๊กอิน โปรดดูที่ Creator Store - เผยแพร่และขายทรัพย์สิน
สร้างปลั๊กอินใหม่
คุณสามารถสร้างปลั๊กอินของคุณเองเพื่อปรับปรุงการทำงานในสตูดิโอ ตัวอย่างโค้ดต่อไปนี้คือปลั๊กอินที่เรียกว่า AddEmptyScript ซึ่งแทรก Script ว่างเป็นลูกของ Instance หรือใน ServerScriptService ส่วนถัดไปจะอธิบายส่วนสำคัญในการสร้างปลั๊กอินนี้
เริ่มต้น คุณควรเปิดใช้งาน Plugin Debugging Enabled ในส่วน Studio ของการตั้งค่าของสตูดิโอ ซึ่งจะเปิดเผย PluginDebugService ในสตูดิโอ ซึ่งให้การดีบักแบบเรียลไทม์สำหรับโค้ดของปลั๊กอินของคุณและทำให้การโหลดและบันทึกปลั๊กอินของคุณง่ายขึ้น
local ServerScriptService = game:GetService("ServerScriptService")
local Selection = game:GetService("Selection")
-- สร้างส่วนของแถบเครื่องมือใหม่และโฟลเดอร์เมนูปลั๊กอินที่ชื่อว่า "Custom"
local toolbar = plugin:CreateToolbar("Custom")
-- เพิ่มปุ่มแถบเครื่องมือที่มีป้ายชื่อว่า "Empty Script"
local newScriptButton = toolbar:CreateButton("Empty Script", "สร้างสคริปต์ว่าง", "rbxassetid://14978048121")
-- ทำให้ปุ่มคลิกได้แม้ว่า 3D viewport จะถูกซ่อน
newScriptButton.ClickableWhenViewportHidden = true
local function onPluginButtonClicked()
local selectedObjects = Selection:Get()
local parent = selectedObjects[1] or ServerScriptService
local newScript = Instance.new("Script")
newScript.Source = ""
newScript.Parent = parent
end
newScriptButton.Click:Connect(onPluginButtonClicked)บันทึกสคริปต์ปลั๊กอิน
ในการสร้างปลั๊กอิน ให้สร้าง Script ใหม่และบันทึกไว้ในเครื่อง
แทรก Script ใหม่ภายใน ServerStorage และเปลี่ยนชื่อเป็น AddEmptyScript.

คัดลอกและวางโค้ด AddEmptyScript Plugin ข้างต้นลงในสคริปต์ใหม่
เมื่อเลือกสคริปต์ใหม่ในหน้าต่าง Explorer ให้เลือก บันทึกเป็นปลั๊กอินท้องถิ่น จากเมนู Plugins ของสตูดิโอ
ในหน้าต่างป๊อปอัป ให้คลิก บันทึก เพื่อแทรกสคริปต์ปลั๊กอินลงในโฟลเดอร์ Plugins ท้องถิ่นของการติดตั้งสตูดิโอ
ปลั๊กอินควรปรากฏใน PluginDebugService และเริ่มทำงาน
- สำคัญลบสคริปต์ต้นฉบับใน ServerStorage และทำงานจากปลั๊กอิน AddEmptyScript ภายใน PluginDebugService มิฉะนั้นคุณอาจจะทำการเปลี่ยนแปลงในสคริปต์ที่ไม่ถูกต้อง

เพิ่มปุ่มแถบเครื่องมือ
ในการเพิ่มปุ่มสำหรับปลั๊กอินของคุณไปยังแท็บ Plugins ของแถบเครื่องมือในสตูดิโอ ให้ใช้วิธี Plugin:CreateToolbar() และ PluginToolbar:CreateButton() ในโค้ดสำหรับ AddEmptyScript บรรทัดที่ 5 สร้างส่วนใหม่ในแถบเครื่องมือและโฟลเดอร์เมนู Plugins ที่ชื่อว่า Custom ขณะที่บรรทัดที่ 8 สร้างปุ่มที่มีป้ายชื่อว่า Empty Script

รันโค้ดเมื่อคลิก
เพื่อให้ปลั๊กอินทำงานเมื่อผู้ใช้คลิกปุ่มแถบเครื่องมือ ให้เชื่อมต่อฟังก์ชันกับเหตุการณ์ PluginToolbarButton.Click ของปุ่ม ในโค้ดสำหรับ AddEmptyScript ฟังก์ชันที่เชื่อมต่อคือ onPluginButtonClicked()
ตรวจสอบการเลือกของผู้ใช้
เพื่อปรับเปลี่ยนพฤติกรรมของปลั๊กอินตามสิ่งที่ผู้ใช้เลือก ใช้บริการ Selection ฟังก์ชัน onPluginButtonClicked() จะตรวจสอบว่าผู้ใช้มีการเลือกอะไรหรือไม่และสร้างสคริปต์ใหม่เป็นลูกของมันแทนที่จะอยู่ภายใน ServerScriptService หากผู้ใช้ไม่มีการเลือกอะไร มันจะสร้างสคริปต์ใหม่ใน ServerScriptService

รองรับการเลิกทำและทำซ้ำ
ใช้ ChangeHistoryService เพื่อให้ผู้ใช้สามารถเลิกทำและทำซ้ำการเปลี่ยนแปลงที่ทำโดยปลั๊กอินภายในเกม ในสคริปต์ของคุณ ให้ตั้งค่าปลั๊กอินเพื่อเรียก TryBeginRecording() และเก็บรหัสระบุที่กำหนดให้กับการเรียก API ก่อนที่จะทำการเปลี่ยนแปลง จากนั้นตั้งค่าปลั๊กอินเพื่อเรียก FinishRecording() หลังจากทำการเปลี่ยนแปลง เพื่อให้บันทึกการเปลี่ยนแปลงใด ๆ ที่เกิดขึ้นในระหว่างเซสชันการบันทึกสำหรับการเลิกทำและทำซ้ำ
ตัวอย่างโค้ดต่อไปนี้สร้างปลั๊กอินตัวอย่างที่สามารถใช้วัสดุเนออนกับส่วนที่เลือก มันใช้ ChangeHistoryService เพื่อบันทึกและจัดการการเปลี่ยนแปลงที่ทำโดยปลั๊กอิน:
local ChangeHistoryService = game:GetService("ChangeHistoryService")
local Selection = game:GetService("Selection")
-- สร้างปลั๊กอินตัวอย่าง
local toolbar = plugin:CreateToolbar("Example Plugin")
local button = toolbar:CreateButton("Neon it up", "", "")
-- เชื่อมต่อฟังก์ชันกับเหตุการณ์คลิก
button.Click:Connect(function()
-- พยายามเริ่มการบันทึกด้วยรหัสระบุเฉพาะ
local recording = ChangeHistoryService:TryBeginRecording("Set selection to neon")
-- ตรวจสอบว่าการบันทึกเริ่มต้นสำเร็จหรือไม่
if not recording then
-- นี่แสดงว่าปลั๊กอินของคุณเริ่มการบันทึกก่อนหน้านี้และไม่เคยเสร็จสิ้น
-- คุณอาจมีการบันทึกเพียงหนึ่งรายการต่อปลั๊กอินที่ใช้งานอยู่ในเวลาเดียวกัน
return
end
-- ทำการวนซ้ำผ่านอินสแตนซ์ที่เลือก
for _, instance in Selection:Get() do
-- ตรวจสอบว่าอินสแตนซ์เป็น BasePart หรือไม่
if instance:IsA("BasePart") then
instance.Material = Enum.Material.Neon -- ตั้งค่าวัสดุของส่วนเป็นเนออน
end
end
-- เสร็จสิ้นการบันทึก โดยการบันทึกการเปลี่ยนแปลงไปยังประวัติ
ChangeHistoryService:FinishRecording(recording, Enum.FinishRecordingOperation.Commit)
end)อัปโหลดปลั๊กอิน
หลังจากที่คุณสร้างปลั๊กอินเสร็จแล้ว คุณสามารถอัปโหลดไปยังคลังของคุณเพื่อให้สามารถเข้าถึงได้ในทุกโปรเจกต์ของคุณ
ในการอัปโหลดปลั๊กอิน:
ในหน้าต่าง Explorer ให้เลือกสคริปต์ปลั๊กอิน
ไปที่เมนู Plugins ของสตูดิโอ จากนั้นเลือก เผยแพร่เป็นปลั๊กอิน
- ไม่บังคับในมุมซ้ายบนของหน้าต่างการกำหนดค่าทรัพย์สิน ให้คลิกที่ภาพปริศนาที่ตั้งค่าไว้เพื่ออัปโหลดภาพขนาด 512×512 สำหรับปลั๊กอินของคุณ
กรอกข้อมูลในฟิลด์ต่อไปนี้:
- ชื่อ — ชื่อสำหรับปลั๊กอินของคุณ
- คำอธิบาย — คำอธิบายที่บอกว่าผู้ใช้ที่มีศักยภาพสามารถคาดหวังให้ปลั๊กอินทำอะไรได้บ้าง
- ผู้สร้าง — ผู้สร้างหรือกลุ่มที่คุณต้องการให้เครดิตเป็นผู้สร้างปลั๊กอิน
คลิกปุ่ม ส่ง ปลั๊กอินของคุณจะพร้อมใช้งานใน Toolbox ภายใต้แท็บ คลัง และ การสร้าง
เผยแพร่และขายปลั๊กอิน
คุณสามารถเผยแพร่และขายปลั๊กอินของคุณเองใน Creator Store ให้ผู้อื่นใช้ในการพัฒนาเกมของตน วิธีการสร้างรายได้นี้ช่วยให้คุณได้รับ 100% ของรายได้สุทธิจากการทำธุรกรรม โดยไม่ต้องจ่ายค่าธรรมเนียมแพลตฟอร์มหรืออัตรา DevEx สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการนี้ รวมถึงวิธีการตั้งค่าบัญชีผู้ขายเพื่อกำหนดราคาและรับการจ่ายเงิน โปรดดูที่ Creator Store - เผยแพร่และขายทรัพย์สิน