Created
January 1, 2023 06:45
-
-
Save Mintxshi/46c24c954083375d62e5b0ba97b79499 to your computer and use it in GitHub Desktop.
dont modify any of this it works already, for pikaville but twitter has been good so.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- !! OBJECT TEXT DOES NOT WORK. | |
--[[ | |
Pika's proximity prompts! | |
Change variables below to change proximityprompt's colors and fonts! | |
]] | |
local ActionFont = Enum.Font.SourceSansBold | |
local KeyCodeFont = Enum.Font.SourceSansBold | |
local MainColor = Color3.fromHex('e28a38') | |
local TextColor = Color3.fromRGB(255,255,255) | |
--[[ | |
How to set it up in your proximityprompts | |
1. Go to ProxPrompt's Data section. | |
2. Go to Style. | |
3. Change Style from `Default` to `Custom` | |
]] | |
-- ⇩ WONKY CODE BELOW ⇩ | |
local UserInputService = game:GetService("UserInputService") | |
local ProximityPromptService = game:GetService("ProximityPromptService") | |
local TweenService = game:GetService("TweenService") | |
local TextService = game:GetService("TextService") | |
local Players = game:GetService("Players") | |
local LocalPlayer = Players.LocalPlayer | |
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") | |
local GamepadButtonImage = { | |
[Enum.KeyCode.ButtonX] = "rbxasset://textures/ui/Controls/xboxX.png", | |
[Enum.KeyCode.ButtonY] = "rbxasset://textures/ui/Controls/xboxY.png", | |
[Enum.KeyCode.ButtonA] = "rbxasset://textures/ui/Controls/xboxA.png", | |
[Enum.KeyCode.ButtonB] = "rbxasset://textures/ui/Controls/xboxB.png", | |
[Enum.KeyCode.DPadLeft] = "rbxasset://textures/ui/Controls/dpadLeft.png", | |
[Enum.KeyCode.DPadRight] = "rbxasset://textures/ui/Controls/dpadRight.png", | |
[Enum.KeyCode.DPadUp] = "rbxasset://textures/ui/Controls/dpadUp.png", | |
[Enum.KeyCode.DPadDown] = "rbxasset://textures/ui/Controls/dpadDown.png", | |
[Enum.KeyCode.ButtonSelect] = "rbxasset://textures/ui/Controls/xboxmenu.png", | |
[Enum.KeyCode.ButtonL1] = "rbxasset://textures/ui/Controls/xboxLS.png", | |
[Enum.KeyCode.ButtonR1] = "rbxasset://textures/ui/Controls/xboxRS.png", | |
} | |
local KeyboardButtonImage = { | |
[Enum.KeyCode.Backspace] = "rbxasset://textures/ui/Controls/backspace.png", | |
[Enum.KeyCode.Return] = "rbxasset://textures/ui/Controls/return.png", | |
[Enum.KeyCode.LeftShift] = "rbxasset://textures/ui/Controls/shift.png", | |
[Enum.KeyCode.RightShift] = "rbxasset://textures/ui/Controls/shift.png", | |
[Enum.KeyCode.Tab] = "rbxasset://textures/ui/Controls/tab.png", | |
} | |
local KeyboardButtonIconMapping = { | |
["'"] = "rbxasset://textures/ui/Controls/apostrophe.png", | |
[","] = "rbxasset://textures/ui/Controls/comma.png", | |
["`"] = "rbxasset://textures/ui/Controls/graveaccent.png", | |
["."] = "rbxasset://textures/ui/Controls/period.png", | |
[" "] = "rbxasset://textures/ui/Controls/spacebar.png", | |
} | |
local KeyCodeToTextMapping = { | |
[Enum.KeyCode.LeftControl] = "Ctrl", | |
[Enum.KeyCode.RightControl] = "Ctrl", | |
[Enum.KeyCode.LeftAlt] = "Alt", | |
[Enum.KeyCode.RightAlt] = "Alt", | |
[Enum.KeyCode.F1] = "F1", | |
[Enum.KeyCode.F2] = "F2", | |
[Enum.KeyCode.F3] = "F3", | |
[Enum.KeyCode.F4] = "F4", | |
[Enum.KeyCode.F5] = "F5", | |
[Enum.KeyCode.F6] = "F6", | |
[Enum.KeyCode.F7] = "F7", | |
[Enum.KeyCode.F8] = "F8", | |
[Enum.KeyCode.F9] = "F9", | |
[Enum.KeyCode.F10] = "F10", | |
[Enum.KeyCode.F11] = "F11", | |
[Enum.KeyCode.F12] = "F12", | |
} | |
local function getScreenGui() | |
local screenGui = PlayerGui:FindFirstChild("ProximityPrompts") | |
if screenGui == nil then | |
screenGui = Instance.new("ScreenGui") | |
screenGui.Name = "ProximityPrompts" | |
screenGui.ResetOnSpawn = false | |
screenGui.Parent = PlayerGui | |
end | |
return screenGui | |
end | |
local function createProgressBarGradient(parent, leftSide) | |
local frame = Instance.new("Frame") | |
frame.Size = UDim2.fromScale(0.5, 1) | |
frame.Position = UDim2.fromScale(leftSide and 0 or 0.5, 0) | |
frame.BackgroundTransparency = 1 | |
frame.ClipsDescendants = true | |
frame.Parent = parent | |
local image = Instance.new("ImageLabel") | |
image.BackgroundTransparency = 1 | |
image.Size = UDim2.fromScale(2, 1) | |
image.Position = UDim2.fromScale(leftSide and 0 or -1, 0) | |
image.Image = "rbxasset://textures/ui/Controls/RadialFill.png" | |
image.Parent = frame | |
local gradient = Instance.new("UIGradient") | |
gradient.Transparency = NumberSequence.new({ | |
NumberSequenceKeypoint.new(0, 0), | |
NumberSequenceKeypoint.new(0.4999, 0), | |
NumberSequenceKeypoint.new(0.5, 1), | |
NumberSequenceKeypoint.new(1, 1), | |
}) | |
gradient.Rotation = leftSide and 180 or 0 | |
gradient.Parent = image | |
return gradient | |
end | |
local function createCircularProgressBar() | |
local bar = Instance.new("Frame") | |
bar.Name = "CircularProgressBar" | |
bar.Size = UDim2.fromOffset(58, 58) | |
bar.AnchorPoint = Vector2.new(0.5, 0.5) | |
bar.Position = UDim2.fromScale(0.5, 0.5) | |
bar.BackgroundTransparency = 1 | |
local gradient1 = createProgressBarGradient(bar, true) | |
local gradient2 = createProgressBarGradient(bar, false) | |
local progress = Instance.new("NumberValue") | |
progress.Name = "Progress" | |
progress.Parent = bar | |
progress.Changed:Connect(function(value) | |
local angle = math.clamp(value * 360, 0, 360) | |
gradient1.Rotation = math.clamp(angle, 180, 360) | |
gradient2.Rotation = math.clamp(angle, 0, 180) | |
end) | |
return bar | |
end | |
local function createPrompt(prompt, inputType, gui) | |
local tweensForButtonHoldBegin = {} | |
local tweensForButtonHoldEnd = {} | |
local tweensForFadeOut = {} | |
local tweensForFadeIn = {} | |
local tweenInfoInFullDuration = TweenInfo.new( | |
prompt.HoldDuration, | |
Enum.EasingStyle.Linear, | |
Enum.EasingDirection.Out | |
) | |
local tweenInfoOutHalfSecond = TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) | |
local tweenInfoFast = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) | |
local tweenInfoQuick = TweenInfo.new(0.06, Enum.EasingStyle.Linear, Enum.EasingDirection.Out) | |
local promptUI = Instance.new("BillboardGui") | |
promptUI.Name = "Prompt" | |
promptUI.AlwaysOnTop = true | |
local frame = Instance.new("Frame") | |
frame.Size = UDim2.fromScale(0.5, 1) | |
frame.BackgroundTransparency = 1 | |
frame.BackgroundColor3 = Color3.new(0.07, 0.07, 0.07) | |
frame.Parent = promptUI | |
local inputFrame = Instance.new("Frame") | |
inputFrame.Name = "InputFrame" | |
inputFrame.Size = UDim2.fromScale(1, 1) | |
inputFrame.BackgroundTransparency = 1 | |
inputFrame.SizeConstraint = Enum.SizeConstraint.RelativeYY | |
inputFrame.Parent = frame | |
local resizeableInputFrame = Instance.new("Frame") | |
resizeableInputFrame.Size = UDim2.fromScale(1, 3) | |
resizeableInputFrame.Position = UDim2.fromScale(0.5, 0.5) | |
resizeableInputFrame.AnchorPoint = Vector2.new(0.5, 0.5) | |
resizeableInputFrame.BackgroundTransparency = 1 | |
resizeableInputFrame.Parent = inputFrame | |
local inputFrameScaler = Instance.new("UIScale") | |
inputFrameScaler.Parent = resizeableInputFrame | |
local inputFrameScaleFactor = inputType == Enum.ProximityPromptInputType.Touch and 1.6 or 1.33 | |
table.insert( | |
tweensForButtonHoldBegin, | |
TweenService:Create(inputFrameScaler, tweenInfoFast, { Scale = inputFrameScaleFactor }) | |
) | |
table.insert(tweensForButtonHoldEnd, TweenService:Create(inputFrameScaler, tweenInfoFast, { Scale = 1 })) | |
local actionText = Instance.new("TextLabel") | |
actionText.Parent = resizeableInputFrame | |
actionText.Name = "ActionText" | |
--actionText.Size = UDim2.new(3,0,.4,0) | |
actionText.Font = ActionFont | |
actionText.TextSize = 22 | |
actionText.BackgroundTransparency = 0.2 | |
actionText.Position=UDim2.new(0.5,40,0.5,0) | |
actionText.AnchorPoint=Vector2.new(0.5,0.5) | |
actionText.Size = UDim2.new(0,75,0,25) | |
actionText.BackgroundColor3 = MainColor | |
actionText.TextColor3 = TextColor | |
actionText.TextTransparency = 1 | |
actionText.TextXAlignment = Enum.TextXAlignment.Center | |
actionText.BorderSizePixel = 0 | |
table.insert(tweensForButtonHoldBegin, TweenService:Create(actionText, tweenInfoFast, { TextTransparency = 1 })) | |
table.insert(tweensForButtonHoldEnd, TweenService:Create(actionText, tweenInfoFast, { TextTransparency = 0.2 })) | |
table.insert(tweensForFadeOut, TweenService:Create(actionText, tweenInfoFast, { TextTransparency = 1 })) | |
table.insert(tweensForFadeIn, TweenService:Create(actionText, tweenInfoFast, { TextTransparency = 0.2 })) | |
table.insert(tweensForButtonHoldBegin, TweenService:Create(actionText, tweenInfoFast, { BackgroundTransparency = 1 })) | |
table.insert(tweensForButtonHoldEnd, TweenService:Create(actionText, tweenInfoFast, { BackgroundTransparency = 0.2 })) | |
table.insert(tweensForFadeOut, TweenService:Create(actionText, tweenInfoFast, { BackgroundTransparency = 1 })) | |
table.insert(tweensForFadeIn, TweenService:Create(actionText, tweenInfoFast, { BackgroundTransparency = 0.2 })) | |
local objectText = Instance.new("TextLabel") | |
objectText.Name = "ObjectText" | |
objectText.Size = UDim2.fromScale(1, 1) | |
objectText.Font = Enum.Font.GothamSemibold | |
objectText.TextSize = 14 | |
objectText.BackgroundTransparency = 1 | |
objectText.TextTransparency = 1 | |
objectText.TextColor3 = Color3.new(0.7, 0.7, 0.7) | |
objectText.TextXAlignment = Enum.TextXAlignment.Left | |
objectText.Parent = frame | |
table.insert(tweensForButtonHoldBegin, TweenService:Create(objectText, tweenInfoFast, { TextTransparency = 1 })) | |
table.insert(tweensForButtonHoldEnd, TweenService:Create(objectText, tweenInfoFast, { TextTransparency = 0 })) | |
table.insert(tweensForFadeOut, TweenService:Create(objectText, tweenInfoFast, { TextTransparency = 1 })) | |
table.insert(tweensForFadeIn, TweenService:Create(objectText, tweenInfoFast, { TextTransparency = 0 })) | |
table.insert( | |
tweensForButtonHoldBegin, | |
TweenService:Create(frame, tweenInfoFast, { Size = UDim2.fromScale(0.5, 1), BackgroundTransparency = 1 }) | |
) | |
table.insert( | |
tweensForButtonHoldEnd, | |
TweenService:Create(frame, tweenInfoFast, { Size = UDim2.fromScale(1, 1), BackgroundTransparency = 1 }) | |
) | |
table.insert( | |
tweensForFadeOut, | |
TweenService:Create(frame, tweenInfoFast, { Size = UDim2.fromScale(0.5, 1), BackgroundTransparency = 1 }) | |
) | |
table.insert( | |
tweensForFadeIn, | |
TweenService:Create(frame, tweenInfoFast, { Size = UDim2.fromScale(1, 1), BackgroundTransparency = 1 }) | |
) | |
local roundFrame = Instance.new("Frame") | |
roundFrame.Name = "RoundFrame" | |
roundFrame.Size = UDim2.fromOffset(28, 28) | |
roundFrame.Rotation = 45 | |
roundFrame.BorderSizePixel = 0 | |
roundFrame.AnchorPoint = Vector2.new(0, 0.5) | |
roundFrame.Position = UDim2.new(0,0,0.5,0) | |
roundFrame.BackgroundTransparency = 0 | |
roundFrame.Parent = resizeableInputFrame | |
roundFrame.BackgroundColor3 = MainColor | |
local roundedFrameCorner = Instance.new("UICorner") | |
roundedFrameCorner.CornerRadius = UDim.new(0, 0) | |
roundedFrameCorner.Parent = roundFrame | |
table.insert(tweensForFadeOut, TweenService:Create(roundFrame, tweenInfoFast, { BackgroundTransparency = 1 })) | |
table.insert(tweensForFadeIn, TweenService:Create(roundFrame, tweenInfoFast, { BackgroundTransparency = 0.2 })) | |
if inputType == Enum.ProximityPromptInputType.Gamepad then | |
if GamepadButtonImage[prompt.GamepadKeyCode] then | |
local icon = Instance.new("ImageLabel") | |
icon.Parent = roundFrame | |
icon.Name = "ButtonImage" | |
icon.AnchorPoint = Vector2.new(0.5, 0.5) | |
icon.Size = UDim2.fromOffset(24, 24) | |
icon.Position = UDim2.fromScale(0.5, 0.5) | |
icon.BackgroundTransparency = 1 | |
icon.ImageTransparency = 1 | |
icon.Image = GamepadButtonImage[prompt.GamepadKeyCode] | |
icon.Parent = resizeableInputFrame | |
table.insert(tweensForFadeOut, TweenService:Create(icon, tweenInfoQuick, { ImageTransparency = 1 })) | |
table.insert(tweensForFadeIn, TweenService:Create(icon, tweenInfoQuick, { ImageTransparency = 0 })) | |
end | |
elseif inputType == Enum.ProximityPromptInputType.Touch then | |
local buttonImage = Instance.new("ImageLabel") | |
buttonImage.Parent = roundFrame | |
buttonImage.Name = "ButtonImage" | |
buttonImage.BackgroundTransparency = 1 | |
buttonImage.ImageTransparency = 1 | |
buttonImage.Size = UDim2.fromOffset(24, 24) | |
buttonImage.AnchorPoint = Vector2.new(0.5, 0.5) | |
buttonImage.Position = UDim2.fromScale(0.5, 0.5) | |
buttonImage.Image = "rbxasset://textures/ui/Controls/TouchTapIcon.png" | |
buttonImage.Parent = resizeableInputFrame | |
table.insert(tweensForFadeOut, TweenService:Create(buttonImage, tweenInfoQuick, { ImageTransparency = 1 })) | |
table.insert(tweensForFadeIn, TweenService:Create(buttonImage, tweenInfoQuick, { ImageTransparency = 0 })) | |
else | |
local buttonImage = Instance.new("ImageLabel") | |
buttonImage.Position = UDim2.fromScale(-1, -1) | |
buttonImage.Parent = roundFrame | |
buttonImage.Name = "ButtonImage" | |
buttonImage.BackgroundTransparency = 1 | |
buttonImage.ImageTransparency = 1 | |
buttonImage.Size = UDim2.fromOffset(24, 24) | |
buttonImage.Image = "" | |
buttonImage.Parent = resizeableInputFrame | |
table.insert(tweensForFadeOut, TweenService:Create(buttonImage, tweenInfoQuick, { ImageTransparency = 1 })) | |
table.insert(tweensForFadeIn, TweenService:Create(buttonImage, tweenInfoQuick, { ImageTransparency = 0 })) | |
local buttonTextString = UserInputService:GetStringForKeyCode(prompt.KeyboardKeyCode) | |
local buttonTextImage = KeyboardButtonImage[prompt.KeyboardKeyCode] | |
if buttonTextImage == nil then | |
buttonTextImage = KeyboardButtonIconMapping[buttonTextString] | |
end | |
if buttonTextImage == nil then | |
local keyCodeMappedText = KeyCodeToTextMapping[prompt.KeyboardKeyCode] | |
if keyCodeMappedText then | |
buttonTextString = keyCodeMappedText | |
end | |
end | |
if buttonTextImage then | |
local icon = Instance.new("ImageLabel") | |
icon.Parent=roundFrame | |
icon.Name = "ButtonImage" | |
icon.AnchorPoint = Vector2.new(0.5, 0.5) | |
icon.Size = UDim2.fromOffset(36, 36) | |
icon.BackgroundTransparency = 1 | |
icon.ImageTransparency = 1 | |
icon.Image = buttonTextImage | |
icon.Parent = resizeableInputFrame | |
table.insert(tweensForFadeOut, TweenService:Create(icon, tweenInfoFast, { ImageTransparency = 1 })) | |
table.insert(tweensForFadeIn, TweenService:Create(icon, tweenInfoFast, { ImageTransparency = 0 })) | |
elseif buttonTextString ~= nil and buttonTextString ~= "" then | |
local buttonText = Instance.new("TextLabel", roundFrame) | |
buttonText.Name = "ButtonText" | |
buttonText.Position = UDim2.new(0.5,0,0.5,0) | |
buttonText.AnchorPoint = Vector2.new(0.5,0.5) | |
buttonText.Parent=roundFrame | |
buttonText.Size = UDim2.fromScale(.5, .5) | |
buttonText.Font = KeyCodeFont | |
buttonText.TextSize = 24 | |
if string.len(buttonTextString) > 2 then | |
buttonText.TextSize = 12 | |
end | |
buttonText.BackgroundTransparency = 1 | |
buttonText.TextTransparency = 1 | |
buttonText.TextColor3 = TextColor | |
buttonText.TextXAlignment = Enum.TextXAlignment.Center | |
buttonText.Text = buttonTextString | |
buttonText.Rotation= "-45" | |
table.insert(tweensForFadeOut, TweenService:Create(buttonText, tweenInfoQuick, { TextTransparency = 1 })) | |
table.insert(tweensForFadeIn, TweenService:Create(buttonText, tweenInfoQuick, { TextTransparency = 0 })) | |
else | |
error( | |
"ProximityPrompt '" | |
.. prompt.Name | |
.. "' has an unsupported keycode for rendering UI: " | |
.. tostring(prompt.KeyboardKeyCode) | |
) | |
end | |
end | |
if inputType == Enum.ProximityPromptInputType.Touch or prompt.ClickablePrompt then | |
local button = Instance.new("TextButton") | |
button.BackgroundTransparency = 1 | |
button.TextTransparency = 1 | |
button.Size = UDim2.fromScale(1, 1) | |
button.Parent = promptUI | |
local buttonDown = false | |
button.InputBegan:Connect(function(input) | |
if | |
( | |
input.UserInputType == Enum.UserInputType.Touch | |
or input.UserInputType == Enum.UserInputType.MouseButton1 | |
) and input.UserInputState ~= Enum.UserInputState.Change | |
then | |
prompt:InputHoldBegin() | |
buttonDown = true | |
end | |
end) | |
button.InputEnded:Connect(function(input) | |
if | |
input.UserInputType == Enum.UserInputType.Touch | |
or input.UserInputType == Enum.UserInputType.MouseButton1 | |
then | |
if buttonDown then | |
buttonDown = false | |
prompt:InputHoldEnd() | |
end | |
end | |
end) | |
promptUI.Active = true | |
end | |
if prompt.HoldDuration > 0 then | |
local circleBar = createCircularProgressBar() | |
circleBar.Parent = resizeableInputFrame | |
table.insert( | |
tweensForButtonHoldBegin, | |
TweenService:Create(circleBar.Progress, tweenInfoInFullDuration, { Value = 1 }) | |
) | |
table.insert( | |
tweensForButtonHoldEnd, | |
TweenService:Create(circleBar.Progress, tweenInfoOutHalfSecond, { Value = 0 }) | |
) | |
end | |
local holdBeganConnection | |
local holdEndedConnection | |
local triggeredConnection | |
local triggerEndedConnection | |
if prompt.HoldDuration > 0 then | |
holdBeganConnection = prompt.PromptButtonHoldBegan:Connect(function() | |
for _, tween in ipairs(tweensForButtonHoldBegin) do | |
tween:Play() | |
end | |
end) | |
holdEndedConnection = prompt.PromptButtonHoldEnded:Connect(function() | |
for _, tween in ipairs(tweensForButtonHoldEnd) do | |
tween:Play() | |
end | |
end) | |
end | |
triggeredConnection = prompt.Triggered:Connect(function() | |
for _, tween in ipairs(tweensForFadeOut) do | |
tween:Play() | |
end | |
end) | |
triggerEndedConnection = prompt.TriggerEnded:Connect(function() | |
for _, tween in ipairs(tweensForFadeIn) do | |
tween:Play() | |
end | |
end) | |
local function updateUIFromPrompt() | |
-- todo: Use AutomaticSize instead of GetTextSize when that feature becomes available | |
local actionTextSize = TextService:GetTextSize( | |
prompt.ActionText, | |
20, | |
Enum.Font.GothamSemibold, | |
Vector2.new(1000, 1000) | |
) | |
local objectTextSize = TextService:GetTextSize( | |
prompt.ObjectText, | |
14, | |
Enum.Font.GothamSemibold, | |
Vector2.new(1000, 1000) | |
) | |
local maxTextWidth = math.max(actionTextSize.X, objectTextSize.X) | |
local promptHeight = 72 | |
local promptWidth = 72 | |
local textPaddingLeft = 72 | |
if | |
(prompt.ActionText ~= nil and prompt.ActionText ~= "") | |
or (prompt.ObjectText ~= nil and prompt.ObjectText ~= "") | |
then | |
promptWidth = maxTextWidth + textPaddingLeft + 24 | |
end | |
local actionTextYOffset = 0 | |
if prompt.ObjectText ~= nil and prompt.ObjectText ~= "" then | |
actionTextYOffset = 9 | |
end | |
--actionText.Position = UDim2.new(0.5, textPaddingLeft - promptWidth / 2, 0, actionTextYOffset) | |
---objectText.Position = UDim2.new(0.5, textPaddingLeft - promptWidth / 2, 0, -10) | |
actionText.Text = prompt.ActionText | |
print('action '..actionText.Text) | |
print('prompt '..prompt.ActionText) | |
local boundsize = actionText.TextBounds.X | |
print(boundsize) | |
local xsize = boundsize+8 | |
actionText.Size = UDim2.new(0,xsize,0,25) | |
objectText.Text = prompt.ObjectText | |
actionText.AutoLocalize = prompt.AutoLocalize | |
actionText.RootLocalizationTable = prompt.RootLocalizationTable | |
objectText.AutoLocalize = prompt.AutoLocalize | |
objectText.RootLocalizationTable = prompt.RootLocalizationTable | |
promptUI.Size = UDim2.fromOffset(promptWidth, promptHeight) | |
promptUI.SizeOffset = Vector2.new( | |
prompt.UIOffset.X / promptUI.Size.Width.Offset, | |
prompt.UIOffset.Y / promptUI.Size.Height.Offset | |
) | |
wait() | |
local xsize = boundsize+8 | |
actionText.Size = UDim2.new(0,75,0,25) | |
local boundsize = actionText.TextBounds.X | |
print('bounds'..boundsize) | |
local text = 'Interact' | |
wait(0.2) | |
local count = 0 | |
local addamt = 0 | |
for character in prompt.ActionText:gmatch(".") do | |
count+=1 | |
if count >= 4 then | |
addamt+=4 | |
end | |
end | |
local thing = count*7 | |
local size = thing+12 | |
local pos = 60+addamt | |
actionText.Size = UDim2.new(0,size,0,25) | |
actionText.Position=UDim2.new(0,pos,0.5,0) | |
end | |
local changedConnection = prompt.Changed:Connect(updateUIFromPrompt) | |
updateUIFromPrompt() | |
promptUI.Adornee = prompt.Parent | |
promptUI.Parent = gui | |
for _, tween in ipairs(tweensForFadeIn) do | |
tween:Play() | |
end | |
local function cleanup() | |
if holdBeganConnection then | |
holdBeganConnection:Disconnect() | |
end | |
if holdEndedConnection then | |
holdEndedConnection:Disconnect() | |
end | |
triggeredConnection:Disconnect() | |
triggerEndedConnection:Disconnect() | |
changedConnection:Disconnect() | |
for _, tween in ipairs(tweensForFadeOut) do | |
tween:Play() | |
end | |
--print('kys '..actionText.TextBounds.X) | |
task.wait(0.2) | |
promptUI.Parent = nil | |
end | |
return cleanup | |
end | |
local function onLoad() | |
ProximityPromptService.PromptShown:Connect(function(prompt, inputType) | |
if prompt.Style == Enum.ProximityPromptStyle.Default then | |
return | |
end | |
local gui = getScreenGui() | |
local cleanupFunction = createPrompt(prompt, inputType, gui) | |
prompt.PromptHidden:Wait() | |
cleanupFunction() | |
end) | |
end | |
onLoad() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment