Untitled

 avatar
unknown
plain_text
9 months ago
1.9 kB
16
Indexable
local button = script.Parent
local door = game.Workspace.Door
local tweenService = game:GetService("TweenService")

-- 🔧 Kapının orijinal bilgilerini kaydet
local originalSize = door.Size
local originalCFrame = door.CFrame

-- 🎯 Başlangıçta kapı görünmez ve küçültülmüş (yerde yok gibi)
door.Transparency = 1
door.CanCollide = false
door.Size = Vector3.new(originalSize.X, 0.1, originalSize.Z)
door.CFrame = originalCFrame - Vector3.new(0, (originalSize.Y - 0.1) / 2, 0) -- taban yere gelsin

-- 🌀 Tween fonksiyonu (boyutu ve konumu aynı anda değiştirir)
local function tweenKapı(targetSize, targetCFrame, duration)
	local tweenInfo = TweenInfo.new(duration, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
	local sizeTween = tweenService:Create(door, tweenInfo, {Size = targetSize})
	local posTween = tweenService:Create(door, tweenInfo, {CFrame = targetCFrame})
	sizeTween:Play()
	posTween:Play()
	return sizeTween, posTween
end

-- 🎮 Buton tıklama olayı
button.ClickDetector.MouseClick:Connect(function(player)
	if door.Transparency == 0 then
		print("Kapı zaten açık, bekle lütfen!")
		return
	end

	print(player.Name .. " butona bastı, kapı büyüyor...")

	door.Transparency = 0
	door.CanCollide = true

	-- 🆙 Kapıyı büyüt (taban sabit kalacak şekilde yukarı doğru)
	local targetSize = originalSize
	local targetCFrame = originalCFrame
	tweenKapı(targetSize, targetCFrame, 2)

	-- ⏳ 50 saniye açık kalsın
	task.wait(50)

	print("Kapı küçülüyor...")

	-- ⬇️ Kapıyı küçült (aşağı doğru iniyor)
	local smallSize = Vector3.new(originalSize.X, 0.1, originalSize.Z)
	local smallCFrame = originalCFrame - Vector3.new(0, (originalSize.Y - 0.1) / 2, 0)
	tweenKapı(smallSize, smallCFrame, 2)

	task.wait(2)
	door.Transparency = 1
	door.CanCollide = false
end)
Editor is loading...
Leave a Comment