Trong kinh nghiệm Tools là công cụ tương tác mà người dùng có thể trang bị trong phiên, chẳng hạn như kiếm, tên lửa phóng và gậy phép thuật.Bạn có thể tạo công cụ tùy chỉnh trong trải nghiệm, đặt chúng vào cấp bậc trải nghiệm của bạn và viết kịch bản để triển khai chúng cho người dùng của bạn.
Tạo một công cụ trong kinh nghiệm
Đối với bước đầu tiên trong việc tạo bất kỳ công cụ trong kinh nghiệm nào, bạn cần tạo một đối tượng công cụ để chứa tất cả các yếu tố tạo nên công cụ.Bạn có thể thêm các ví dụ khác vào đối tượng công cụ bao gồm phần và khối , hiệu ứng âm thanh, và các tập lệnh cung cấp chức năng.Bạn cũng có thể thiết lập một tay cầm công cụ, điều chỉnh tay cầm công cụ và tùy chỉnh biểu tượng công cụ của bạn để cải thiện trải nghiệm người dùng.
Tạo đối tượng công cụ
Bạn có thể tạo một đối tượng công cụ mới với các bước sau:
Trong cửa sổ Explorer , di chuột qua Không gian làm việc và nhấp vào nút ⊕ để hiển thị danh sách các đối tượng.
Chọn Công cụ dưới thể loạimục Tương tác .
Thêm các bộ phận hoặc khối
Sau khi tạo đối tượng công cụ, bạn cần thêm Parts hoặc MeshParts vào mô hình công cụ hoặc tạo công cụ như một mặt hàng tồn kho mà không có các bộ phận và lưới.Giống như các mô hình khác, công cụ trong kinh nghiệm có thể bao gồm nhiều Parts , vì vậy bạn cần kết nối tất cả các bộ phận của công cụ lại với nhau bằng cách sử dụng các hạn chế Weld .
Nếu bạn muốn tạo một công cụ mà không thêm bộ phận hoặc khối, bạn có thể tạo nó như một mục tồn kho .
Đặt tay cầm công cụ
Để cho phép người dùng mang công cụ xung quanh, bạn cần thiết lập một Part và đặt tên nó là Handle để gắn vào tay người dùng.Ví dụ sau đây cho thấy một cây gậy phép thuật có ba phần: một đầu sáng, cơ thânchính, và một tay cầm đỏ.Khi một người dùng trang bị gậy, họ giữ nó tại Part có tên Handle .

Hãy chắc chắn chỉ có một Part có tên là Handle.Nếu bạn đặt nhiều Parts tên như Handle , công cụ sẽ ngẫu nhiên chọn một trong số chúng là điểm kết nối tay có thể gây ra các vấn đề như người dùng giữ lưỡi kiếm thay vì gậy.
Chỉnh sửa hướng cầm công cụ
Nếu chiều xoay của công cụ của bạn không chính xác, chẳng hạn như kéo trên mặt đất hoặc quay ngược lại, bạn có thể sửa lỗi bằng cách điều chỉnh Grip tính chất dưới danh mục Ngoại hình trong cửa sổ Tính chất .

Vì hướng cầm lý tưởng cho mỗi công cụ là khác nhau, bạn cần thử thay đổi các giá trị bên cạnh GripForward , GripRight và GripUp cho đến khi cầm của công cụ của bạn trông đúng.Ví dụ sau đây cho thấy các lỗi có thể không chính xác và chính xác cho một cây gậy phép thuật:



Bạn cũng có thể bật nhân vật người dùng để bù trừ công cụ từ tay họ với thuộc tính GripPos .Điều này có thể hữu ích khi tạo một công cụ nên xuất hiện trên vai của người dùng.


Tùy chỉnh biểu tượng công cụ
Các công cụ mà người dùng sở hữu được lưu trong Backpack của họ. Người dùng có thể xem biểu tượng của mỗi công cụ trong ba lô của họ trên thanh hành động :

