Skrypty

*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.

Skrypty to pliki tekstowe, które pozwalają dodać niestandardowe, dynamiczne zachowanie do twoich gier. Możesz używać skryptów do wyzwalania wydarzeń w grze, reagowania na wejścia gracza, zapisywania danych gracza, tworzenia tablic liderów, przywoływania wrogów, kontrolowania zachowania NPC i wiele, wiele więcej.

Luau

Skrypty Roblox używają języka programowania Luau, który jest pochodną Lua 5.1.

  • W porównaniu do Lua 5.1, Luau dodaje ulepszenia wydajności i wiele przydatnych funkcji, w tym opcjonalny system typów, interpolację ciągów i uogólnioną iterację dla tablic.
  • Wszystkie poprawne kody Lua 5.1 są poprawnymi kodami Luau, ale odwrotność nie jest prawdziwa.

Większość książek i zasobów online dotyczących Lua jest nadal szeroko stosowana w Luau. Aby uzyskać szczegółowe podsumowanie różnic, zobacz Kompatybilność w dokumentacji Luau. Aby zapoznać się z składnią języka, zobacz Referencje Luau.

Podstawy Luau

Luau jest stopniowo typowany, więc nie musisz określać typu, gdy tworzysz zmienną. Możesz użyć type(), aby sprawdzić typ obiektu:

logMessage = "Użytkownik ma więcej niż 10 przedmiotów!"
print(logMessage) --> Użytkownik ma więcej niż 10 przedmiotów!
print(type(logMessage)) --> string

Luau ma globalne i lokalne zakresy, ale prawie zawsze lepiej jest deklarować zmienne i funkcje lokalnie za pomocą słowa kluczowego local:

local logMessage = "Użytkownik ma więcej niż 10 przedmiotów!"
local function printMessage()
print(logMessage)
end
printMessage() --> Użytkownik ma więcej niż 10 przedmiotów!

Luau używa nil, aby reprezentować nieistnienie lub pustkę, co ocenia się jako false w instrukcjach warunkowych:

local messageToUser
print(messageToUser) --> nil
print(type(messageToUser)) --> nil
if messageToUser then
-- instrukcja ocenia się jako fałszywa
end

Jak mogłeś zauważyć, -- rozpoczyna komentarz jednoliniowy. --[[]] tworzy komentarz blokowy:

--[[
Natychmiast wyłącza kosmiczny promień księżycowy.
Powinno być wywoływane tylko w ciągu 15 minut przed północą czasu standardowego górskiego,
aby uniknąć uszkodzenia kosmicznego promienia księżycowego.
]]
local function stopCosmicMoonRay()
-- dodaj to później, może okazać się ważne
end

Tablice to ogólny termin dla tablic i słowników. Tablice są indeksowane od 1, a nie od 0, więc pierwszy element to [1]. Deklarujesz tablice i słowniki za pomocą jednego zestawu klamrowych nawiasów:

local myArray = {"chips", "woda gazowana", "salsa"}
local myDictionary = {
snack = "chips",
drink = "woda gazowana",
dip = "salsa"
}
print(myArray[1]) --> chips
print(myDictionary.dip) --> salsa

Możesz iterować po tablicach za pomocą pętli for z funkcją ipairs() dla tablic i funkcją pairs() dla słowników, ale Luau pozwala również pominąć te funkcje dla czystszej składni:

for index, value in ipairs(myArray) do -- standardowe Lua
print(index, value)
end
for key, value in pairs(myDictionary) do -- standardowe Lua
print(key, value)
end
for key, value in myDictionary do -- uogólniona iteracja Luau
print(key, value)
end

Twój pierwszy skrypt

  1. W Roblox Studio najedź na ServerScriptService w oknie Eksploratora i kliknij +.

  2. Wybierz Skrypt, aby dodać nowy skrypt.

  3. Kliknij prawym przyciskiem myszy na skrypt i zmień jego nazwę na HelloScript.

  4. Kliknij dwukrotnie skrypt, aby otworzyć go w Edytorze skryptów.

  5. Dodaj następujący kod do pliku:

    local helloArray = {"h", "e", "l", "l", "o"}
    local worldArray = {"w", "o", "r", "l", "d"}
    for index, value in helloArray do
    print(value)
    end
    print(table.concat(worldArray))
  6. Upewnij się, że okno Wyjścia jest otwarte.

  7. Uruchom swoją grę i zanotuj wynik:

    h
    e
    l (x2)
    o
    world

Przyzwyczaj się

Duża część przystosowania się do nowego środowiska deweloperskiego polega na skonfigurowaniu go tak, aby spełniał twoje potrzeby oraz zrozumieniu narzędzi, które masz do dyspozycji:

  • Sekcja Edytor skryptów w Ustawieniach Studio pozwala dostosować funkcje poprawiające komfort pracy, takie jak czcionka, kolory, wcięcia, autouzupełnianie, nawiasy i podpowiedzi. Możesz również chcieć włączyć tryb ciemny w sekcji Studio.
  • Przytrzymując Ctrl lub Command i klikając na funkcję lub zmienną, przechodzisz do jej deklaracji w swoim kodzie (lub jej dokumentacji online). Używanie Znajdź i Znajdź Wszystko może pomóc w nawigacji po większych projektach.
  • Okno Wyjścia jest najprostszym narzędziem do zrozumienia zachowania twoich skryptów. Użyj menu ⋯, aby włączyć Pokaż kontekst i Pokaż źródło.
  • Okno Analiza skryptów pokazuje podsumowanie błędów i ostrzeżeń, ale możesz uznać jego użyteczność za ograniczoną; Edytor skryptów już podświetla te problemy podczas pisania.
  • Możliwości logowania są minimalne, bez pojęcia poziomów logów, takich jak DEBUG czy FATAL. Użyj print() i warn().

Aby uzyskać więcej informacji na temat konfigurowania Studio do skryptów, zobacz Edytor skryptów.

Twój drugi skrypt

  1. W Roblox Studio dodaj skrypt do ReplicatedStorage w oknie Eksploratora i zmień jego nazwę na OhNo.

  2. Dodaj następujący kod do pliku:

    print("Witaj, typy i lokalizacje skryptów!")
  3. Zauważ, że wynik nie różni się od tego, gdy uruchomiłeś swój pierwszy skrypt.

Aby zrozumieć, dlaczego skrypt się nie uruchomił, zobacz Typy i lokalizacje skryptów.

©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.