W narzędziach Tools są narzędzia interaktywne, które użytkownicy mogą założyć w sesjach, takie jak miecze, wyrzutnie rakiet i magiczne różdżki. Możesz tworzyć narzędzia interaktywne w hierarchii swojego doświadczenia i wpisywać skrypcje, aby je zaimplementować dla swoich użytkowników.
Tworzenie narzędzia w doświadczeniu
Dla pierwszego kroku tworzenia dowolnego narzędzia w wersji na żywo musisz utworzyć obiekt narzędzia , aby zawierać wszystkie elementy, składające się na narzędzie. Następnie możesz dodać inne instancje do obiektu narzędzia, w tym części i siat
Tworzenie obiektu narzędzia
Możesz utworzyć nowy obiekt narzędzia za pomocą następujących kroków:
W oknie Explorer, Przytrzymaj na Przestrzeni roboczej i kliknij przycisk 2>⊕2>, aby wyświetlić listę obiektów.
Wybierz Narzędzie w kategorii Interakcja.
Dodawanie części lub siatek
Po utworzeniu obiektu narzędzia musisz dodać Parts lub MeshParts do modelu narzędzia lub utworzyć narzędzie jako część zapasu bez części i siatek. Jak inne modele, narzędzia w trybie doś
Jeśli chcesz stworzyć narzędzie bez dodawania części lub siatek, możesz stworzyć go jako przedmiot w ekwipunku.
Ustawienie Uchwytu Narzędzia
Aby umożliwić użytkownikom przenoszenie narzędzi, musisz ustawić Part i nazwać go Handle dla przywiązania do ręki użytkownika. Następny przykład pokazuje magiczną różdżkę z trzema częściami: świecącym końcem, ciałem głównym i czerwonym u
Upewnij się, że masz tylko jeden Part o nazwie Handle. Jeśli nazwisz wiele Parts jako 1> Handle1>, narzędzie losowo wybierze jedną z nich jako punkt przyczepienia ręki, który może powodować problemy, takie jak użytkownicy trzymający klingi mieczy zamiast ręczników.
Dostosowywanie orientacji uchwytu narzędzia
Jeśli orientacja uchwytu Twojego narzędzia jest nieprawidłowa, tak jak przytrzymywanie na ziemi lub patrzenie w tył, możesz to naprawić, dostosowując uchwyt właściwości pod kategorią Wygląd w oknie Właściwości.
Ponieważ idealna orientacja uchwytu dla każdego narzędzia jest inna, musisz eksperymentować z zmianą wartości obok GripForward, GripRight i GripUp właściwości, aż twoja narzędzie będzie wyglądać poprawnie. Poniższy przykład pokazuje możliwe nieprawidłowe i poprawne uchwyty dla magicznej różdżki:
Możesz również włączyć użytkowników do odchylenia narzędzi z ich ręki za pomocą właściwości GripPos . To może być użyteczne, gdy tworzysz narzędzie, które powinno pojawić się na ramieniu użytkownika.
Dostosowywanie ikony narzędzia
Narzędzia, które użytkownik posiada, są przechowywane w ich Backpack . Użytkownicy mogą wyświetlić ikone każdego narzędzia w ich plecakach na akcji barze :
W oknie Właściwości narzędzia użyj następujących właściwości, aby dostosować wygląd narzędzia w oknie akcji:
- Texturę ID — ikona narzędzia. Ustaw ID obrazu dla tej właściwości w ten sam sposób jak przyciski naklejek i obrazu.
- ToolTip — nazwa wskazówki na myszy.
Włączanie i Wyłączanie Użytkowników do Wyrzucania Narzędzi
Domyślnie użytkownik może upuścić narzędzie, naciskając klawisz Backspace na Windows lub delete na Mac. Możesz wyłączyć tę opcję ustawiając właściwość CanBeDropped narzędzia do
Tworzenie narzędzi jako przedmiotów w ekwipunku
Możesz również stworzyć narzędzie w trybie bez doświadczenia bez części lub siatek jako narzędzie do ekwipunku, które czeka na użytkownika, aby wysłać, takie jak magiczny zaklęty, który użytkownicy mogą kliknąć na innych lub dotknąć ekranu, aby go rzucić. Narzędzia ekwipunku nie wymagają rączek, więc musisz odczytać właściwość <
Dodawanie narzędzi do swojego doświadczenia
Po ukończeniu ustawień swojego narzędzia w przeciągu doświadczenia musisz go umieścić w odpowiednim obszarze hierarchii obiektu swojego doświadczenia. Gdzie umieszczasz narzędzie w hierarchii obiektu swojego doświadczenia, zależy od jego przeznaczenia.
Domyślny narzędź startowy
Jeśli chcesz, aby wszyscy użytkownicy zaczęli od narzędzia w ich wyposażenie, umieść je w StarterPack katalogu. Gdy każdy użytkownik zostanie uruchomiony, system kopiuje narzędzie do ich plecaka.
Narzędzie do zbierania
Jeśli chcesz pozwolić użytkownikom zbierać narzędzia, gdy się poruszają, możesz umieścić narzędzia w przestrzeni roboczej w hierarchii Explorer. Na przykład możesz postawić super rockietowy launcher w trudno dostępnym obszarze swojego świata doświadczeń.
Zdobyte i zakupione narzędzie
Jeśli chcesz ustawić nagrodę za narzędzie, gdy użytkownik robi coś specjalnego lub oferuje go do sklepw doświadczeniach użytkownika, umieść narzędzie w ServerStorage w hierarchii Explorer », która może sklonować narzędzie do plecaka użytkownika w odpowiednim czasie.
Dodawanie efektów narzędzi
Po dodaniu swoich narzędzi do swojego doświadczenia, możesz dodać skrypcity, aby użytkownicy mogli używać narzędzi do efektów specjalnych.
Specjalne wydarzenia
Możesz użyć następujący cztery warunki kondycyjne wskazujące na stan narzędzia i wejścia użytkownika z nim w twoim skrypcie narzędzia:
Tool:Equipped() : Występuje, gdy użytkownik wybiera narzędzie z ich plecaka.
Tool:Unequipped() : Występuje, gdy użytkownik upuści narzędzie lub przełączy narzędzia.
Tool:Activated() : Pojawia się, gdy użytkownik zaczyna aktywować narzędzie (klika, dotyka lub naciśniera A na gamepadzie).
Tool:Deactivated() : Pojawia się, gdy użytkownik zatrzymuje włączenie do aktywacji (wypuści przycisk lub dotykanie).
Chociaż nie musisz spełniać wszystkich czterech warunków podczas projektowania narzędzia, możesz użyć następującego kodu skryptu jako podstawowego wzoru 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ładowy kod sugeruje, że skrypt jest dzieckiem poziomu pierwszego w obiekcie narzędzia. Jeśli skrypt jest gdzie indziej, dostosuj ścieżkę w linii 1 (wartość tool ) do wskazania na główny obiekt narzędzia.
Dodanie podstawowego skryptu
Poniższy przykład pokazuje kroki do dodania Script na serwerze, który umożliwia użytkownikom noszenie magicznej różdżki, która może zmieniać dzień i noc, klikając na ekran:
W oknie Explorer, najedź obiekt narzędzia i kliknij przycisk Script , aby wstawić Class.Script.
Kopiuj 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)Sprawdź swoją doświadczenie, podnioswszy narzędzie i klikając gdziekolwiek na ekranie swojego doświadczenia, aby przejść między dniem a nocą:
Różne rodzaje skryptów dla implementacji narzędzi
Niektóre narzędzia wymagają tylko Script na serwerze do wdrożenia, takie jak poprzedni przykład, ale większość narzędzi wymaga zarówno Script na serwerze, jak i LocalScript na klienta, gdzie każde z nich opiekuje się pewnymi aspektami 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 całym świecie doświadczenia widocznymi dla wszystkich użytkowników, takimi jak odblokowanie drzwi i strzelenie strzały.
- Lokalny Skrypt zarządza rzeczami, które dzieją się tylko na urządzenieużytkownika, takimi jak wykrywanie lokalizacji, w której dotykają lub klikają ekran.
Oto kilka przykładowych narzędzi i ich zachowań zarządzanych 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 grze, gdzie dotknął lub kliknął gracz. |
Płaszcz niewidzialności | Tymczasowo rendezuje gracza niewidzialnego dla wszystkich innych użytkowników, gdyż maska jest założona. | |
Mega-Łuk: | Wykonuje okres, w którym narzędzie jest aktywowane (czas między aktywacją a dezaktywacją). | Strzela magiczną strzałkę z większą lub mniejszą mocą, w zależności od wykrytego czasu aktywacji. |
For more information on the different script types, see Skrypty .
Wskazówki dotyczące rozwiązywania problemów
Narzędzie może działać dobrze 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 do wysyłania wiadomości między dwoma skryptami.
- Upewnij się, że każdy Script i LocalScript tylko dba o to, co ma zrobić.
Dla więcej informacji na temat RemoteEvents , zobacz zdarzeń zdalnych i wezwywaczach .