Trong cửa sổ Tính năng của công cụ, sử dụng các thuộc tính sau để tùy chỉnh sự xuất hiện của công cụ trong thanh hành động:
- ID kết cấu — Biểu biểu tượngcông cụ. Thiết lập ID hình ảnh cho thuộc tính này giống như tem và nút hình ảnh.
- Thông tin công cụ — Tên thông tin công cụ khi nhấp chuột.
Bật và tắt người dùng để thả công cụ
Mặc định, người dùng có thể thả công cụ bằng cách nhấn phím Backspace trên Windows hoặc xóa trên Mac.Bạn có thể vô hiệu hóa tùy chọn này bằng cách đặt thuộc tính CanBeDropped của công cụ thành false .Nếu CanBeDropped là false , nhấn Backspace hoặc xóa trả về công cụ vào ba lô của người dùng.
Tạo công cụ như vật phẩm kho hàng
Bạn cũng có thể tạo một công cụ trong trải nghiệm mà không có các bộ phận hoặc khối mạch như một mục tồn kho chờ đợi nhập từ người dùng, chẳng hạn như một phép thuật mà nhân vật người dùng có thể nhấp vào người khác hoặc chạm vào màn hình để phát sóng nó.Các công cụ mục không yêu cầu tay cầm, vì vậy bạn cần phải bỏ chọn thuộc tính Cần tay cầm trong cửa sổ Tính năng của công cụ .

Thêm công cụ vào trải nghiệm của bạn
Khi bạn hoàn thành việc thiết lập công cụ trong kinh nghiệm, bạn cần đặt nó ở khu vực thích hợp trong hệ thống phân cấp đối tượng kinh nghiệm của bạn.Nơi bạn đặt công cụ trong cấu trúc đối tượng của trải nghiệm phụ thuộc vào mục đích sử dụng của nó.
Công cụ khởi động mặc định
Nếu bạn muốn tất cả người dùng bắt đầu với một công cụ trong kho hàng của họ, hãy đặt nó vào thư mục StarterPack .Khi bất kỳ người dùng nào xuất hiện, hệ thống sao chép công cụ vào ba lô của họ.

Công cụ thu thập có giá trị
Nếu bạn muốn cho phép người dùng thu thập công cụ khi họ di chuyển, bạn có thể đặt công cụ vào Workspace trong Explorer trong cấu trúc.Ví dụ, bạn có thể muốn đặt một pháo tên lửa siêu nhanh trong một khu vực khó tiếp cận của thế giới trải nghiệm của bạn.

Công cụ kiếm được và mua
Nếu bạn muốn đặt công cụ là giải thưởng khi người dùng làm điều gì đó đặc biệt hoặc cung cấp nó để bán trong cửa hàng trải nghiệm, hãy đặt công cụ vào ServerStorage trong Explorer cấp bậc, có thể sao chép công cụ cho ba lô của người dùng vào thời điểm thích hợp.

