ในประสบการณ์ Tools เป็นเครื่องมือในประสบการณ์ที่ผู้ใช้สามารถใช้ในเซสชันเช่นดาบปืนยิงและแท่งเวทย์ คุณสามารถสร้างเครื่องมือในประสบการณ์ที่กำหนดไว้ในประสบก
การสร้างเครื่องมือในประสบการณ์
สำหรับขั้นตอนแรกในการสร้างเครื่องมือใด ๆ ในประสบการณ์ คุณต้อง สร้างวัตถุเครื่องมือ เพื่อรวบรวมส่วนประ
การสร้างวัตถุเครื่องมือ
คุณสามารถสร้างวัตถุเครื่องมือใหม่ด้วยขั้นตอนต่อไปนี้:
ใน หน้าต่าง Explorer เลื่อนเมาส์ไปที่ Workspace และคลิกปุ่ม ⊕ เพื่อแสดงรายการวัตถุ
เลือก เครื่องมือ ในหมวดหมู่ การโต้ตอบ
เพิ่มชิ้นส่วนหรือเมช
หลังจากสร้างวัตถุเครื่องมือคุณต้องเพิ่ม Parts หรือ MeshParts ในรุ่นเครื่องมือหรือ สร้า
หากคุณต้องการสร้างเครื่องมือโดยไม่ต้องเพิ่มชิ้นส่วนหรือช่องว่างใด ๆ คุณสามารถสร้างได้ เป็นรายการในช่องเก็บของ
การตั้งค่าตัวจับเครื่องมือ
เพื่อให้ผู้ใช้สามารถพกเครื่องมือได้ทั่วไปคุณต้องการตั้ง Part และตั้งชื่อว่า Handle สำหรับการแนบมือผู้ใช้ ตัวอย่า
ตรวจสอบให้แน่ใจว่ามีเพียงหนึ่ง Part ที่มีชื่อว่า Handle หากคุณใช้ชื่อหลาย Parts ในฐานะ 1> Handle1> จะมีเครื่องมือเลือกอย่างส
ปรับตำแหน่งการจัดตำแหน่งเครื่องมือ
หากการจัดตำแหน่งการหยิบของเครื่องมือของคุณผิด เช่น การลากลงพื้นหรือการหันหลัง คุณสามารถแก้ไขได้โดยการปรับปรุง การจัดการกับผิวหยิบ โดยใช้ รูปลักษณ์ หัวข้อใน
เนื่องจากการจัดตำแหน่งการหยิบเครื่องมือที่เหมาะสมสำหรับแต่ละเครื่องมือแตกต่างกันดังนั้นคุณจึงต้องทดลองการเปลี่ยนแปลงค่าใกล้กับ การหยิบฟอร์ด้านหน้า</
คุณยังสามารถเปิดใช้งานตัวละครของผู้ใช้เพื่อเพิ่มความสะดวกในการใช้เครื่องมือจากมือของพวกเขาด้วยสมบัติสมบัติ GripPos นี้ สิ่งนี้อาจมีประโยชน์เมื่อสร้างเครื่องมือที่ควรปรากฏบนหัวของผู้
การปรับแต่งไอคอนเครื่องมือ
เครื่องมือที่ผู้ใช้เป็นเจ้าของจะถูกเก็บไว้ใน Backpack ของพวกเขา ผู้ใช้สามารถดูไอคอนของแต่ละเครื่องมือในกระเป๋าของพวกเขาบน แถบการกระทํา :
ในหน้าต่าง โปรพีเพอร์ตี้เฟอร์นิเจอร์ ของเครื่องมือ ใช้คุณสมบัติต่อไปนี้เพื่อปรับแต่งรูปลักษณ์ของเครื่องมือในแถบการดำเนินการ:
- TextureID — ไอคอนเครื่องมือ ตั้งค่า ID ของรูปภาพสำหรับสมบัติสินค้านี้ด้วยวิธีเดียวกับเหรียญและปุ่มภาพ
- ToolTip — ชื่อเครื่องมือเมาส์ขึ้น
การเปิดใช้งานและการปิดใช้งานผู้ใช้เพื่อดรอปเครื่องมือ
ตามปกติผู้ใช้สามารถดรอปเครื่องมือโดยการกดปุ่ม แบ็คสเปซ บน Windows หรือ ลบ บน Mac คุณสามา
การสร้างเครื่องมือเป็นรายการในสินค้าคงคลัง
นอกจากนี้คุณยังสามารถสร้างเครื่องมือในประสบการณ์โดยไม่มีส่วนหรือเมชโกรธเป็นองค์ประกอบในสินค้าคงคลังเป็นรายการที่รอการป้อนข้อมูลของผู้ใช้เช่นเ
เพิ่มเครื่องมือให้กับประสบการณ์ของคุณ
เมื่อคุณจบการตั้งค่าเครื่องมือในประสบการณ์ของคุณแล้ว คุณต้องวางมันในพื้นที่ที่เหมาะสมของตัวองการของประสบการณ์ของคุณ โดยที่คุณวางเครื่องมือนี้ภายในตัวองการของประสบการณ์ของคุณจะขึ้นอยู
เครื่องมือเริ่มต้นที่กำหนด
คลังไอเท็ม 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 บนเซิร์ฟเวอร์ที่สามารถให้ผู้ใช้ใช้ไม้เวทย์ที่สามารถเปลี่ยนวันและคืนโดยการคลิกที่หน้าจอ:
ในหน้าต่าง Explorer ให้เลื่อนเมาส์ไปที่วัตถุเครื่องมือและคลิกปุ่ม ⊕ เพื่อใส่ Script
คัดลอกรหัสต่อไปนี้และวางลงใน Script ของคุณ
local Lighting = game:GetService("Lighting")local tool = script.Parentlocal function onActivate()if Lighting.ClockTime >= 8 and Lighting.ClockTime < 16 thenLighting.ClockTime = 20elseLighting.ClockTime = 8endendtool.Activated:Connect(onActivate)ทดสอบประสบการณ์ของคุณโดยการหยิบเครื่องมือแล้วคลิกที่ใดก็ได้บนหน้าจอของประสบการณ์ของคุณเพื่อเปลี่ยนระหว่างวันและคืน:
สคริปต์ที่แตกต่างกันสำหรับการใช้งานツール
บางเครื่องมือต้องการ Script บนเซิร์ฟเวอร์เท่านั้นเพื่อให้สามารถใช้งานได้ เช่นตัวอย่างก่อนหน้านี้ แต่ส่วนใหญ่ของเครื่องมือต้องการ Script
ก่อนเพิ่มสคริปต์ของคุณ พิมพ์:
- สคริปต์ จัดการการเปลี่ยนแปลงภายในโลกประสบการณ์ทั้งหมดที่มองเห็นได้สำหรับผู้ใช้ทุกคน เช่น ปลดล็อกประตูและยิงลูกศร
- LocalScript จัดการสิ่งที่เกิดขึ้นเฉพาะในอุปกรณ์ของผู้ใช้เท่านั้น เช่น ตรวจจับตำแหน่งที่พวกเขาแตะหรือคลิกหน้าจอ
นี่คือเครื่องมือบางตัวและพฤติกรรมที่จัดการโดยสคริปต์ในเครื่องมือของผู้ใช้หรือสคริปต์ในเซิร์ฟเวอร์:
เครื่องมือ | สคริปต์ท้องถิ่น | สคริปต์เซิร์ฟเวอร์ |
---|---|---|
ครีมเตอร์แห่งวัน | ตรวจจับที่ผู้เล่นแตะหรือคลิกบนหน้าจอ | สร้างส่วนใหม่ที่ตำแหน่งในโลกเกมที่ผู้เล่นแตะหรือคลิก |
เสื้อคลุมอินวิซิบิลิตี้ | ทำให้ผู้เล่นมองไม่เห็นสำหรับผู้ใช้อื่น ๆ จนกว่าจะมีเครื่องคลุม | |
มีการ์ดานega | ตรวจสอบว่าผู้เล่นใช้เครื่องมือนี้นานเท่าไหร่ (เวลาระหว่างการเปิดใช้งานและการปิดใช้งาน) | ยิงลูกศรวิเศษที่มีพลังมากขึ้นหรือน้อยลงตามเวลาการเปิดใช้งานที่ตรวจพบ |
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสคริปต์ที่แตกต่างกัน, ดู สคริปต์ .
เคล็ดลับการแก้ปัญหา
เครื่องมืออาจทำงานได้ดีใน Studio แต่ไม่ใช่ในประสบการณ์ Roblox สด หากเกิดขึ้นให้ใช้เคล็ดลับต่อไปนี้สำหรับการแก้ปัญหา:
- LocalScripts และ Scripts ไม่สามารถฟังกันได้โดยตรงดังนั้นคุณจึงต้องเพิ่ม RemoteEvent เพื่อส่งข้อความระหว่างสองสคริป
- ให้แน่ใจว่าแต่ละ Script และ LocalScript ดูแลสิ่งที่ควรทำเท่านั้น
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ RemoteEvents โปรดดู เหตุการณ์รีโมท .