เครื่องมือในประสบการณ์

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ในประสบการณ์ Tools เป็นเครื่องมือโต้ตอบที่ผู้ใช้สามารถติดตั้งในเซสชันได้ เช่น ดาบ ตัวปล่อยจรวด และไม้วิเศษคุณสามารถสร้างเครื่องมือที่กำหนดเองในประสบการณ์ วางไว้ในลำดับชั้นประสบการณ์ของคุณ และเขียนสคริปต์เพื่อใช้งานสำหรับผู้ใช้ของคุณ

สร้างเครื่องมือในประสบการณ์

สำหรับขั้นตอนแรกในการสร้างเครื่องมือในประสบการณ์ใดๆ คุณต้อง สร้างวัตถุเครื่องมือ เพื่อบรรจุองค์ประกอบทั้งหมดที่ทำให้เครื่องมือเสร็จสมบูรณ์จากนั้นคุณสามารถเพิ่มตัวอย่างอื่นในวัตถุเครื่องมือรวมถึง ชิ้นส่วนและเมช เอฟเฟกต์เสียง และสคริปต์ที่ให้ฟังก์ชันคุณยังสามารถตั้งค่าการจัดการเครื่องมือ , ปรับการจับคู่เครื่องมือ และ ปรับแต่งไอคอนเครื่องมือของคุณ เพื่อปรับปรุงประสบการณ์ของผู้ใช้

สร้างวัตถุเครื่องมือ

คุณสามารถสร้างวัตถุเครื่องมือใหม่ด้วยขั้นตอนต่อไปนี้:

  1. ในหน้าต่าง สํารวจ เลื่อนเมาส์ไปที่ พื้นที่ทํางาน และคลิกที่ปุ่ม เพื่อแสดงรายการวัตถุ

  2. เลือก เครื่องมือ ภายใต้หมวดหมู่ การโต้ตอบ

เพิ่มชิ้นส่วนหรือเมช

หลังจากสร้างวัตถุเครื่องมือแล้ว คุณต้องเพิ่ม Parts หรือ MeshParts ในโมเดลเครื่องมือหรือ สร้างเครื่องมือเป็นรายการสินค้าไม่มีชิ้นส่วนและเมชเช่นเดียวกับโมเดลอื่นๆ เครื่องมือในประสบการณ์สามารถประกอบด้วยหลายส่วน Parts ดังนั้นคุณจึงต้องเชื่อมต่อทุกส่วนของเครื่องมือรวมกันโดยใช้ข้อจำกัด Weld

หากต้องการสร้างเครื่องมือโดยไม่เพิ่มชิ้นส่วนหรือเมช คุณสามารถ สร้างเป็นรายการสินค้าคงคลัง ได้

ตั้งค่าการจัดการเครื่องมือ

เพื่อให้ผู้ใช้สามารถพกเครื่องมือได้ คุณต้องตั้งค่า Part และตั้งชื่อให้มัน Handle เพื่อติดตั้งบนมือของผู้ใช้ตัวอย่างต่อไปแสดงไม้วิเศษที่มีสามส่วน: เคล็ดลับเรืองแสง ส่วนหลัก และจัดการสีแดงเมื่อผู้ใช้ติดตั้งไม้กายสิทธิ์ พวกเขาจะถือไว้ที่ Part ที่ชื่อว่า Handle

ตรวจสอบให้มีเพียงหนึ่ง Part ที่ชื่อว่า Handle เท่านั้นหากคุณชื่อหลาย Parts เป็น Handle เครื่องมือจะสุ่มเลือกหนึ่งในนั้นเป็นจุดต่อมือที่อาจทำให้เกิดปัญหาเช่นผู้ใช้ถือดาบแทนที่จะถือหอก

ปรับการจับด้านเครื่องมือ

หากการจับตัวของเครื่องมือของคุณไม่ถูกต้อง เช่น ลากบนพื้นดินหรือเผชิญหน้ากับด้านหลัง คุณสามารถแก้ไขได้โดยปรับคุณสมบัติ การจับ ภายใต้หมวดหมู่ รูปลักษณ์ ในหน้าต่าง คุณสมบัติ

