Công cụ là một cách đơn giản để quản lý các vật phẩm mà người chơi có thể cầm trên tay và sử dụng trong trò chơi. Chúng có thể là từ vũ khí như kiếm đến các vật phẩm thực phẩm.
Trong hướng dẫn này, bạn sẽ học cách tạo một công cụ có hình dạng của một khẩu súng laser sẽ phát âm thanh khi được trang bị hoặc kích hoạt.

Tạo công cụ
Đối tượng Tool là cơ sở của bất kỳ công cụ nào trong Roblox, vì vậy bạn sẽ cần tạo một cái. Dễ dàng hơn để thay đổi cách mà các công cụ trông như thế nào bằng cách thêm các đối tượng như Parts và MeshParts vào công cụ trong không gian làm việc nơi chúng có thể nhìn thấy.
Chèn một Tool vào không gian làm việc và đặt tên là Blaster.

Chèn một MeshPart vào công cụ.

Đặt thuộc tính MeshId thành rbxassetid://92656610.
Đặt thuộc tính TextureId thành rbxassetid://92658105.


Công cụ cần một phần có tên là Handle để người chơi cầm. Đổi tên MeshPart thành Handle.

Lưu công cụ
Các công cụ có thể được giữ trong thế giới 3D như công cụ có thể thu thập hoặc được cung cấp cho tất cả người chơi như công cụ khởi đầu.
Công cụ có thể thu thập
Khẩu súng hiện tại là một đứa trẻ của Workspace nên nó sẽ có thể thu thập. Một người chơi có thể nhặt công cụ bằng cách chạm vào nó, khiến nó trở thành một đứa trẻ của mô hình nhân vật; công cụ sẽ sau đó được trang bị và đặt vào thanh nóng của họ.
Trong quá trình chơi, các công cụ không được trang bị được lưu trữ trong hệ thống phân cấp của người chơi trong Ba lô và sau đó được chuyển đến mô hình nhân vật của họ khi được trang bị. Bất kỳ công cụ nào trở thành một đứa trẻ của một nhân vật sẽ tự động được trang bị.


Công cụ khởi đầu
Lưu một công cụ trong StarterPack sẽ đặt nó vào Backpack của người chơi khi họ tham gia hoặc hồi sinh.
Di chuyển Blaster vào StarterPack trong Explorer.

Chơi trò chơi để kiểm tra công cụ. Nhấp vào thanh nóng ở dưới cùng của màn hình hoặc nhấn 1 trên bàn phím để trang bị công cụ.
Thuộc tính công cụ
Vị trí / hướng
Vị trí và hướng của một công cụ có thể được thay đổi bằng cách sử dụng các thuộc tính grip. GripPos thay đổi vị trí của tay cầm, trong khi GripForward, GripRight và GripUp ảnh hưởng đến độ xoay.
Hiện tại người chơi đang cầm giữa khẩu súng thay vì tay cầm.
Đặt thuộc tính GripPos của công cụ thành 0, -0.4, 1.1.

Khởi động một bài kiểm tra chơi để kiểm tra công cụ. Chú ý cách mà công cụ hiện đang được cầm ở một vị trí khác.

Trước 
Sau
Biểu tượng thanh nóng
Theo mặc định, tên của công cụ sẽ được hiển thị trên biểu tượng thanh nóng. Thực hành tốt là thay đổi biểu tượng thành một hình ảnh của công cụ. Đặt thuộc tính TextureId của công cụ thành rbxassetid://92628145.


Tooltip
Một tooltip là một mô tả văn bản nhỏ xuất hiện khi chuột di chuyển qua một công cụ trong thanh nóng. Chúng thường bao gồm tên của công cụ và/hoặc một mô tả ngắn gọn về chức năng của nó. Thay đổi thuộc tính ToolTip thành Blaster.

Sử dụng kịch bản với công cụ
Một công cụ có ba sự kiện chính mà bạn có thể kết nối: Equipped, Unequipped và Activated.
| Sự kiện | Mô tả |
|---|---|
| Equipped | Được kích hoạt khi một công cụ được trang bị bởi người chơi, ví dụ khi một công cụ được chọn trong thanh nóng. |
| Unequipped | Được kích hoạt khi một công cụ bị tháo ra bởi người chơi, ví dụ khi một công cụ bị bỏ chọn trong thanh nóng. |
| Activated | Được kích hoạt khi một công cụ được kích hoạt bởi người chơi, ví dụ khi một người chơi nhấp chuột trái. |
Những phương thức này chỉ hoạt động trong LocalScripts vì chỉ thiết bị của người chơi mới biết khi nào có đầu vào xảy ra, chẳng hạn như một nút chuột được nhấp hoặc một màn hình được chạm vào.
Thêm âm thanh
Để thấy những sự kiện này hoạt động, bạn có thể phát một âm thanh khi chúng được kích hoạt. Đầu tiên, bạn sẽ cần tạo các đối tượng Âm thanh để sử dụng cho điều này.
Chèn hai đối tượng Sound vào Handle.
Đổi tên một âm thanh thành Equip và đặt thuộc tính SoundId của nó thành rbxassetid://282906960.
Đổi tên âm thanh còn lại thành Activate và đặt thuộc tính SoundId của nó thành rbxassetid://130113322.

Thêm mã
Mã ví dụ dưới đây phát âm thanh Equip khi công cụ được trang bị và âm thanh Fire khi được kích hoạt.
Chèn một LocalScript vào công cụ và đặt tên là ToolController.

Chèn các dòng mã sau vào trong kịch bản.
local tool = script.Parentlocal function toolEquipped()tool.Handle.Equip:Play()endlocal function toolActivated()tool.Handle.Activate:Play()endtool.Equipped:Connect(toolEquipped)tool.Activated:Connect(toolActivated)Kiểm tra âm thanh hiệu ứng của khẩu súng bằng cách trang bị và nhấp để kích hoạt công cụ.
Bây giờ bạn đã biết cách tạo và lập trình một công cụ cơ bản, hãy thử tạo các công cụ đơn giản khác như đèn pin hoặc loa.