Narzędzia w trybie

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

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:

  1. W oknie Explorer, Przytrzymaj na Przestrzeni roboczej i kliknij przycisk 2>⊕2>, aby wyświetlić listę obiektów.

  2. 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:

Narzędzie przeciągnięte na ziemi
Narzędzie patrzące w tył
Narzędzie skierowane poprawnie

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.

Domyślny odchód (0,0,0)
Odległość narzędzia od ramienia

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:

  1. W oknie Explorer, najedź obiekt narzędzia i kliknij przycisk Script , aby wstawić Class.Script.

  2. Kopiuj następujący kod i wklej go do swojego Script .


    local Lighting = game:GetService("Lighting")
    local tool = script.Parent
    local function onActivate()
    if Lighting.ClockTime >= 8 and Lighting.ClockTime < 16 then
    Lighting.ClockTime = 20
    else
    Lighting.ClockTime = 8
    end
    end
    tool.Activated:Connect(onActivate)
  3. 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ędzieLokalny SkryptSkrypt serwera
Różdżka twórcyWykrywa, gdzie gracz dotyka lub klika na ekranie.Tworzy nową część w lokalizacji w grze, gdzie dotknął lub kliknął gracz.
Płaszcz niewidzialnościTymczasowo 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 .