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 messageToUserprint(messageToUser) --> nullaprint(type(message)) --> nullaif messageToUser then-- la dichiarazione si valuta su falseend
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]) --> chipprint(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 standardprint(index, value)endfor key, value in pairs(myDictionary) do -- Lua standardprint(key, value)endfor key, value in myDictionary do -- Luau generazione generaleprint(key, value)end
Il tuo primo script
In Roblox Studio, passa il mouse su ServerScriptService nella finestra Explorer e fai clic su + .
Seleziona Script per aggiungere uno script nuovo.
Fai clic con il pulsante destro del mouse sullo script e rinominalo in HelloScript .
Fai doppio clic sul script per aprirlo nel Script Editor.
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))Assicurarsi che la finestra Output sia aperta.
Fai clic su Gioca per eseguire la tua esperienza.
Nota l'Output:
hel (x2)oworld
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
In Roblox Studio, aggiungi uno script a ReplicatedStorage nella finestra Explorer e rinominalo in OhNo .
Aggiungi il seguente codice al file:
print("Hello script types and locations!")Fai clic su Gioca per eseguire la tua esperienza.
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 .