Untitled
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