Porta de moedas
Parte da seção Scripts para jogos no Roblox do Journey de Lua da Coddy. Lição 16 de 24.
Um if pode fazer mais do que verificar se é nil. Ele pode comparar números, e uma parte else é executada quando a comparação é falsa:
local score = player.leaderstats.Score.Value
if score >= 10 then
print("You win!")
else
print("Keep going")
endOs operadores de comparação são == (igual), ~= (diferente), <, >, <= e >=. Observe o == duplo: um único = atribui um valor a uma variável, não faz uma comparação.
>= 3 significa "3 ou mais"; > 3 significa "mais que 3", então exatamente 3 não passaria.
Desafio
MédioTrês moedas flutuam à direita, e uma porta de madeira bloqueia a parede. O mundo conta as moedas para você. Este script fica na porta, e sua função Touched é executada quando um jogador pisa no bloco azul à sua frente.
- Se o jogador tiver
3ou mais Coins, abra a porta:CanCollidefalseeTransparency0.5. - Caso contrário, imprima exatamente
You need 3 coins.
Pressione Jogar, experimente primeiro o bloco, colete as moedas e tente novamente. Depois, Verificar.
Experimente você mesmo
local Players = game:GetService("Players")
local door = script.Parent
local pad = workspace.DoorPad
pad.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player then
local coins = player.leaderstats.Coins.Value
-- 3 moedas ou mais: abra a porta
-- caso contrário: imprima "You need 3 coins"
end
end)
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Scripts para jogos no Roblox
2Laços e funções
Fileira de pilaresConstrutor de escadasConstrutor de torresFábrica de moedasLuz piscantePonte desaparecendo5Seu primeiro jogo
Seu primeiro Obby3Eventos e jogadores
Plataforma de toqueChão de lavaLeaderstatsQuem tocou?Coletor de moedasPorta de moedasPratique por conta própria: Compilador de Lua online