เนื่องจากทิศทางการจับที่เหมาะสมสำหรับเครื่องมือแต่ละอย่างแตกต่างกัน คุณจึงต้องทดลองกับการเปลี่ยนค่าที่อยู่ติดกับ GripForward , GripRight และ GripUp จนกว่าการจับของเครื่องมือของคุณจะดูถูกต้องตัวอย่างต่อไปแสดงการจับที่ไม่ถูกต้องและถูกต้องสำหรับไม้วิเศษ:

การลากเครื่องมือบนพื้นดิน
เครื่องมือหันกลับไปข้างหลัง
เครื่องมือจัดอย่างถูกต้อง

คุณยังสามารถเปิดใช้งานตัวละครผู้ใช้เพื่อชดเชยเครื่องมือจากมือของพวกเขาด้วยคุณสมบัติ GripPos นี่อาจมีประโยชน์เมื่อสร้างเครื่องมือที่ควรปรากฏบนไหล่ของผู้ใช้

ค่าออฟเซ็ตเริ่มต้น (0,0,0)
>

เครื่องมือเลื่อนไปที่ไหล่

ปรับแต่งไอคอนเครื่องมือ

เครื่องมือที่ผู้ใช้เป็นเจ้าของจะถูกเก็บไว้ใน ผู้ใช้สามารถดูไอคอนของเครื่องมือแต่ละอย่างในกระเป๋าเป้สะพายหลังของพวกเขาบนแถบการดำเนินการ :

ในหน้าต่าง คุณสมบัติ ของเครื่องมือ ใช้คุณสมบัติต่อไปนี้เพื่อปรับแต่งรูปลักษณ์ของเครื่องมือในแถบการดำเนินการ:

  • TextureID — ไอคอนเครื่องมือ กำหนด ID รูปภาพสำหรับคุณสมบัตินี้เช่นเดียวกับรูปภาพและปุ่มภาพ
  • คำอธิบายเครื่องมือ — ชื่อคำอธิบายเครื่องมือในขณะที่เลื่อน

เปิดใช้งานและปิดใช้งานผู้ใช้เพื่อวางเครื่องมือ

โดยค่าเริ่มต้น ผู้ใช้สามารถวางเครื่องมือลงโดยกดปุ่ม Backspace บน Windows หรือ ลบ บน Macคุณสามารถปิดใช้งานตัวเลือกนี้โดยการตั้งค่าคุณสมบัติ CanBeDropped ของเครื่องมือเป็น falseหาก CanBeDropped เป็น false การกด Backspace หรือ ลบ จะส่งเครื่องมือกลับไปยังกระเป๋าเป้สะพายหลังของผู้ใช้

สร้างเครื่องมือเป็นรายการสินค้าคงคลัง

คุณยังสามารถสร้างเครื่องมือในประสบการณ์โดยไม่มีชิ้นส่วนหรือเมชที่เป็นรายการสินค้าคงคลังที่รอการใส่ข้อมูลจากผู้ใช้ เช่น คาถาเวทย์มนตร์ที่ตัวละครผู้ใช้สามารถคลิกหรือแตะหน้าจอเพื่อโยนมันได้เครื่องมือรายการสินค้าคงคลังไม่ต้องใช้จัดการ ดังนั้นคุณจึงต้องยกเลิกคุณสมบัติ ต้องใช้จัดการ ในหน้าต่างคุณสมบัติของเครื่องมือ คุณสมบัติ

เพิ่มเครื่องมือให้ประสบการณ์ของคุณ

เมื่อคุณเสร็จสิ้นการตั้งค่าเครื่องมือในประสบการณ์แล้ว คุณต้องวางไว้ในพื้นที่ที่เหมาะสมของวัตถุภายในระบบนิเวศของประสบการณ์ตำแหน่งที่คุณวางเครื่องมือภายในหน้าที่ของวัตถุในประสบการณ์ขึ้นอยู่กับการใช้งานที่ตั้งใจไว้

เครื่องมือเริ่มต้นเริ่มต้น

