Skrypty to zwykłe pliki tekstowe, które pozwalają dodawać niestandardowe, dynamiczne zachowania do swoich doświadczeń.Możesz używać skryptów, aby uruchomić wydarzenia w grze, odpowiedzieć na wejście gracza, zapisać dane gracza, tworzyć tabelę wyników, generować wrogów, kontrolować zachowanie NPC i wiele, wiele więcej.
Luau
Skrypty Roblox korzystają z języka programowania Luau, który pochodzi z Lua 5.1.
- W porównaniu do Lua 5.1, Luau dodaje ulepszenia wydajności i wiele przydatnych funkcji, w tym opcjonalny system pisania, interpolację ciągów i ogólone powtórzenie dla tabel.
- Wszystki prawidłowy kod Lua 5.1 jest prawidłowym kodem Luau, ale odwrotność nie jest prawdą.
Większość książek i zasobów online dla Lua nadal jest szeroko stosowana do Luau.Aby uzyskać szczegółowy przegląd różnic, zobacz Zgodność w dokumentacji Luau.Dla słowotwórstwa języka zobacz referencję Luau.
Podstawy Luau
Luau jest stopniowo wpisywany, więc nie musisz określać typu, gdy tworzysz zmienną. Możesz użyć type() , aby sprawdzić wpisywaćobiektu:
logMessage = "User has more than 10 items!"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ą kluczowa local:
local logMessage = "User has more than 10 items!"
local function printMessage()
print(logMessage)
end
printMessage() --> User has more than 10 items!
Luau używa nil do reprezentacji nieistnienia lub pustki, które ocenia się jako false w oświadczeniach warunkowych:
local messageToUserprint(messageToUser) --> nilprint(type(message)) --> nilif messageToUser then-- świadczenie ocenia się na fałszend
Jak możesz zauważyć, -- rozpoczyna jedno linijkowe komentować. --[[]] tworzy komentowaćblokowy:
--[[
Shuts off the cosmic moon ray immediately.
Should only be called within 15 minutes of midnight Mountain Standard
Time to avoid damage to the cosmic moon ray.
]]
local function stopCosmicMoonRay()
-- dodaj to później, może się to okazać ważne
end
Tabele są ogólnym terminem dla tablic i słowników.Matryce są jednowymiarowe zamiast zero-based, więc pierwszy element to [1] .Deklarujesz matryce i słowniki za pomocą pojedynczego zestawu kropek:
local myArray = {"chips", "sparkling water", "salsa"}local myDictionary = {snack = "chips",drink = "sparkling water",dip = "salsa"}print(myArray[1]) --> czipsyprint(myDictionary.dip) --> salsa
Możesz powtarzać tabele za pomocą for pętli z funkcją ipairs() dla matryc i funkcją pairs() dla słowników, ale Luau również pozwala pominąć te funkcje dla czystszej sintaktyki:
for index, value in ipairs(myArray) do -- standardowy Luaprint(index, value)endfor key, value in pairs(myDictionary) do -- standardowy Luaprint(key, value)endfor key, value in myDictionary do -- Luau ogólna iteracjaprint(key, value)end
Twój pierwszy skrypt
W Roblox Studio przewiń nad Serwerową usługą skryptową w oknie Eksploratora i kliknij + .
Wybierz Skrypt , aby dodać nowy skrypt.
Kliknij prawym przyciskiem skrypt i zmień 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ście jest otwarte.
Kliknij Graj , aby uruchomić swoją doświadczenie.
Zauważ wyjście:
hel (x2)oworld
Zrób się komfortowy
Duża część dostosowania się do nowego środowiska rozwojowego polega na skonfigurowaniu go, aby spełniał Twoje potrzeby i zrozumieniu narzędzi do Twojej dyspozycji:
- Sekcja Edytora skryptów w Ustawieniach studia pozwala dostosować jakość funkcji takich jak font, kolory, odstępy, automatyczne uzupełnianie, nawiasy i wskazówki narzędzi.Możesz również chcieć włączyć tryb ciemny w sekcji Studio .
- Trzymanie Ctrl lub Command i kliknięcie na funkcję lub zmienną przenosi cię do jej deklaracji w kodzie źródłowym (lub do dokumentacji online).Użycie Znajdź i znajdź wszystko może pomóc Ci nawigować po większych projektach.
- Okno Wyjście jest najbardziej podstawowym narzędziem do zrozumienia zachowania Twoich skryptów.Użyj menu ⋯ aby włączyć Pokaż kontekst i Pokaż źródło .
- Okno Analizy skryptów pokazuje podsumowanie błędów i ostrzeżeń, ale możesz znaleźć jego użyteczność ograniczoną; edytor skryptów już zaznacza te problemy, gdy je wpisywać.
Aby uzyskać więcej informacji o konfiguracji Studio do programowania, zobacz Edytor skryptów.Aby uzyskać informacje o korzystaniu z ulubionego edytora tekstu i systemu kontroli wersji, zobacz Narzędzia zewnętrzne.
Twój drugi skrypt
W Roblox Studio dodaj skrypt do ReplicatedStorage w oknie Explorer i zmień nazwę na OhNo.
Dodaj następujący kod do pliku:
print("Hello script types and locations!")Kliknij Graj , aby uruchomić swoją doświadczenie.
Zauważ, jak wyjście nie różni się od tego, gdy uruchomiłeś swój pierwszy skrypt.
Aby zrozumieć, dlaczego skrypt nie uruchomił się, zobacz Rodzaje i lokalizacje skryptów.