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)) --> stringLuau 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
endJak 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
endTablice 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) --> salsaMoż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)
endTwój pierwszy skrypt
W Roblox Studio najedź na ServerScriptService w oknie Eksploratora i kliknij +.
Wybierz Skrypt, aby dodać nowy skrypt.
Kliknij prawym przyciskiem myszy na skrypt i zmień jego nazwę na HelloScript.
Kliknij dwukrotnie skrypt, aby otworzyć go w Edytorze skryptów.
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 doprint(value)endprint(table.concat(worldArray))Upewnij się, że okno Wyjścia jest otwarte.
Uruchom swoją grę i zanotuj wynik:
hel (x2)oworld
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.
Aby uzyskać więcej informacji na temat konfigurowania Studio do skryptów, zobacz Edytor skryptów.
Twój drugi skrypt
W Roblox Studio dodaj skrypt do ReplicatedStorage w oknie Eksploratora i zmień jego nazwę na OhNo.
Dodaj następujący kod do pliku:
print("Witaj, typy i lokalizacje skryptów!")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.