Skryptowanie

*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 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 messageToUser
print(messageToUser) --> nil
print(type(message)) --> nil
if messageToUser then
-- świadczenie ocenia się na fałsz
end

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]) --> czipsy
print(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 Lua
print(index, value)
end
for key, value in pairs(myDictionary) do -- standardowy Lua
print(key, value)
end
for key, value in myDictionary do -- Luau ogólna iteracja
print(key, value)
end

Twój pierwszy skrypt

  1. W Roblox Studio przewiń nad Serwerową usługą skryptową w oknie Eksploratora i kliknij + .

  2. Wybierz Skrypt , aby dodać nowy skrypt.

  3. Kliknij prawym przyciskiem skrypt i zmień 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ście jest otwarte.

  7. Kliknij Graj , aby uruchomić swoją doświadczenie.

  8. Zauważ wyjście:


    h
    e
    l (x2)
    o
    world

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ć.
  • Możliwości rejestracji są minimalne, bez koncepcji poziomów logów takich jak DEBUG lub FATAL. Użyj print() i warn().

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

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

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


    print("Hello script types and locations!")
  3. Kliknij Graj , aby uruchomić swoją doświadczenie.

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