Scripts são arquivos de texto simples que permitem adicionar comportamento dinâmico e personalizado às suas experiências.Você pode usar scripts para disparar eventos no jogo, responder à entrada do jogador, salvar dados do jogador, criar placares, gerar inimigos, controlar o comportamento do NPC e muito, muito mais.
Luau
Os scripts do Roblox usam o idioma de programação Luau, que é derivado de Lua 5.1.
- Comparado ao Lua 5.1, o Luau adiciona melhorias de desempenho e muitas características úteis, incluindo um sistema de digitação opcional, interpolação de corda e iteração generalizada para tabelas.
- Todo código Lua 5.1 válido é código Luau válido, mas o oposto não é verdadeiro.
A maioria dos livros e recursos online para Lua ainda é amplamente aplicável ao Luau.Para um resumo detalhado das diferenças, veja Compatibilidade na documentação do Luau.Para a síntese de linguagem, veja a referência Luau.
Luau básico
Luau é digitado gradualmente, então você não precisa especificar um tipo quando cria uma variável. Você pode usar type() para verificar o digitarobjeto:
logMessage = "User has more than 10 items!"print(logMessage) --> Usuário tem mais de 10 itens!print(type(logMessage)) --> string
O Luau tem âmbitos globais e locais , mas quase sempre é melhor declarar variáveis e funções localmente com a palavra-chave :
local logMessage = "User has more than 10 items!"
local function printMessage()
print(logMessage)
end
printMessage() --> User has more than 10 items!
Luau usa nil para representar a não existência ou o nada, que se avalia como false em declarações condicionais:
local messageToUserprint(messageToUser) --> nilprint(type(message)) --> nilif messageToUser then-- declaração avalia para falsoend
Como você deve ter notado, -- começa um comentarde uma linha. --[[]] cria um comentarde bloco:
--[[
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()
-- adicione isso mais tarde, pode ser importante
end
Tabelas são o termo genérico para arrays e dicionários.Os arrays são baseados em um ao invés de zero, então o primeiro item é [1] .Você declara arrays e dicionários com um único conjunto de curly braces:
local myArray = {"chips", "sparkling water", "salsa"}local myDictionary = {snack = "chips",drink = "sparkling water",dip = "salsa"}print(myArray[1]) --> chipsprint(myDictionary.dip) --> salsa
Você pode iterar sobre tabelas usando for loops com a função ipairs() para arrays e a função pairs() para dicionários, mas o Luau também permite que você omita essas funções para uma síntese mais limpa:
for index, value in ipairs(myArray) do -- Lua padrãoprint(index, value)endfor key, value in pairs(myDictionary) do -- Lua padrãoprint(key, value)endfor key, value in myDictionary do -- Luau iteração geralizadaprint(key, value)end
Seu primeiro script
No Roblox Studio, passe o mouse sobre Serviço de Script de Servidor na janela Explorer e clique em + .
Selecione Script para adicionar um novo script.
Clique com o botão direito no script e renomeie-o para HelloScript .
Clique duas vezes no script para abrí-lo no Editor de Scripts.
Adicione o seguinte código ao arquivo:
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))Certifique-se de que a janela Saída está aberta.
Clique em Jogar para executar sua experiência.
Observe a saída:
hel (x2)oworld
Fique confortável
Uma grande parte de se adaptar a um novo ambiente de desenvolvimento é configurá-lo para atender às suas necessidades e entender as ferramentas à sua disposição:
- A seção Editor de Script de Configurações do Studio deixa você ajustar recursos de qualidade de vida, como fontes, cores, indenção, preenchimento automático, parênteses e dicas de ferramentas.Você também pode querer habilitar o modo escuro na seção Studio .
- Segurar ou e clicar em uma função ou variável leva você à sua declaração em sua base de código (ou sua documentação online).Usar Encontrar e Encontrar Todos pode ajudá-lo a navegar por projetos maiores.
- A janela Saída é a ferramenta mais básica para entender o comportamento de seus scripts.Use o menu ⋯ para habilitar Mostrar Contexto e Mostrar Fonte .
- A janela Análise de Script mostra um resumo de erros e advertências, mas você pode encontrar sua utilidade limitada; o Editor de Script já destaca esses problemas enquanto você digitar.
Para mais informações sobre a configuração do Studio para scripting, veja Editor de Scripts.Para obter informações sobre o uso do seu editor de texto favorito e do sistema de controle de versão, veja Ferramentas externas.
Seu segundo script
No Roblox Studio, adicione um script a ReplicatedStorage na janela Explorer e renomeie-o para OhNo.
Adicione o seguinte código ao arquivo:
print("Hello script types and locations!")Clique em Jogar para executar sua experiência.
Observe como a saída não é diferente da quando você executou seu primeiro script .
Para entender por que o script não foi executar, veja Tipos e Locais de Script.