W doświadczeniu Tools są interaktywne narzędzia, które użytkownicy mogą wyposażyć w sesjach, takie jak miecze, wyrzutnie rakiet i magiczne różdżki.Możesz tworzyć niestandardowe narzędzia w doświadczeniu, umieszczać je w hierarchii doświadczenia i pisać skrypty, aby wdrożyć je dla swoich użytkowników.
Stwórz narzędzie w doświadczeniu
Aby wykonać pierwszy krok przy tworzeniu dowolnego narzędzia w doświadczeniu, musisz stworzyć obiekt narzędzia, aby zawierał wszystkie elementy, które tworzą narzędzie.Następnie możesz dodać inne instancje do obiektu narzędzia, w tym części i siatki , efekty dźwiękowe i skrypty, które zapewniają funkcjonalność.Możesz także skonfigurować sterowanie narzędziem, dostosować uchwyt narzędzia i dostosować ikonę narzędzia aby poprawić doświadczenia użytkownika.
Stwórz obiekt narzędzia
Możesz utworzyć nowy obiekt narzędzia za pomocą następujących kroków:
W oknie Eksploratora przewiń Przestrzeń roboczą i kliknij przycisk ⊕ , aby pokazać listę obiektów.
kategoria Narzędzie w kategorii Interakcja .
Dodaj części lub siatki
Po utworzeniu obiektu narzędzia musisz dodać Parts lub MeshParts do modelu narzędzia lub utworzyć narzędzie jako przedmiot ekwipunku bez części i modeli bez części i modeli.Podobnie jak inne modele, narzędzia doświadczeniowe mogą składać się z wielu Parts , więc musisz połączyć wszystkie części narzędzia za pomocą ograniczeń Weld.
Jeśli chcesz utworzyć narzędzie bez dodawania części lub modeli, możesz utworzyć je jako przedmiot ekwipunku .
Ustaw uchwyt narzędzia
Aby umożliwić użytkownikom noszenie narzędzi, musisz ustawić Part i nazwać je Handle dla przymocowania do ręki użytkownika.Poniższy przykład pokazuje magiczną różdżkę z trzema częściami: świecącym końcem, głównym ciałoi czerwonym uchwytem.Kiedy użytkownik wyposaża się w różdżkę, trzyma ją w Part oznaczonym Handle.

Upewnij się, że masz tylko jeden Part o nazwie Handle.Jeśli nazwiesz wiele Parts jako Handle, narzędzie losowo wybierze jedną z nich jako punkt mocowania ręki, który może powodować problemy, takie jak trzymanie przez użytkowników ostrzy przez miecze zamiast haków.
Dostosuj orientację chwytu narzędzia
Jeśli orientacja chwytu twojego narzędzia jest nieprawidłowa, na przykład przeciąganie po ziemi lub skierowanie wstecz, możesz ją naprawić, dostosowując właściwości chwytu w kategorii Wygląd w oknie Właściwości .

Ponieważ idealne ułożenie chwytu dla każdego narzędzia jest różne, musisz eksperymentować z zmianą wartości obok GripForward , GripRight i GripUp właściwości, dopóki uchwyt narzędzia nie będzie poprawny.Poniższy przykład pokazuje możliwe niepoprawne i poprawne chwyty dla magicznej różdżki:



Możesz również włączyć postacie użytkowników, aby zrównoważyć narzędzia z ich ręki za pomocą właściwości GripPos .Może to być przydatne przy tworzeniu narzędzia, które powinno wydawać się spoczywać na ramieniu użytkownika.


Dostosuj ikonę ikona
Narzędzia, które użytkownik posiada, są przechowywane w ich . Użytkownicy mogą zobaczyć ikonę każdego narzędzia w ich plecakach na pasku akcji :

W oknie Właściwości narzędzia użyj następujących właściwości, aby dostosować wygląd narzędzia na pasku akcji:
- ID tekstury — ikona narzędzia. Ustaw ID obrazu dla tej właściwości w taki sam sposób, jak dla naklejek i przycisków obrazu.
- Nazwa wskazówki narzędziowej — nazwa wskazówki narzędziowej podczas przewijania.
Włącz i wyłącz użytkowników, aby upuścić narzędzia
Domyślnie użytkownik może upuścić narzędzie, naciskając klawisz Backspace na Windows lub Usuń na Macu.Możesz wyłączyć tę opcję, ustawiając właściwość CanBeDropped narzędzia na false.Jeśli CanBeDropped jest false, naciśnięcie Backspace lub delete zwraca narzędzie do plecaka użytkownika.
Twórz narzędzia jako przedmioty ekwipunku
Możesz także stworzyć narzędzie w doświadczeniu bez części lub siatek jako przedmiot ekwipunku, który czeka na wpisanie użytkownika, tak jak magiczny zaklęcie, na które postacie użytkownika mogą kliknąć lub dotknąć ekranu, aby go wywołać.Narzędzia przedmiotów ewidencyjnych nie wymagają uchwytów, więc musisz odznaczyć właściwość Wymaga uchwytu w oknie Właściwości narzędzia .

Dodaj narzędzia do swojego doświadczenia
Po skończeniu konfiguracji narzędzia w doświadczeniu musisz umieścić je w odpowiedniej części hierarchii obiektów doświadczenia.To, gdzie umieścisz narzędzie w hierarchii obiektów doświadczenia, zależy od jego przeznaczenia.
Domyślne narzędzie startowe
Jeśli chcesz, aby wszyscy użytkownicy rozpoczęli pracę z narzędziem w swoim wyposażenie, umieść go w folderze Pakiet startowy .Kiedy którykolwiek użytkownik się pojawia, system kopiuje narzędzie do ich plecaka.