คลังไอเท็มให้วางไว้ภายในโฟลเดอร์ StarterPack เมื่อผู้ใช้คนใดคนหนึ่งเกิดขึ้น ระบบจะคัดลอกเครื่องมือไปยังกระเป๋าเป้สะพายหลังของพวกเขา

เครื่องมือที่สะสมได้

หากคุณต้องการให้ผู้ใช้สามารถรวบรวมเครื่องมือได้เมื่อพวกเขาเคลื่อนที่ คุณสามารถวางเครื่องมือใน พื้นที่ทํางาน ใน สํารวจ ระดับได้ตัวอย่างเช่น คุณอาจต้องการวางเครื่องยิงจรวดซุปเปอร์ในพื้นที่ที่ยากที่จะเข้าถึงในโลกประสบการณ์ของคุณ

ได้รับและซื้อเครื่องมือ

หากคุณต้องการตั้งเครื่องมือให้เป็นรางวัลเมื่อผู้ใช้ทำสิ่งพิเศษหรือนำเสนอให้ขายในร้านค้าประสบการณ์ ให้วางเครื่องมือไว้ภายใน พื้นที่เก็บของเซิร์ฟเวอร์ ในระดับ Explorer ซึ่งสามารถโคลนเครื่องมือไปยังกระเป๋าของผู้ใช้ได้ในเวลาที่เหมาะสม

เพิ่มเอฟเฟกต์เครื่องมือ

หลังจากเพิ่มเครื่องมือของคุณให้กับประสบการณ์แล้ว คุณสามารถเพิ่มสคริปต์เพื่อให้ผู้ใช้สามารถใช้เครื่องมือเพื่อทําเอฟเฟกต์พิเศษได้

อีเวนต์เฉพาะของเครื่องมือ

คุณสามารถใช้เงื่อนไขสี่ข้อที่เฉพาะเจาะจงสำหรับเครื่องมือที่ระบุสถานะของเครื่องมือและการป้อนของผู้ใช้ด้วยในสคริปต์เครื่องมือของคุณ:

  • Tool:Equipped() : เกิดขึ้นเมื่อผู้ใช้เลือกเครื่องมือจากกระเป๋าเป้สะพายหลัง

  • Tool:Unequipped() : เกิดขึ้นเมื่อผู้ใช้วางเครื่องมือหรือเปลี่ยนเครื่องมือ

  • Tool:Activated() : เกิดขึ้นเมื่อผู้ใช้เริ่มเปิดใช้งานเครื่องมือ (คลิก แตะ หรือกด A บนคอนโซลเกม)

  • Tool:Deactivated() : เกิดขึ้นเมื่อผู้ใช้หยุดการใส่ข้อมูลการเปิดใช้งาน (ปล่อยปุ่มหรือแตะ)

แม้ว่าคุณอาจไม่ต้องการทั้งสี่เงื่อนไขเมื่อออกแบบเครื่องมือ คุณสามารถใช้สคริปต์โค้ดต่อไปนี้เป็นเทมเพลตสคริปต์เครื่องมือพื้นฐาน:


local tool = script.Parent
local function onEquip()
print("The tool is now equipped.")
end
local function onUnequip()
print("The tool is now unequipped.")
end
local function onActivate()
print("The tool is now activated.")
end
local function onDeactivate()
print("The tool is now deactivated.")
end
tool.Equipped:Connect(onEquip)
tool.Unequipped:Connect(onUnequip)
tool.Activated:Connect(onActivate)
tool.Deactivated:Connect(onDeactivate)

ตัวอย่างโค้ดนี้คาดว่าสคริปต์เป็นลูกบนระดับแรกภายในวัตถุเครื่องมือหากสคริปต์อยู่ที่อื่นปรับเส้นทางในบรรทัดที่ 1 (ค่าของ tool) เพื่อชี้ไปที่วัตถุเครื่องมือหลัก

เพิ่มสคริปต์พื้นฐาน

