Scripting

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Gli script sono file di testo puro che ti consentono di aggiungere comportamenti personalizzati, dinamici alle tue esperienze. Puoi usare gli script per attivare eventi in gioco, rispondere all'input del giocatore, salvare i dati del giocatore, creare classifiche, generare nemici, controllare il comportamento NPC e molto, molto altro.

Luau

I script Roblox utilizzano il linguaggio di programmazione Luau, che è basato su Lua 5.1.

  • Rispetto a Lua 5.1, Luau aggiunge miglioramenti di performance e molte funzionalità utili, tra cui un sistema di输入 opzionale, l'interpolazione (di stringhe)di stringhe e l'iterazione generica per le tabelle.
  • Tutto il codice Lua 5.1 valido è codice Luau valido, ma il contrario non è vero.

La maggior parte dei libri e delle risorse online per Lua sono ancora ampiamente applicabili a Luau. Per un dettagliato riepilogo delle differenze, vedi compatibilità nella documentazione di Luau. Per la sintassi della lingua, vedi la Luau Référence.

Luau Grundlagen

Luau è scritto in modo graduale, so you don't need to specify a type when you create a variable. You can use type() to check object inserisci / scrivi:


logMessage = "User has more than 10 items!"
print(logMessage) --> L'utente ha più di 10 oggetti!
print(type(logMessage)) --> string

Luau ha scope globali e locali, ma è quasi sempre meglio dichiarare le variabili e le funzioni localmente con il local keyword:


local logMessage = "User has more than 10 items!"
local function printMessage()
print(logMessage)
end
printMessage() --> User has more than 10 items!

Lua usa nil per rappresentare l'inesistenza o la nullità, che si valuta come false in condizioni:


local messageToUser
print(messageToUser) --> nulla
print(type(message)) --> nulla
if messageToUser then
-- la dichiarazione si valuta su false
end

Come potresti aver notato, -- inizia un Commentaredi una riga. --[[]] crea un Commentaredi blocco:


--[[
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()
-- aggiungi questo più tardi, potrebbe rivelarsi importante
end

Le tabelle sono il termine generico per gli array e i dizionari. Gli array sono basati su uno invece che su zero, quindi il primo elemento è [1] . Dichiarate gli array e i dizionari con un singolo set di parentesi:


local myArray = {"chips", "sparkling water", "salsa"}
local myDictionary = {
snack = "chips",
drink = "sparkling water",
dip = "salsa"
}
print(myArray[1]) --> chip
print(myDictionary.dip) --> salsa

Puoi ripetere le tabelle utilizzando for loop con la funzione ipairs() per gli array e la funzione pairs() per le dizioni, ma Luau ti consente anche di omettere queste funzioni per una sintassi più pulita:


for index, value in ipairs(myArray) do -- Lua standard
print(index, value)
end
for key, value in pairs(myDictionary) do -- Lua standard
print(key, value)
end
for key, value in myDictionary do -- Luau generazione generale
print(key, value)
end

Il tuo primo script

  1. In Roblox Studio, passa il mouse su ServerScriptService nella finestra Explorer e fai clic su + .

  2. Seleziona Script per aggiungere uno script nuovo.

  3. Fai clic con il pulsante destro del mouse sullo script e rinominalo in HelloScript .

  4. Fai doppio clic sul script per aprirlo nel Script Editor.

  5. Aggiungi il seguente codice al file:


    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. Assicurarsi che la finestra Output sia aperta.

  7. Fai clic su Gioca per eseguire la tua esperienza.

  8. Nota l'Output:


    h
    e
    l (x2)
    o
    world

Smetti di essere comodo

Una grande parte dell'adattamento a un nuovo ambiente di sviluppo è configurarlo per soddisfare le tue esigenze e capire gli strumenti a tua disposizione:

  • La sezione Editor del Script di Impostazioni dello Studio ti consente di regolare la qualità delle funzionalità della vita come carattere, colori, allineamento, autocompletamento, brackets e tooltips. Potresti anche abilitare la modalità oscura nella sezione Studio .
  • Tenere premuto Ctrl o Comando e fare clic su una funzione o una variabile ti porta alla sua dichiarazione nella tua base di codice (o alla sua documentazione online). Utilizzando Trova e trova tutti può aiutarti a navigare in progetti più grandi.
  • La finestraOutput è lo strumento più basico per capire il comportamento dei tuoi script. Usa il menu per abilitare Mostra contest e 1>Mostra la fonte1>.
  • La analisi dello script finestra mostra un riepilogo degli errori e delle avvertenze, ma potresti trovare la sua utilità limitata; lo script editor evidenzia già questi problemi mentre inserisci / scrivi.
  • Le capacità di registrazione sono minimal, con nessun concetto di livelli di registrazione come DEBUG o FATAL . Usa print() e 1> Global.RobloxGlobals.warn()1> .

For more information about configuring Studio for scripting, see Editor del testo esterno . For information on using your favorite text editor and version control system, see Strumenti esterni .

Il tuo secondo script

  1. In Roblox Studio, aggiungi uno script a ReplicatedStorage nella finestra Explorer e rinominalo in OhNo .

  2. Aggiungi il seguente codice al file:


    print("Hello script types and locations!")
  3. Fai clic su Gioca per eseguire la tua esperienza.

  4. Nota come l'uscita non sia diversa da quando hai eseguito il tuo primo script.

Per capire perché lo script non si è Eseguire, vedi Tipi e posizioni dello script .