Gli script sono file di testo semplici che ti permettono 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, far apparire nemici, controllare il comportamento degli NPC e molto, molto altro.
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 tipi 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.
Fondamenti di Luau
Luau è tipizzato in modo graduale, quindi non è necessario specificare un tipo quando si crea una variabile. Puoi utilizzare type() per controllare il tipo di un oggetto:
logMessage = "L'utente ha più di 10 oggetti!"
print(logMessage) --> L'utente ha più di 10 oggetti!
print(type(logMessage)) --> stringLuau 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 il nulla, che viene valutato come false nelle istruzioni condizionali:
local messageToUser
print(messageToUser) --> nil
print(type(messageToUser)) --> nil
if messageToUser then
-- l'istruzione viene valutata come false
endCome potresti aver notato, -- inizia un commento su una riga. --[[]] crea un commento a blocchi:
--[[
Spegne immediatamente il raggio cosmico della luna.
Dovrebbe essere chiamato solo entro 15 minuti dalla mezzanotte ora standard di montagna
per evitare danni al raggio cosmico della luna.
]]
local function stopCosmicMoonRay()
-- aggiungi questo in seguito, potrebbe rivelarsi importante
endLe tabelle sono il termine generico per array e dizionari. Gli array sono indicizzati a partire da uno piuttosto che da zero, quindi il primo elemento è [1]. Dichiarare array e dizionari con un singolo set di parentesi graffe:
local myArray = {"patatine", "acqua frizzante", "salsa"}
local myDictionary = {
snack = "patatine",
drink = "acqua frizzante",
dip = "salsa"
}
print(myArray[1]) --> patatine
print(myDictionary.dip) --> salsaPuoi iterare sulle tabelle utilizzando 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 standard
print(index, value)
end
for key, value in pairs(myDictionary) do -- Lua standard
print(key, value)
end
for key, value in myDictionary do -- iterazione generalizzata di Luau
print(key, value)
endIl tuo primo script
In Roblox Studio, passa il mouse su 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
Sentiti a tuo agio
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 le funzionalità di qualità della vita 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 variabile, verrai portato alla sua dichiarazione nel tuo codice (o nella sua documentazione online). Utilizzare Trova e Trova Tutto può aiutarti a navigare in progetti più grandi.
- La finestra Output è lo strumento più basilare 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 tipi e posizioni degli script!")Nota come l'output non è diverso da quando hai eseguito il tuo primo script.
Per capire perché lo script non è stato eseguito, consulta Tipi e posizioni degli script.