Programação

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

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 messageToUser
print(messageToUser) --> nil
print(type(message)) --> nil
if messageToUser then
-- declaração avalia para falso
end

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]) --> chips
print(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ão
print(index, value)
end
for key, value in pairs(myDictionary) do -- Lua padrão
print(key, value)
end
for key, value in myDictionary do -- Luau iteração geralizada
print(key, value)
end

Seu primeiro script

  1. No Roblox Studio, passe o mouse sobre Serviço de Script de Servidor na janela Explorer e clique em + .

  2. Selecione Script para adicionar um novo script.

  3. Clique com o botão direito no script e renomeie-o para HelloScript .

  4. Clique duas vezes no script para abrí-lo no Editor de Scripts.

  5. 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 do
    print(value)
    end
    print(table.concat(worldArray))
  6. Certifique-se de que a janela Saída está aberta.

  7. Clique em Jogar para executar sua experiência.

  8. Observe a saída:


    h
    e
    l (x2)
    o
    world

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.
  • As capacidades de registro são mínimas, sem nenhum conceito de níveis de log como DEBUG ou FATAL. Use print() e warn() .

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

  1. No Roblox Studio, adicione um script a ReplicatedStorage na janela Explorer e renomeie-o para OhNo.

  2. Adicione o seguinte código ao arquivo:


    print("Hello script types and locations!")
  3. Clique em Jogar para executar sua experiência.

  4. 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.