Usługi

*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 Ponownym użyciu kodu mogłeś zauważyć częste użycie metody game:GetService(). Usługi Roblox umożliwiają dostęp do wbudowanych funkcji silnika, takich jak sprzedaż przedmiotów w grze, włączanie czatu, odtwarzanie dźwięków, animowanie obiektów i zarządzanie instancjami.

W rzeczywistości, usługi są pierwszym krokiem w najbardziej fundamentalnym, powszechnym wzorcu tworzenia w Roblox:

  1. Uzyskaj usługi.
  2. Wymagaj skrypty modułów.
  3. Dodaj lokalne funkcje.
  4. Dodaj wydarzenia, które wywołują te funkcje.

Na przykład, możesz chcieć zapisać pozycje graczy w świecie, gdy opuszczają twoją grę:


local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SaveManager = require(ReplicatedStorage:WaitForChild("SaveManager"))
-- Lokalna funkcja, która wywołuje ponownie używaną funkcję w skrypcie modułu.
local function saveProgress(character)
-- Uzyskaj pozycję postaci gracza.
local position = character:FindFirstChild("HumanoidRootPart").Position
-- Użyj funkcji saveData w skrypcie modułu, która zapisuje do
-- DataStoreService.
SaveManager.saveData(character, position)
end
-- Inna lokalna funkcja, która wywołuje saveProgress() gdy postać jest usuwana
-- z gry (w tym przypadku, gdy gracz odchodzi).
local function onPlayerAdded(player)
player.CharacterRemoving:Connect(saveProgress)
end
-- Wywołuje onPlayerAdded, gdy gracz po raz pierwszy łączy się z grą.
Players.PlayerAdded:Connect(onPlayerAdded)

Niektóre kluczowe szczegóły obejmują:

  • Ponieważ powinieneś pobierać usługę tylko raz w skrypcie, konwencja polega na nadaniu zmiennej tej samej nazwy co usługa. Ta konwencja dotyczy również skryptów modułów.
  • Usługi pobierasz przy użyciu zmiennej globalnej game, która odnosi się do korzenia modelu danych.
  • Roblox nie zapewnia gwarancji dotyczących kolejności ładowania (a strumieniowanie instancji dodatkowo komplikuje to, co jest i nie jest załadowane w danym momencie), więc użycie Instance:WaitForChild() jest ważnym środkiem ostrożności.

Zamiast porównywać standardowe biblioteki, globalne funkcje i zmienne lub biblioteki osób trzecich, dużą częścią tworzenia w Roblox jest identyfikacja, które z wielu, wielu usług mogą pomóc ci dodać pożądaną funkcjonalność do twoich gier. W powyższym przykładzie, zamiast używać standardowej biblioteki I/O do zapisu na dysk, używasz usług chmurowych do przechowywania danych.

Usługi kontenerowe

Usługi kontenerowe mogą zawierać i wpływać na inne obiekty. Te usługi kontenerowe znajdują się u podstaw modelu danych i są widoczne w oknie Eksploratora w Studio. Łącznie te usługi kontenerowe tworzą uporządkowaną hierarchię dla modelu danych, umożliwiając silnikowi Roblox odpowiednią interpretację i renderowanie twojego miejsca. Poniższa tabela zawiera niektóre powszechne usługi kontenerowe.

UsługaOpis
WorkspaceZawiera wszystkie obiekty, które renderują się w 3D, np. części i teren.
LightingZawiera obiekty do ustawiania uniwersalnych efektów oświetleniowych, takie jak Atmosphere i Sky.
ReplicatedStorage i ReplicatedFirstZawierają treści i logikę, które replikują się między serwerem a klientem.

Aby dokładniej zbadać model danych, możesz użyć tych metod:

  • game:FindService() wyszukuje instancję określonej usługi.
  • game:GetChildren() zwraca tablicę wszystkich dzieci root modelu danych, które są na poziomie usługi kontenerowej.
  • game:GetDescendants() zwraca tablicę wszystkich potomków modelu danych, w tym wszystkich usług kontenerowych i ich dzieci.

Aby uzyskać więcej informacji o usługach kontenerowych, zapoznaj się z dokumentacją modelu danych.

Usługi skryptowe

Usługi skryptowe oferują standardową funkcjonalność w silniku Roblox, którą wywołujesz w skryptach. Poniższa tabela zawiera niektóre powszechne usługi skryptowe.

UsługaOpis
TweenServiceSłuży do interpolacji właściwości numerycznych innych instancji z wartości początkowej do końcowej, z opcjami dla kierunku i stylu wyrównania, powtórzeń i opóźnienia.
MarketplaceServiceUsługa odpowiedzialna za transakcje w grze, np. wywołującą prośbę do gracza o zakup produktu dewelopera, subskrypcji, przepustki, Roblox Premium itp.
RunServiceZawiera metody i wydarzenia do zarządzania czasem na klatkę, a także do sprawdzania kontekstu (serwer, klient, tryb Studio), w którym gra jest uruchamiana. Użyteczne do uruchamiania dowolnego procesu lub aktualizacji na każdej klatce czasu wykonywania.
SoundServiceKontroluje różne globalne aspekty odtwarzania audio w grze, takie jak skala Dopplera i audio wolumetryczne. Może również zawierać grupy dźwięków do kontrolowania głośności i właściwości efektów dynamicznych wielu sygnałów audio jednocześnie.
CollectionServiceZarządza grupami (kolekcjami) instancji z tagami, które replikują się z serwera do klienta, co ułatwia przypisywanie i pracę z grupami powiązanych instancji.

Usługi chmurowe

Roblox ma również specjalne usługi chmurowe do obsługi zadań i procesów, które odbywają się w chmurze Roblox. Poniższa tabela zawiera niektóre powszechne usługi chmurowe.

UsługaOpis
DataStoreServiceDo przechowywania danych trwałych między sesjami.
MemoryStoreServiceDo przechowywania częstych i efemerycznych danych, które szybko się zmieniają.
MessagingServiceDo komunikacji między wieloma serwerami podczas sesji na żywo.

Usługi chmurowe mają również odpowiadające im interfejsy API sieciowe; są dostępne z zewnętrznych skryptów lub narzędzi. Aby uzyskać więcej informacji, zobacz Open Cloud.

©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.