Thêm hiệu ứng công cụ
Sau khi thêm công cụ của bạn vào trải nghiệm, bạn có thể thêm các kịch bản để bật khả năng cho người dùng sử dụng công cụ để thực hiện các hiệu ứng đặc biệt.
Sự kiện cụ thể cho công cụ
Bạn có thể sử dụng bốn điều kiện cụ thể cho công cụ sau đây chỉ ra tình trạng của công cụ và nhập của người dùng với nó trong kịch bản công cụ của bạn:
Tool:Equipped() : Xảy ra khi người dùng chọn công cụ từ ba lô của họ.
Tool:Unequipped() : Xảy ra khi người dùng thả công cụ hoặc chuyển công cụ.
Tool:Activated() : Xảy ra khi người dùng bắt đầu kích hoạt công cụ (nhấp, chạm hoặc nhấn A trên gamepad).
Tool:Deactivated() : Xảy ra khi người dùng ngừng nhập kích hoạt (phát hành nút hoặc chạm).
Mặc dù bạn có thể không cần tất cả bốn điều kiện khi thiết kế một công cụ, bạn có thể sử dụng mã lệnh sau đây như một mẫu kịch bản công cụ cơ bản:
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)
Ví dụ mã này cho rằng kịch bản là một con trai cấp đầu tiên bên trong đối tượng công cụ.Nếu kịch bản ở nơi khác, điều chỉnh con đường trên dòng 1 (giá trị của tool) để chỉ vào đối tượng công cụ chính.
Thêm một kịch bản cơ bản
Ví dụ sau đây cho thấy các bước để thêm một Script trên máy chủ cho phép người dùng trang bị một cây gậy phép thuật có thể chuyển đổi ngày và đêm bằng cách nhấp vào màn hình:
Trong cửa sổ Explorer, di chuột qua đối tượng công cụ và nhấp vào nút ⊕ để chèn một Script .
Sao chép mã sau và dán vào Script của bạn.
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)Thử nghiệm trải nghiệm của bạn bằng cách nhặt công cụ và sau đó nhấp vào bất kỳ nơi nào trên màn hình trải nghiệm của bạn để chuyển đổi giữa ngày và đêm:
Các loại kịch bản khác nhau cho việc triển khai công cụ
Một số công cụ chỉ cần một Script trên máy chủ để triển khai, như ví dụ trước, nhưng hầu hết các công cụ yêu cầu cả một Script trên máy chủ và một LocalScript trên khách hàng, nơi mỗi công cụ chăm sóc cho một số khía cạnh nhất định của hành vi công cụ.
Trước khi thêm các kịch bản của bạn, hãy chắc chắn rằng bạn hiểu sự khác biệt chính giữa mỗi đánh máykịch bản:
- Tập lệnh quản lý các thay đổi trong thế giới trải nghiệm chung có thể nhìn thấy được với tất cả người dùng, chẳng hạn như mở cửa và bắn một mũi tên.
- LocalScript quản lý những thứ xảy ra chỉ trên thiết bị của người dùng, chẳng hạn như phát hiện vị trí mà họ chạm hoặc nhấp vào màn hình.
Dưới đây là một số công cụ ví dụ và hành vi được quản lý bởi một kịch bản địa phương hoặc một kịch bản máy chủ:
Công cụ | Tập lệnh địa phương | Tập lệnh máy chủ |
---|---|---|
Cây gậy của Nhà sáng tạo | Phát hiện nơi người chơi chạm hoặc nhấp vào màn hình. | Tạo một phần mới tại vị trí trong thế giới trò chơi mà người chơi chạm hoặc nhấp. |
Áo choàng vô hình | Tạm thời làm cho người chơi vô hình với tất cả các người dùng khác, trong khi áo choàng được trang bị. | |
Cung siêu lớn | Phát hiện thời gian người chơi kích hoạt công cụ (thời gian giữa kích hoạt và vô hiệu hóa). | Bắn một mũi tên ma thuật có sức mạnh lớn hơn hoặc nhỏ hơn, tùy thuộc vào thời gian kích hoạt được phát hiện. |
Để biết thêm thông tin về các loại kịch bản khác nhau, xem Kịch bản.
Mẹo khắc phục sự cố
Một công cụ có thể hoạt động tốt trong Studio nhưng không trong trải nghiệm Roblox trực tiếp. Nếu xảy ra, hãy sử dụng các lời khuyên sau đây để giải quyết sự cố:
- LocalScripts và Scripts không thể lắng nghe trực tiếp lẫn nhau, vì vậy bạn cần thêm một RemoteEvent để gửi tin nhắn giữa hai kịch bản.
- Hãy chắc chắn rằng mỗi Script và LocalScript chỉ chăm sóc chính xác những gì nó phải làm.
Để biết thêm thông tin về RemoteEvents , xem Sự kiện và cuộc gọi từ xa .