ตัวอย่างต่อไปนี้แสดงขั้นตอนสำหรับการเพิ่ม Script บนเซิร์ฟเวอร์ที่ช่วยให้ผู้ใช้สามารถติดตั้งไม้วิเศษที่สามารถสลับวันและคืนได้โดยคลิกที่หน้าจอ:

  1. ในหน้าต่าง Explorer เลื่อนเมาส์ไปที่วัตถุเครื่องมือและคลิกที่ปุ่ม เพื่อใส่ Script

  2. คัดลอกโค้ดต่อไปและวางลงใน Script ของคุณ


    local Lighting = game:GetService("Lighting")
    local tool = script.Parent
    local function onActivate()
    if Lighting.ClockTime >= 8 and Lighting.ClockTime < 16 then
    Lighting.ClockTime = 20
    else
    Lighting.ClockTime = 8
    end
    end
    tool.Activated:Connect(onActivate)
  3. ทดสอบประสบการณ์ของคุณโดยหยิบเครื่องมือแล้วคลิกที่ใดก็ได้บนหน้าจอประสบการณ์ของคุณเพื่อสลับระหว่างวันและคืน:

สคริปต์ประเภทต่างๆ สำหรับการใช้งานเครื่องมือ

เครื่องมือบางอย่างต้องการเพียง Script บนเซิร์ฟเวอร์เพื่อใช้งาน เช่นตัวอย่างก่อนหน้านี้ แต่เครื่องมือส่วนใหญ่ต้องการทั้ง Script บนเซิร์ฟเวอร์และ LocalScript บนไคลเอนต์ ซึ่งแต่ละอย่างดูแลเกี่ยวกับด้านต่างๆ ของพฤติกรรมของเครื่องมือ

ก่อนที่จะเพิ่มสคริปต์ของคุณ พิมพ์:

  • สคริปต์ จัดการการเปลี่ยนแปลงภายในโลกประสบการณ์โดยรวมที่มองเห็นได้สำหรับผู้ใช้ทั้งหมด เช่น ปลดล็อกประตูและยิงลูกธนู
  • สคริปท์ท้องถิ่น จัดการสิ่งที่เกิดขึ้นเฉพาะในอุปกรณ์ของผู้ใช้เท่านั้น เช่น การตรวจจับตำแหน่งที่พวกเขาแตะหรือคลิกที่หน้าจอ

นี่คือเครื่องมือบางตัวและพฤติกรรมที่จัดการโดยสคริปต์ท้องถิ่นหรือสคริปต์เซิร์ฟเวอร์:

เครื่องมือสคริปต์ท้องถิ่นสคริปต์เซิร์ฟเวอร์
ไม้กายสิทธิ์ของผู้สร้างตรวจจับว่าผู้เล่นแตะหรือคลิกที่หน้าจอเมื่อใดสร้างส่วนใหม่ที่ตำแหน่งภายในโลกเกมที่ผู้เล่นแตะหรือคลิก
เสื้อคลุมล่องหนทำให้ผู้เล่นไม่สามารถมองเห็นผู้ใช้รายอื่นได้ชั่วคราวในขณะที่สวมใส่เครื่องแต่งกาย
เมกะโบว์ตรวจสอบระยะเวลาที่ผู้เล่นใช้เครื่องมือ (ระยะเวลาระหว่างการเปิดใช้งานและการปิดใช้งาน)ยิงลูกธนูวิเศษที่มีพลังมากกว่าหรือน้อยกว่าขึ้นอยู่กับเวลาการเปิดใช้งานที่ตรวจพบ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับประเภทสคริปต์ที่แตกต่างกันดูที่ สคริปต์

เคล็ดลับการแก้ปัญหา

เครื่องมืออาจทำงานได้ดีใน Studio แต่ไม่ใช่ในประสบการณ์ Roblox สด หากเกิดขึ้น ให้ใช้เคล็ดลับต่อไปนี้สำหรับการแก้ไขปัญหา:

  • LocalScripts และ Scripts ไม่สามารถฟังกันได้โดยตรงดังนั้นคุณจึงต้องเพิ่ม RemoteEvent เพื่อส่งข้อความระหว่างสคริปทั้งสอง
  • ตรวจสอบให้แน่ใจว่าแต่ละ Script และ LocalScript ดูแลเฉพาะสิ่งที่ควรทำอย่างแม่นยำเท่านั้น

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ RemoteEvents ดู อีเวนต์ระยะไกลและการโทรกลับ