Narzędzia to prosty sposób na zarządzanie przedmiotami, które gracz może trzymać w ręce i używać w grze. Mogą to być broń, taka jak miecze, lub przedmioty spożywcze.
W tym samouczku nauczysz się, jak stworzyć narzędzie w kształcie blastera laserowego, które będzie odtwarzać efekty dźwiękowe po wyposażeniu lub aktywacji.

Stwórz narzędzie
Obiekt Tool jest podstawą każdego narzędzia w Roblox, więc musisz stworzyć jeden. Łatwiej jest zmieniać wygląd narzędzi, dodając obiekty, takie jak Parts i MeshParts, do narzędzia w przestrzeni roboczej, gdzie są widoczne.
Wstaw Tool do przestrzeni roboczej i nazwij go Blaster.

Wstaw MeshPart do narzędzia.

Ustaw właściwość MeshId na rbxassetid://92656610.
Ustaw właściwość TextureId na rbxassetid://92658105.


Narzędzie potrzebuje części o nazwie Handle, aby gracz mógł je trzymać. Zmień nazwę MeshPart na Handle.

Przechowuj narzędzie
Narzędzia mogą być przechowywane w świecie 3D jako narzędzia do zbierania lub przekazywane wszystkim graczom jako narzędzia startowe.
Narzędzie do zbierania
Blaster jest obecnie dzieckiem Workspace, więc będzie narzędziem do zbierania. Gracz może podnieść narzędzie, dotykając go, co spowoduje, że stanie się dzieckiem modelu postaci; narzędzie zostanie następnie wyposażone i umieszczone w ich pasku szybkiego dostępu.
Podczas rozgrywki, niewyposażone narzędzia są przechowywane w hierarchii gracza w plecaku, a następnie przenoszone do modelu postaci, gdy są wyposażane. Każde narzędzie, które staje się dzieckiem postaci, zostanie automatycznie wyposażone.


Narzędzie startowe
Przechowywanie narzędzia w StarterPack umieści je w Backpack gracza, gdy dołączy lub odrodzi się.
Przenieś Blaster do StarterPack w Explorer.

Uruchom grę, aby przetestować narzędzie. Kliknij na pasek szybkiego dostępu na dole ekranu lub naciśnij 1 na klawiaturze, aby wyposażyć narzędzie.
Właściwości narzędzia
Pozycja / orientacja
Pozycję i orientację narzędzia można zmienić za pomocą właściwości grip. GripPos zmienia pozycję uchwytu, podczas gdy GripForward, GripRight i GripUp wpływają na rotację.
Obecnie gracz trzyma środek blastera zamiast uchwytu.
Ustaw właściwość GripPos narzędzia na 0, -0.4, 1.1.

Rozpocznij test gry, aby przetestować narzędzie. Zauważ, jak narzędzie jest teraz trzymane w innej pozycji.

Przed 
Po
Ikona paska szybkiego dostępu
Domyślnie, nazwa narzędzia będzie wyświetlana na ikonie paska szybkiego dostępu. Dobrą praktyką jest zmiana ikony na obrazek narzędzia. Ustaw właściwość TextureId narzędzia na rbxassetid://92628145.


Podpowiedź
Podpowiedź to mały opis tekstowy, który pojawia się, gdy myszka najedzie na narzędzie w pasku szybkiego dostępu. Zazwyczaj zawiera nazwę narzędzia i/lub krótki opis jego funkcji. Zmień właściwość ToolTip na Blaster.

Użyj skryptów z narzędziami
Narzędzie ma trzy kluczowe zdarzenia, do których możesz się podłączyć: Equipped, Unequipped i Activated.
| Zdarzenie | Opis |
|---|---|
| Equipped | Wywoływane, gdy narzędzie jest wyposażane przez gracza, na przykład gdy narzędzie jest wybrane w pasku szybkiego dostępu. |
| Unequipped | Wywoływane, gdy narzędzie jest zdejmowane przez gracza, na przykład gdy narzędzie jest odznaczone w pasku szybkiego dostępu. |
| Activated | Wywoływane, gdy narzędzie jest aktywowane przez gracza, na przykład gdy gracz kliknie lewym przyciskiem myszy. |
Te metody działają tylko w LocalScripts, ponieważ tylko urządzenie gracza wie, kiedy następuje wejście, takie jak kliknięcie przycisku myszy lub dotknięcie ekranu.
Dodaj dźwięki
Aby zobaczyć te zdarzenia w akcji, możesz odtworzyć dźwięk, gdy się uruchomią. Najpierw musisz stworzyć obiekty dźwiękowe do użycia.
Wstaw dwa obiekty Sound do Handle.
Zmień nazwę jednego dźwięku na Equip i ustaw jego właściwość SoundId na rbxassetid://282906960.
Zmień nazwę drugiego dźwięku na Activate i ustaw jego właściwość SoundId na rbxassetid://130113322.

Dodaj kod
Poniższy przykładowy kod odtwarza dźwięk Equip, gdy narzędzie jest wyposażane, oraz dźwięk Fire, gdy jest aktywowane.
Wstaw LocalScript do narzędzia i nazwij go ToolController.

Wstaw następujące linie kodu do skryptu.
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)Przetestuj efekty dźwiękowe blastera, wyposażając i klikając, aby aktywować narzędzie.
Teraz wiesz, jak stworzyć i skryptować podstawowe narzędzie, spróbuj stworzyć inne proste narzędzia, takie jak latarka lub głośnik.