Menu
CoddyTech

Respawn de moedas

Parte da seção Scripts para jogos no Roblox do Journey de Lua da Coddy. Lição 16 de 25.

Agora cada moeda dá 1, uma única vez. Uma moeda de verdade deve desaparecer e depois voltar para que possa ser coletada novamente.

Transparency = 1 oculta uma peça, mas ela ainda dispara Touched. CanTouch = false faz uma peça parar de disparar Touched até que seja definido novamente como true.

Para fazê-la voltar, espere dentro da função Touched e desfaça as alterações. task.wait pausa apenas essa função, então outros toques continuam acontecendo e são ignorados enquanto o debounce está true:

local used = false
pad.Touched:Connect(function(hit)
	if not used then
		used = true
		pad.Transparency = 0.5
		task.wait(5)
		pad.Transparency = 0
		used = false
	end
end)

A peça fica esmaecida por 5 segundos após um toque; depois, ela volta e fica pronta novamente.

challenge icon

Desafio

Médio

Faça uma moeda coletada desaparecer e voltar 3 segundos depois.

  1. Depois da linha que adiciona a Coin, esconda-a: coin.Transparency = 1 e coin.CanTouch = false.
  2. Depois, task.wait(3) e mostre-a novamente: Transparency 0, CanTouch true.
  3. Por último, defina collected = false para que ela possa ser coletada novamente.

Pressione “Jogar” e passe por uma moeda: ela desaparece e volta 3 segundos depois. Depois, clique em “Verificar”.

Experimente você mesmo

local Players = game:GetService("Players")
local coins = workspace.Coins

Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local coinsValue = Instance.new("IntValue")
	coinsValue.Name = "Coins"
	coinsValue.Value = 0
	coinsValue.Parent = leaderstats
end)

for _, coin in coins:GetChildren() do
	local collected = false
	coin.Touched:Connect(function(hit)
		local player = Players:GetPlayerFromCharacter(hit.Parent)
		if player and not collected then
			collected = true
			player.leaderstats.Coins.Value += 1
		end
	end)
end

Todas as lições de Scripts para jogos no Roblox

Pratique por conta própria: Compilador de Lua online