Advertisement
Anukun_Lucifer

DrawerScript

Oct 21st, 2024
504
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.27 KB | Gaming | 0 0
  1. -- นำเข้า TweenService เพื่อใช้สำหรับสร้างการเคลื่อนไหว
  2. local ts = game:GetService("TweenService")
  3.  
  4. -- กำหนด drawer (ลิ้นชัก) และ target (ตำแหน่งเป้าหมายของลิ้นชักเมื่อเปิด)
  5. local drawer = script.Parent.Parent.Drawer
  6. local target = script.Parent.Parent.Target
  7. local clickdrawer = drawer.ClickDetector -- ตัวตรวจจับการคลิก
  8.  
  9. -- เสียงของการเปิดและปิดลิ้นชัก
  10. local drawersound = drawer.DrawerOpeningClosing
  11.  
  12. -- กำหนดข้อมูลการเคลื่อนไหว (tween) โดยกำหนดเวลา 0.5 วินาที
  13. -- ใช้ Exponential easing style และ EasingDirection.Out
  14. local tweenInfo = TweenInfo.new(
  15.     0.5, -- ระยะเวลาในการ tween
  16.     Enum.EasingStyle.Exponential, -- สไตล์การเคลื่อนไหว
  17.     Enum.EasingDirection.Out, -- ทิศทางของการเคลื่อนไหว (เริ่มเร็วแล้วช้าลง)
  18.     0, -- จำนวนครั้งที่ทำซ้ำ (0 คือไม่ซ้ำ)
  19.     false, -- ไม่กลับทิศทางหลังจากเสร็จสิ้น
  20.     0 -- เวลาหน่วงเริ่มต้นเป็น 0
  21. )
  22.  
  23. -- สร้าง tween สำหรับการเปิดลิ้นชัก (เปลี่ยนตำแหน่งของ drawer ไปที่ target)
  24. local open = ts:Create(drawer,tweenInfo,{Position = target.Position})
  25.  
  26. -- สร้าง tween สำหรับการปิดลิ้นชัก (เปลี่ยนตำแหน่งกลับไปที่ตำแหน่งเดิม)
  27. local close = ts:Create(drawer,tweenInfo,{Position = drawer.Position})
  28.  
  29. -- กำหนดตัวแปรเพื่อเก็บสถานะของลิ้นชัก (เปิดหรือปิด)
  30. local check = false
  31.  
  32. -- ฟังก์ชันเมื่อผู้เล่นคลิกที่ ClickDetector ของลิ้นชัก
  33. clickdrawer.MouseClick:Connect(function()
  34.     if check == false then -- ถ้าลิ้นชักปิดอยู่
  35.         open:Play() -- เล่น tween เปิดลิ้นชัก
  36.         drawersound:Play() -- เล่นเสียงเปิด/ปิดลิ้นชัก
  37.         task.wait() -- รอการทำงานเล็กน้อย
  38.         check = true -- ตั้งสถานะว่าลิ้นชักเปิดแล้ว
  39.     elseif check == true then -- ถ้าลิ้นชักเปิดอยู่
  40.         close:Play() -- เล่น tween ปิดลิ้นชัก
  41.         drawersound:Play() -- เล่นเสียงเปิด/ปิดลิ้นชัก
  42.         task.wait() -- รอการทำงานเล็กน้อย
  43.         check = false -- ตั้งสถานะว่าลิ้นชักปิดแล้ว
  44.     end
  45. end)
  46.  
  47. -- เพิ่ม Highlight ให้กับลิ้นชัก
  48. local highlight = Instance.new("Highlight")
  49. highlight.FillColor = Color3.fromRGB(255, 255, 255) -- กำหนดสีพื้นเป็นสีขาว
  50. highlight.OutlineColor = Color3.fromRGB(0, 0, 0) -- กำหนดสีขอบเป็นสีดำ
  51. highlight.Parent = drawer -- กำหนด parent ของ highlight ให้เป็น drawer
  52. highlight.Enabled = false -- เริ่มต้นปิด highlight
  53.  
  54. -- เมื่อผู้เล่นนำเคอร์เซอร์ไปชี้ที่ลิ้นชัก
  55. clickdrawer.MouseHoverEnter:Connect(function()
  56.     highlight.Enabled = true -- เปิด highlight เมื่อผู้เล่นชี้เมาส์ไปที่ลิ้นชัก
  57. end)
  58.  
  59. -- เมื่อผู้เล่นนำเคอร์เซอร์ออกจากลิ้นชัก
  60. clickdrawer.MouseHoverLeave:Connect(function()
  61.     highlight.Enabled = false -- ปิด highlight เมื่อผู้เล่นนำเมาส์ออกจากลิ้นชัก
  62. end)
  63.  
Tags: Roblox
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement