Các 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à các loại vũ khí như kiếm hoặc các loại 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ụ hình dạng một khẩu súng laser sẽ phát ra â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 phải tạo một cái. Dễ dàng hơn để thay đổi cách mà các công cụ nhìn 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 tên là Handle để người chơi cầm. Đổi tên của 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 đang là con của Workspace nên nó sẽ có thể thu thập. 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 con của mô hình nhân vật; công cụ sẽ được trang bị và đặt trong hotbar 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 Backpack 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 con 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ải nghiệm để thử nghiệm công cụ. Nhấp vào hotbar ở góc dưới 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 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 điểm nắm, trong khi GripForward, GripRight và GripUp ảnh hưởng đến sự xoay.
Hiện tại, người chơi đang cầm vào trung tâm của khẩu súng thay vì vào điểm nắm.
Đặt thuộc tính GripPos của công cụ thành 0, -0.4, 1.1.

Khởi động một buổi thử nghiệm để thử nghiệm công cụ. Lưu ý cách mà công cụ giờ đây đang được cầm ở một vị trí khác.

Trước 
Sau
Biểu tượng hotbar
Theo mặc định, tên của công cụ sẽ được hiển thị trên biểu tượng hotbar. 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 hotbar. Chúng thường bao gồm tên của công cụ và/hoặc một mô tả ngắn về chức năng của nó. Thay đổi thuộc tính ToolTip thành Blaster.

Sử dụng script 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, chẳng hạn như khi một công cụ được chọn trong hotbar. |
| Unequipped | Được kích hoạt khi một công cụ không còn được trang bị bởi người chơi, chẳng hạn khi một công cụ bị bỏ chọn trong hotbar. |
| Activated | Được kích hoạt khi một công cụ được kích hoạt bởi người chơi, chẳng hạn 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ỉ có 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ư khi một nút chuột được nhấp hoặc màn hình bị chạm.
Thêm âm thanh
Để thấy những sự kiện này trong hành độ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 trong 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 script.
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)Thử nghiệm âm thanh 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 ra các công cụ đơn giản khác như đèn pin hoặc loa.