Código Moneda

mail@pastecode.io avatar
unknown
lua
5 months ago
1.5 kB
4
Indexable
local debounce = false  -- Variable para evitar múltiples activaciones

local function tocarMoneda(contacto)
	if debounce then return end  -- Evita que se active varias veces
	debounce = true  -- Activa el debounce para evitar múltiples activaciones

	local player = game.Players:GetPlayerFromCharacter(contacto.Parent)

	if player then
		-- Añadir un punto al ScoreValue
		local scoreValue = player:FindFirstChild("ScoreValue")
		if scoreValue then
			scoreValue.Value = scoreValue.Value + 1  -- Incrementar el score en 1
		end

		-- Desactivar la colisión y ocultar la moneda (pero seguirá rotando)
		script.Parent.Transparency = 1  -- Hace la moneda invisible
		script.Parent.CanCollide = false  -- Desactiva la colisión

		-- Reproducir el sonido de la moneda
		local sound = script.Parent:FindFirstChild("Sound")
		if sound then
			sound:Play()  -- Reproduce el sonido
			sound.Ended:Wait()  -- Espera a que el sonido termine
		else
			wait(0.5)  -- En caso de que no haya sonido, espera 0.5 segundos por seguridad
		end

		-- Finalmente, destruir la moneda
		script.Parent:Destroy()
	end
end

script.Parent.Touched:Connect(tocarMoneda)

-- Rotación constante de la moneda
while true do
	-- Aseguramos que la moneda sigue girando aunque sea invisible
	if not debounce then  -- Solo rota mientras no ha sido recogida
		script.Parent.CFrame = script.Parent.CFrame * CFrame.Angles(0, math.rad(2), 0)
	end
	wait(0.02)
end
Leave a Comment