So, I have this script to make the door open dependent on group rank. The door opens if you touch the part, I would like to know how to add Roblox’s interact system so that when you get close enough to the door, it brings up the hold e or tap screen to open the door. But only if you have the required rank. Is there a way to do this? If so, can you please edit my script and reply below?
local OpenDoor = TweenService:Create(DoorPart, TweenInfo.new(2), {Position = Vector3.new(-112.474, 4.032, -172.335)})
local CloseDoor = TweenService:Create(DoorPart, TweenInfo.new(2), {Position = Vector3.new(-112.474, 4.032, -164.845)})
local CD = false
DoorPart.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
if hit.Parent:FindFirstChild(“Humanoid”) and CD == false then
local rank = player:GetRankInGroup(9719071)
if table.find(allowedRanks, rank) then
CD = true
OpenNoise:Play()
OpenDoor:Play()
wait(3)
OpenNoise:Stop()
OpenNoise:Play()
CloseDoor:Play()
wait(3)
OpenNoise:Stop()
CD = false
end
end
end)
local TweenService = game:GetService("TweenService")
local Players = game:GetService(“Players”)
local DoorPart = script.Parent
local OpenNoise = script.Parent.OpenNoise
local allowedRanks = {255, 254, 200, 199, 198, 197, 15, 14, 13, 5, 4, 3}
local OpenDoor = TweenService:Create(DoorPart, TweenInfo.new(2), {Position =
Vector3.new(-112.474, 4.032, -172.335)})
local CloseDoor = TweenService:Create(DoorPart, TweenInfo.new(2), {Position =
Vector3.new(-112.474, 4.032, -164.845)})
local CD = false
DoorPart.ProximityPrompt.Triggered:Connect(function(player)
if CD == false then
local rank = player:GetRankInGroup(9719071)
if table.find(allowedRanks, rank) then
CD = true
OpenNoise:Play()
OpenDoor:Play()
wait(3)
OpenNoise:Stop()
OpenNoise:Play()
CloseDoor:Play()
wait(3)
OpenNoise:Stop()
CD = false
end
end
end)
Yeah, I found it as a disaster before as I tried making it. Soon it didn’t go very well as you might need to make a fix button for the door. (Edit: It’s my retractable door tbh.)