Gli script sono file di testo semplici che ti consentono di aggiungere comportamenti personalizzati e dinamici ai tuoi giochi. Puoi utilizzare gli script per attivare eventi di gioco, rispondere all'input dei giocatori, salvare i dati dei giocatori, creare classifiche, generare nemici, controllare il comportamento degli NPC e molto, molto di più.
Luau
Gli script di Roblox utilizzano il linguaggio di programmazione Luau, che è derivato da Lua 5.1.
- Rispetto a Lua 5.1, Luau aggiunge miglioramenti delle prestazioni e molte funzionalità utili, tra cui un sistema di tipizzazione opzionale, interpolazione delle stringhe e iterazione generalizzata 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 riepilogo dettagliato delle differenze, consulta Compatibilità nella documentazione di Luau. Per la sintassi del linguaggio, consulta il riferimento Luau.
Nozioni di base su Luau
Luau è tipizzato in modo graduale, quindi non è necessario specificare un tipo quando crei una variabile. Puoi utilizzare type() per controllare il tipo di oggetto:
logMessage = "L'utente ha più di 10 oggetti!"print(logMessage) --> L'utente ha più di 10 oggetti!print(type(logMessage)) --> string
Luau ha ambiti globali e locali, ma è quasi sempre meglio dichiarare variabili e funzioni localmente con la parola chiave local:
local logMessage = "L'utente ha più di 10 oggetti!"
local function printMessage()
print(logMessage)
end
printMessage() --> L'utente ha più di 10 oggetti!
Luau utilizza nil per rappresentare l'inesistenza o la nullità, che viene valutata come false nelle istruzioni condizionali:
local messageToUserprint(messageToUser) --> nilprint(type(messageToUser)) --> nilif messageToUser then-- l'istruzione è valutata come falsaend
Come potresti aver notato, -- inizia un commento su una sola riga. --[[]] crea un commento a blocchi:
--[[
Spegne immediatamente il raggio cosmico della luna.
Dovrebbe essere chiamato solo entro 15 minuti dalla mezzanotte del Mountain Standard
Time per evitare danni al raggio cosmico della luna.
]]
local function stopCosmicMoonRay()
-- aggiungi questo in seguito, potrebbe rivelarsi importante
end
Le tabelle sono il termine generico per array e dizionari. Gli array sono indicizzati a base uno piuttosto che a base zero, quindi il primo elemento è [1]. Dichiarare array e dizionari con un solo set di parentesi graffe:
local myArray = {"patatine", "acqua frizzante", "salsa"}local myDictionary = {spuntino = "patatine",bevanda = "acqua frizzante",salsa = "salsa"}print(myArray[1]) --> patatineprint(myDictionary.salsa) --> salsa
Puoi iterare sulle tabelle utilizzando i cicli for con la funzione ipairs() per gli array e la funzione pairs() per i dizionari, ma Luau ti consente anche di omettere queste funzioni per una sintassi più pulita:
for index, value in ipairs(myArray) do -- Lua standardprint(index, value)endfor key, value in pairs(myDictionary) do -- Lua standardprint(key, value)endfor key, value in myDictionary do -- iterazione generalizzata di Luauprint(key, value)end
Il tuo primo script
In Roblox Studio, passa sopra ServerScriptService nella finestra Explorer e fai clic su +.
Seleziona Script per aggiungere un nuovo script.
Fai clic con il tasto destro sullo script e rinominalo in HelloScript.
Fai doppio clic sullo script per aprirlo nell'Editor di Script.
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 doprint(value)endprint(table.concat(worldArray))Assicurati che la finestra Output sia aperta.
Esegui il tuo gioco e annota l'output:
hel (x2)oworld
Fai pratica
Una parte importante dell'adattamento a un nuovo ambiente di sviluppo è configurarlo per soddisfare le tue esigenze e comprendere gli strumenti a tua disposizione:
- La sezione Editor di Script delle Impostazioni Studio ti consente di regolare funzionalità che migliorano l'esperienza, come font, colori, indentazione, completamento automatico, parentesi e suggerimenti. Potresti anche voler abilitare la modalità scura nella sezione Studio.
- Tenendo premuto Ctrl o Command e facendo clic su una funzione o una variabile, verrai portato alla sua dichiarazione nel tuo codice (o alla sua documentazione online). Utilizzare Cerca e Trova Tutto può aiutarti a navigare in progetti più grandi.
- La finestra Output è lo strumento più fondamentale per comprendere il comportamento dei tuoi script. Usa il menu ⋯ per abilitare Mostra contesto e Mostra sorgente.
- La finestra Analisi Script mostra un riepilogo di errori e avvisi, ma potresti trovare la sua utilità limitata; l'Editor di Script evidenzia già questi problemi mentre scrivi.
Per ulteriori informazioni sulla configurazione di Studio per la programmazione, consulta Editor di Script.
Il tuo secondo script
In Roblox Studio, aggiungi uno script a ReplicatedStorage nella finestra Explorer e rinominalo in OhNo.
Aggiungi il seguente codice al file:
print("Ciao script tipi e posizioni!")Nota come l'output non è diverso da quando hai eseguito il tuo primo script.
Per capire perché lo script non si è eseguito, consulta Tipi e posizioni degli script.