Skrypty to pliki tekstowe, które pozwalają dodać swoim doświadczeniom niestandardowy, dynamiczny zachowania. Możesz używać skrypt, aby wywołać w grze wydarzenia, odpowiedzieć na wejścia gracza, zapisać dane gracza, tworzyć tabelę liderów, generować wrogów i kontrolować zachowanie NPC. I wiele, wiele więcej.
Luau
Skrypty Roblox używają Luau języka programowania, który jest odzyskany z Lua 5.1.
- W porównaniu do Lua 5.1, Luau dodaje poprawy wydajności i wiele przydatnych funkcji, w tym opcjonalny system wpisywania, zaimportowanie strunek i ogólne itp. dla tabel.
- Wszystkie ważne kody Lua 5.1 są ważnymi kodami Luau, ale nie odwrotnie.
Większość książek i zasobów online dla Lua nadal jest szeroko stosowalna dla Luau. Dla szczegółowego podsumowania różnic, zobacz Zgodność w dokumentacji Luau. Dla kodeksu języka, zobacz Referencję Luau.
Luau Podstawy
Luau jest stopniowo wpisywany, więc nie musisz określać typu, gdy tworzysz zmienne. 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 pozycji!print(type(logMessage)) --> string
Luau ma globalne i lokalne zakresy, ale zawsze lepiej deklarować zmienne i funkcje lokalnie za pomocą słowa kluczowego local :
local logMessage = "User has more than 10 items!"
local function printMessage()
print(logMessage)
end
printMessage() --> User has more than 10 items!
Lua używa nil , aby przedstawić niewystępującość lub niewystępującość, która oceniana jest jako false w warunkowych stwierdzeniach:
local messageToUserprint(messageToUser) --> zeroprint(type(message)) --> zeroif messageToUser then-- testowanie stwierdzenia do falseend
Jak zauważyłeś, -- zaczyna komentowaćjednej linijki. --[[]] 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
Tabelami określa się genériczne terminy dla matryc i słowników. Matryce są jednoznaczne, a nie zero-based, więc pierwszy element to [1] . Oznaczasz matryce i słowniki jednoznacznie poprzez pojedynczy zestaw nawiasów:
local myArray = {"chips", "sparkling water", "salsa"}local myDictionary = {snack = "chips",drink = "sparkling water",dip = "salsa"}print(myArray[1]) --> czipsprint(myDictionary.dip) --> salsa
Możesz powtarzać tabelach używając for pętli z funkcją ipairs() dla matryc i funkcją pairs() dla słowników, ale Luau umożliwia również omitowanie tych funkcji dla czystej sintaksji:
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ólny zapisprint(key, value)end
Twój pierwszy skrypt
W Roblox Studio, Przytrzymaj na ServerScriptService w oknie Explorer i kliknij 2>+2>.
Wybierz Skrypt , aby dodać nowy skrypt.
Prawe kliknięcie skryptu i jego zmiana nazwy do HelloScript .
Podwójnie kliknij skrypt, aby otworzyć go w Skrypt Editor .
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ż wynik:
hel (x2)oworld
Zdrowy
Dużą część dostosowania do nowego środowiska rozwojowego jest skonfigurowanie go, aby odpowiadał na Twoje potrzeby i zrozumiał narzędzia do Twojej disposizione:
- Sekcja Edytor Skryptów w Ustawieniach Studio umożliwia dostosowanie jakości życia, takich jak czcionka, kolory, podświetlenie, autoukończenie, spustki i tooltips. Możesz również włączyć tryb ciemny w sekcji Studio.
- Przytrzymywanie Ctrl lub Command i kliknięcie na funkcję lub zmienne wzięło cię do jego deklaracji w twojej bazie kodu (lub jej dokumentacji online). Używanie Find and Find All może pomóc ci poruszać się po większych projektach.
- Okienko Wyjście jest najbardziej podstawowym narzędziem do zrozumienia zachowania swoich skryptów. Użyj menu ⋯ , aby włączyć Pokaż kontekst i 1>Pokaż źródło1>.
- Okienko Analiza Skryptu pokazuje podsumowanie błędów i ostrzeżeń, ale można go znaleźć, jego użyteczność jest ograniczona; Edytor Skryptów już podkreśla te problemy podczas wpisywać.
- Logowanie jest minimalne, bez pojęcia o poziomach logowania, takich jak DEBUG lub FATAL. Użyj print() i 1> Global.RobloxGlobals.warn()1>.
Dla więcej informacji o skonfigurowaniu Studio do programowania, zobacz Edytor tekstu. Dla informacji o użyciu Twojego ulubionego edytora tekstu i systemie kontroli wersji, zobacz Narzędzia zewnętrzne.
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("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ś Twój pierwszy skrypt.
Aby zrozumieć, dlaczego skrypt nie załadował się, zobacz Typy i lokalizacje skryptów .