Narzędzia to prosty sposób zarządzania przedmiotami, które gracz może trzymać w ręku i używać w grze. Mogą obejmować broń, taką jak miecze, do przedmiotów spożywczych.
W tym samouczku nauczysz się, jak stworzyć narzędzie w kształcie blastera laserowego, które będzie odtwarzać dźwięki, gdy zostanie wyposażone lub aktywowane.

Stwórz narzędzie
Obiekt Tool jest podstawą każdego narzędzia w Robloxie, więc musisz go stworzyć. Ł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 dawane wszystkim graczom jako narzędzia startowe.
Narzędzie do zbierania
Blaster jest obecnie dzieckiem Workspace, więc będzie można go zbierać. 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 gry, niewyposażone narzędzia są przechowywane w hierarchii gracza w plecaku, a następnie przenoszone do modelu postaci, gdy są wyposażane. Jakiekolwiek narzędzie, które stanie 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 doświadczenie, 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
Pozycja i orientacja narzędzia mogą być zmieniane przy użyciu właściwości grip. GripPos zmienia pozycję uchwytu, natomiast GripForward, GripRight i GripUp wpływają na rotację.
Obecnie gracz trzyma środek blastera, a nie uchwyt.
Ustaw właściwość GripPos narzędzia na 0, -0.4, 1.1.

Rozpocznij test, aby przetestować narzędzie. Zauważ, jak narzędzie teraz jest 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 tekstowy opis, który pojawia się, gdy mysz znajduje się nad narzędziem na pasku szybkiego dostępu. Zwykle zawierają 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 | Uruchamiane, gdy narzędzie jest wyposażane przez gracza, na przykład gdy narzędzie jest wybierane na pasku szybkiego dostępu. |
| Unequipped | Uruchamiane, gdy narzędzie jest zdejmowane przez gracza, na przykład gdy narzędzie jest deselectowane na pasku szybkiego dostępu. |
| Activated | Uruchamiane, 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 są wywoływane. 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 właściwość SoundId na rbxassetid://282906960.
Zmień nazwę drugiego dźwięku na Activate i ustaw właściwość SoundId na rbxassetid://130113322.

Dodaj kod
Przykładowy kod poniżej 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 poniższe 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 zaprogramować podstawowe narzędzie, spróbuj stworzyć inne proste narzędzia, takie jak latarka lub głośnik.