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 às suas experiências. Você pode usar scripts para acionar eventos no jogo, responder à entrada do jogador, salvar dados do jogador, criar tabelas de classificação, gerar inimigos, controlar o comportamento do NPC e muito, muito mais.

Luau

Os scripts Roblox usam a linguagem de programação Luau, que é baseada em Lua 5.1.

  • Comparado ao Lua 5.1, o Luau adiciona melhorias de desempenho e muitos recursos úteis, incluindo um sistema de digitação opcional, interpretação de caracteres e iteração genérica para tabelas.
  • Todo o código Lua 5.1 válido é código Luau válido, mas o contrário não é verdadeiro.

A maioria dos livros e recursos online para Lua ainda é aplicável amplamente ao Luau. Para uma visão detalhada das diferenças, see Compatibilidade na documentação Luau. Para linguagem de script, see the Referência Luau .

Luau Básicos

O Luau é escrito gradualmente, para que você não precise especificar um tipo ao criar uma variável. Você pode usar type() para verificar o digitarobjeto:


logMessage = "User has more than 10 items!"
print(logMessage) --> O usuário tem mais de 10 itens!
print(type(logMessage)) --> string

O Luau tem escopos globais e locais, mas é quase sempre melhor declarar variáveis e funções localmente com a palavra-chave local:


local logMessage = "User has more than 10 items!"
local function printMessage()
print(logMessage)
end
printMessage() --> User has more than 10 items!

Lua usa nil para representar a não-existência ou nulidade, o que avalia como false em declarações condicionais:


local messageToUser
print(messageToUser) --> zero
print(type(message)) --> zero
if messageToUser then
-- afirmação avalia em falso
end

Como você pode ter notado, -- começa um comentarde uma linha. --[[]] cria um comentarde blocos:


--[[
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()
-- adicionar isso mais tarde, pode ser importante
end

Mesas são o termo genérico para arranjos e dicionários. Arranjos são baseados em um e não baseados em zero, então o primeiro item é [1]. Você declara arranjos e dicionários com um único conjunto de aspas:


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 iteração sobre tabelas usando for loops com a função ipairs() para arranjos e a função pairs() para dicionários, mas Luau também permite que você omita essas funções para uma linguagem 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. In Roblox Studio, hover over ServerScriptService na Explorer window and click + .

  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 abri-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. Nota a saída:


    h
    e
    l (x2)
    o
    world

Ficando Confortável

Uma grande parte da adaptação 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 Scripts do Configurações do Studio permite que você ajuste recursos de qualidade de vida, como fontes, cores, espaçamento, autocompletar, aspas e dicas de ferramentas. Você também pode habilitar o modo escuro na seção Studio.
  • Segurar Ctrl ou Comando 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 ativar Mostrar Conteúdo e 1>Mostrar Fonte1>.
  • A Análise de Script janela mostra um resumo de erros e avisos, mas você pode encontrar sua utilidade limitada; o Editor de Script já destaca esses problemas à medida que você digitar.
  • As capacidades de registro são mínimas, com nenhum conceito de níveis de registro como DEBUG ou FATAL. Use print() e 1> Global.RobloxGlobals.warn() .

Para mais informações sobre a configuração do Studio para scripting, see Editor de Scripts . Para informações sobre usar seu editor de texto favorito e sistema de controle de versão, see Ferramentas Externas .

Seu Segundo Script

  1. In Roblox Studio, add a script to ReplicatedStorage in the Explorer window and rename it to 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 quando você executou seu primeiro script.

Para entender por que o script não foi executar, see Tipos e Locações de Scripts .