Przedmiot kolekcjonerski
Jeśli chcesz pozwolić użytkownikom na gromadzenie narzędzi podczas poruszania się, możesz umieścić narzędzia w przestrzeni roboczej w hierarchii eksploratora .Na przykład możesz chcieć umieścić super rakietową wyrzutnię w trudno dostępnym obszarze twojego świata doświadczeń.

Zdobyte i kupione narzędzie
Jeśli chcesz ustawić narzędzie jako nagrody, gdy użytkownik robi coś specjalnego lub oferuje je na sprzedaż w sklepie w doświadczeniu, umieść narzędzie w ServerStorage w hierarchii Explorer , która może sklonować narzędzie do plecaka użytkownika we właściwym czasie.

Dodaj efekty narzędzi
Po dodaniu narzędzi do swojego doświadczenia możesz dodać skrypty, aby umożliwić użytkownikom korzystanie z narzędzi do wykonywania specjalnych efektów.
Wydarzenia narzędziowe specyficzne
Możesz użyć następujących czterech specyficznych dla narzędzia warunków wskazujących stan narzędzia i wejście użytkownika z nim w swoim skrypcie narzędzia:
Tool:Equipped() : występuje, gdy użytkownik wybiera narzędzie z plecaka.
Tool:Unequipped() : występuje, gdy użytkownik upuszcza narzędzie lub przełącza narzędzia.
Tool:Activated() : występuje, gdy użytkownik zaczyna aktywować narzędzie (klika, dotyka lub naciśnie A na gamepadzie).
Tool:Deactivated() : występuje, gdy użytkownik zatrzymuje wejście aktywacji (zwalnia przycisk lub dotyk).
Chociaż możesz nie potrzebować wszystkich czterech warunków podczas projektowania narzędzia, możesz użyć następującego kodu skryptu jako podstawowego szablonu skryptu narzędzia:
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)
Ten przykład kodu zakłada, że skrypt jest dzieckiem pierwszego poziomu wewnątrz obiektu narzędzia.Jeśli skrypt jest gdzie indziej, dostosuj ścieżkę na linii 1 (wartość tool) do wskazania obiektu narzędzia głównego.
Dodaj podstawowy skrypt
Poniższy przykład pokazuje kroki dodania Script na serwerze, który umożliwia użytkownikom wyposażenie magicznej różdżki, która może przełączać dzień i noc, klikając na ekran:
W oknie Explorer przejdź nad obiekt narzędzia i kliknij przycisk ⊕ , aby wstawić Script.
Skopiuj następujący kod i wklej go do swojego Script.
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)Przetestuj swoje doświadczenie, podnosząc narzędzie i następnie klikając gdziekolwiek na ekranie swojego doświadczenia, aby przełączyć między dniem a nocą:
Różne rodzaje skryptów dla wdrożenia narzędzi
Niektóre narzędzia wymagają tylko Script na serwerze do wdrożenia, tak jak w poprzednim przykładzie, ale większość narzędzi wymaga zarówno Script na serwerze, jak i LocalScript na klientach, gdzie każde dba o pewne aspekty zachowania narzędzia.
Zanim dodasz swoje skrypty, upewnij się, że rozumiesz podstawową różnicę między każdym wpisywaćskryptu:
- Skrypt zarządza zmianami w ogólnym świecie doświadczeń widocznym dla wszystkich użytkowników, takimi jak odblokowanie drzwi i strzelanie strzałem.
- Lokalny skrypt zarządza rzeczami, które zdarzają się tylko na urządzenieużytkownika, takimi jak wykrywanie lokalizacji, w której dotykają lub klikają ekran.
Oto niektóre przykładowe narzędzia i ich zachowania zarządzane przez lokalny skrypt lub skrypt serwera:
Narzędzie | Lokalny skrypt | Skrypt serwera |
---|---|---|
Różdżka twórcy | Wykrywa, gdzie gracz dotyka lub klika na ekranie. | Tworzy nową część w lokalizacji w świecie gry, gdzie gracz dotknął lub kliknął. |
Peleryna niewidzialności | Tymczasowo czyni gracza niewidocznym dla wszystkich innych użytkowników, gdy peleryna jest wyposażona. | |
Mega-Łuk | Wykrywa, jak długo gracz aktywuje narzędzie (czas pomiędzy aktywacją a dezaktywacją). | Strzela magiczną strzałą o większej lub mniejszej mocy, w zależności od wykrytego czasu aktywacji. |
Aby uzyskać więcej informacji o różnych typach skryptów, zobacz Skrypty.
Wskazówki dotyczące rozwiązywania problemów
Narzędzie może działać prawidłowo w Studio, ale nie w żywym doświadczeniu Roblox. Jeśli tak się stanie, użyj następujących wskazówek do rozwiązywania problemów:
- LocalScripts i Scripts nie mogą bezpośrednio słuchać siebie nawzajem, więc musisz dodać RemoteEvent aby wysyłać wiadomości między tymi dwoma skryptami.
- Upewnij się, że każdy Script i LocalScript dba tylko o to, co ma zrobić.
Aby uzyskać więcej informacji na temat RemoteEvents , zobacz zdarzenia zdalne i wezwania .