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 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 messageToUser
print(messageToUser) --> zero
print(type(message)) --> zero
if messageToUser then
-- testowanie stwierdzenia do false
end

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]) --> czips
print(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 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ólny zapis
print(key, value)
end

Twój pierwszy skrypt

  1. W Roblox Studio, Przytrzymaj na ServerScriptService w oknie Explorer i kliknij 2>+2>.

  2. Wybierz Skrypt , aby dodać nowy skrypt.

  3. Prawe kliknięcie skryptu i jego zmiana nazwy do HelloScript .

  4. Podwójnie kliknij skrypt, aby otworzyć go w Skrypt Editor .

  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ż wynik:


    h
    e
    l (x2)
    o
    world

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

  1. W Roblox Studio, dodaj skrypt do ReplicatedStorage w oknie Explorer i zmień jego 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ś Twój pierwszy skrypt.

Aby zrozumieć, dlaczego skrypt nie załadował się, zobacz Typy i lokalizacje skryptów .