Skrypty to zwykłe pliki tekstowe, które pozwalają dodać do twoich gier niestandardowe, dynamiczne zachowania. Możesz używać skryptów do uruchamiania wydarzeń w grze, reagowania na wejście gracza, zapisywania danych gracza, tworzenia tabel wyników, spawnowania 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 usprawnienia wydajności i wiele użytecznych funkcji, w tym opcjonalny system typów, interpolację ciągów i uogólnioną iterację dla tabel.
- Wszystkie poprawne kody Lua 5.1 są poprawnymi kodami Luau, ale odwrotne nie jest prawdziwe.
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 zobaczyć składnię języka, zobacz Referencje Luau.
Podstawy Luau
Luau jest językiem z coraz bardziej typowanymi zmiennymi, więc nie musisz określać typu przy tworzeniu zmiennej. Możesz użyć type() do sprawdzenia typu 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 zadeklarować 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 do reprezentacji nieistnienia lub pustki, co ocenia się jako false w instrukcjach warunkowych:
local messageToUserprint(messageToUser) --> nilprint(type(messageToUser)) --> nilif messageToUser then-- instrukcja ocenia się jako falseend
Jak zapewne zauważyłeś, -- rozpoczyna jednoliniowy komentarz. --[[]] tworzy komentarz blokowy:
--[[
Wyłącza kosmiczny promień księżyca natychmiast.
Powinno być wywoływane tylko w ciągu 15 minut od północy czasu standardowego górskiego, aby uniknąć uszkodzenia kosmicznego promienia księżyca.
]]
local function stopCosmicMoonRay()
-- dodaj to później, to może okazać się ważne
end
Tabele to ogólny termin dla tablic i słowników. Tablice są jedynkowe, a nie zerowe, więc pierwszy element to [1]. Deklarujesz tablice i słowniki za pomocą pojedynczego zestawu klamrowych nawiasów:
local myArray = {"chips", "sparkling water", "salsa"}local myDictionary = {snack = "chips",drink = "sparkling water",dip = "salsa"}print(myArray[1]) --> chipsprint(myDictionary.dip) --> salsa
Możesz iterować po tabelach za pomocą pętli for z funkcją ipairs() dla tablic i pairs() dla słowników, ale Luau pozwala również pominąć te funkcje, aby uzyskać czystszy skład:
for index, value in ipairs(myArray) do -- standardowe Luaprint(index, value)endfor key, value in pairs(myDictionary) do -- standardowe Luaprint(key, value)endfor key, value in myDictionary do -- uogólniona iteracja Luauprint(key, value)end
Twój pierwszy skrypt
W Roblox Studio najedź na ServerScriptService w oknie Explorer i kliknij +.
Wybierz Script, aby dodać nowy skrypt.
Kliknij prawym przyciskiem myszy na skrypt i zmień jego nazwę na HelloScript.
Kliknij podwójnie na 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 Output jest otwarte.
Uruchom swoją grę i zanotuj wyniki:
hel (x2)oworld
Czuj się komfortowo
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 Studia pozwala dostosować funkcje poprawiające komfort pracy, takie jak czcionka, kolory, wcięcia, autouzupełnianie, nawiasy i podpowiedzi. Może również chcesz aktywować tryb ciemny w sekcji Studio.
- Przytrzymując Ctrl lub Command i klikając na funkcję lub zmienną, przechodzisz do jej deklaracji w twojej bazie kodu (lub jej dokumentacji online). Używając Znajdź i Znajdź Wszystko, możesz pomóc sobie w nawigacji po większych projektach.
- Okno Output 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 wyświetla podsumowanie błędów i ostrzeżeń, ale możesz zauważyć, że jego użyteczność jest ograniczona; Edytor skryptów już podświetla te problemy podczas pisania.
Aby uzyskać więcej informacji na temat konfigurowania Studia do skryptów, zobacz Edytor skryptów.
Twój drugi skrypt
W Roblox Studio dodaj skrypt do ReplicatedStorage w oknie Explorer i zmień jego nazwę na OhNo.
Dodaj następujący kod do pliku:
print("Witaj, typy i lokalizacje skryptów!")Zauważ, że wyjście nie różni się od tego, gdy uruchamiałeś twój pierwszy skrypt.
Aby zrozumieć, dlaczego skrypt się nie uruchomił, zobacz Typy i lokalizacje skryptów.