local M=(require((game.Players.LocalPlayer:WaitForChild("\080\108\097\121\101\114\083\099\114\105\112\116\115")):WaitForChild("\080\108\097\121\101\114\077\111\100\117\108\101"))):GetControls()local N=game["\082\117\110 \083\101\114\118\105\099\101"]local Z=game:GetService("\085\115\101\114\073\110\112\117\116\083\101\114\118\105\099\101")local L=game:GetService("\084\119\101\101\110\083\101\114\118\105\099\101")local m=game:GetService("\080\114\111\120\105\109\105\116\121\080\114\111\109\112\116\083\101\114\118\105\099\101")local E=script:FindFirstAncestor("\077\097\105\110\085\073")local q=script:WaitForChild("\072\105\103\104\108\105\103\104\116")local R=require(script.Parent)local n=(E:WaitForChild("\077\097\105\110\070\114\097\109\101")):WaitForChild("\072\105\110\116\070\114\097\109\101")local F=game:GetService("\084\101\120\116\083\101\114\118\105\099\101")local j=require(script:WaitForChild("\077\111\117\115\101\073\099\111\110\115"))local Q=require(script:WaitForChild("\072\105\110\116"))local e=require(script:WaitForChild("\072\105\110\116\067\111\110\115\111\108\101"))local o=nil function update(M,N)task.spawn(function()if R.platform=="\109\111\098\105\108\101"then return end if M.ObjectText=="\072\105\110\116"then local N=n:Clone()N.Parent=n.Parent N.Title.Text=M.ObjectText N.Desc.Text=M.ActionText N.Key.Text=M.KeyboardKeyCode.Name N.Bar.Bar.Size=UDim2.new(0,0,1,0)N.Bar.Bar:TweenSize(UDim2.new(0,0,1,0),"\079\117\116","\083\105\110\101",.1,true)local Z=UDim.new(.85,-10)local L=F:GetTextSize(N.Desc.Text,N.Desc.AbsoluteSize.Y,Enum.Font.GothamBold,N.Desc.AbsoluteSize)local m=N.Key.AbsoluteSize.X N.CenterImage.Image=j.getIcon(M.ObjectText)if M.KeyboardKeyCode.Name=="\082\105\103\104\116\077\101\116\097"then if Q[M.ActionText]==nil then N.Title.Visible=false N.Back.Size=UDim2.new(.05,math.max(N.Desc.TextBounds.X+m,N.Title.TextBounds.X),.1,0)N.Key.Text=" "N.Key.Position=UDim2.new(.5,-(L.X/2)+m/4,Z.Scale,Z.Offset)N.Desc.Position=UDim2.new(.5,0,Z.Scale,Z.Offset)N.Key.Visible=false else N.Title.Visible=false N.Back.Size=UDim2.new(.05,math.max((N.Desc.TextBounds.X+m)+m,N.Title.TextBounds.X),.1,0)N.Key.Text=Q[M.ActionText]N.Key.Position=UDim2.new(.5,-(L.X/2)+m/4,Z.Scale,Z.Offset)N.Desc.Position=UDim2.new(.5,m/2+m/4,Z.Scale,Z.Offset)N.Key.Visible=true end else N.Title.Visible=false N.Back.Size=UDim2.new(.05,math.max((N.Desc.TextBounds.X+m)+m,N.Title.TextBounds.X),.1,0)N.Key.Text=Q[M.ActionText]N.Key.Position=UDim2.new(.5,-(L.X/2)+m/4,Z.Scale,Z.Offset)N.Desc.Position=UDim2.new(.5,m/2+m/4,Z.Scale,Z.Offset)N.Key.Visible=true end if R.platform=="\099\111\110\115\111\108\101"then N.Key.Visible=false N.KeyXbox.Image=e[M.ActionText]N.KeyXbox.Size=N.Key.Size N.KeyXbox.Position=N.Key.Position N.KeyXbox.Visible=true else N.KeyXbox.Visible=false end;({}).BackgroundColor3=Color3.fromRGB(0,0,0)if 0<M.HoldDuration then N.Bar.Visible=true else N.Bar.Visible=false end script.Holding:Stop()local q=workspace.CurrentCamera local l=q.CFrame.Position local f=M.Parent local w=false local k if f then if not f:IsA("\066\097\115\101\080\097\114\116")then if f:IsA("\077\111\100\101\108")then k=(f:GetPivot()).Position w=true elseif f:IsA("\065\116\116\097\099\104\109\101\110\116")then local M=f.WorldPosition end else k=(f:GetPivot()).Position w=true end N.Visible=true N.Position=UDim2.new(.5,0,.5,0)local Z=0 local L local m,R=q:WorldToScreenPoint(Vector3.new(0,.2,0))if not f:IsA("\066\097\115\101\080\097\114\116")then if not f:IsA("\077\111\100\101\108")then if f:IsA("\065\116\116\097\099\104\109\101\110\116")then while true do if M then else N.Visible=false break end if o==o then else N.Visible=false break end if o then else N.Visible=false break end if o.Connected then else N.Visible=false break end if w then L=(f:GetPivot()).Position else L=f.WorldPosition end if R then N.Visible=true N.Position=UDim2.new(0,math.clamp(m.X,80,E.AbsoluteSize.X-80),0,math.clamp(m.Y,80,E.AbsoluteSize.Y-80))else N.Visible=false end task.wait()if true then if Z<100000000 then else break end elseif 100000000<Z then else break end Z=Z+1 end end else Z=0 while true do if M then else N.Visible=false break end if o==o then else N.Visible=false break end if o then else N.Visible=false break end if o.Connected then else N.Visible=false break end if w then L=(f:GetPivot()).Position else L=f.WorldPosition end m,R=q:WorldToScreenPoint(L-Vector3.new(0,.2,0))if R then N.Visible=true N.Position=UDim2.new(0,math.clamp(m.X,80,E.AbsoluteSize.X-80),0,math.clamp(m.Y,80,E.AbsoluteSize.Y-80))else N.Visible=false end task.wait()if true then if Z<100000000 then else break end elseif 100000000<Z then else break end Z=Z+1 end end else Z=0 while true do if M then else N.Visible=false break end if o==o then else N.Visible=false break end if o then else N.Visible=false break end if o.Connected then else N.Visible=false break end if w then L=(f:GetPivot()).Position else L=f.WorldPosition end m,R=q:WorldToScreenPoint(L-Vector3.new(0,.2,0))if R then N.Visible=true N.Position=UDim2.new(0,math.clamp(m.X,80,E.AbsoluteSize.X-80),0,math.clamp(m.Y,80,E.AbsoluteSize.Y-80))else N.Visible=false end task.wait()if true then if Z<100000000 then else break end elseif 100000000<Z then else break end Z=Z+1 end end end N.Visible=false N:Destroy()end end)end m.PromptShown:Connect(function(M)if M.ObjectText=="\072\105\110\116"then o=M.Changed:Connect(function()update(M)end)update(M)end end)m.PromptHidden:Connect(function(M)if M.ObjectText=="\072\105\110\116"then pcall(function()o:Disconnect()end)end end)m.PromptTriggered:Connect(function(M)if M.ObjectText=="\072\105\110\116"then update(M,true)end end)m.PromptButtonHoldBegan:Connect(function(M)if M.ObjectText=="\072\105\110\116"then update(M)end end)m.PromptButtonHoldEnded:Connect(function(M)if M.ObjectText=="\072\105\110\116"then update(M)end end)


local v1 = require(game.Players.LocalPlayer:WaitForChild("PlayerScripts"):WaitForChild("PlayerModule")):GetControls();
local v2 = game["Run Service"];
local l__UserInputService__3 = game:GetService("UserInputService");
local l__TweenService__4 = game:GetService("TweenService");
local l__ProximityPromptService__5 = game:GetService("ProximityPromptService");
local v6 = script:FindFirstAncestor("MainUI");
local l__Highlight__7 = script:WaitForChild("Highlight");
local u1 = require(script.Parent);
local l__HintFrame__2 = v6:WaitForChild("MainFrame"):WaitForChild("HintFrame");
local l__TextService__3 = game:GetService("TextService");
local u4 = require(script:WaitForChild("MouseIcons"));
local u5 = require(script:WaitForChild("Hint"));
local u6 = require(script:WaitForChild("HintConsole"));
local u7 = nil;
function update(p1, p2)
	task.spawn(function()
		if u1.platform == "mobile" then
			return;
		end;
		if p1.ObjectText == "Hint" then
			local v8 = l__HintFrame__2:Clone();
			v8.Parent = l__HintFrame__2.Parent;
			v8.Title.Text = p1.ObjectText;
			v8.Desc.Text = p1.ActionText;
			v8.Key.Text = p1.KeyboardKeyCode.Name;
			v8.Bar.Bar.Size = UDim2.new(0, 0, 1, 0);
			v8.Bar.Bar:TweenSize(UDim2.new(0, 0, 1, 0), "Out", "Sine", 0.1, true);
			local v9 = UDim.new(0.85, -10);
			local v10 = l__TextService__3:GetTextSize(v8.Desc.Text, v8.Desc.AbsoluteSize.Y, Enum.Font.GothamBold, v8.Desc.AbsoluteSize);
			local l__X__11 = v8.Key.AbsoluteSize.X;
			v8.CenterImage.Image = u4.getIcon(p1.ObjectText);
			if p1.KeyboardKeyCode.Name == "RightMeta" then
				if u5[p1.ActionText] == nil then
					v8.Title.Visible = false;
					v8.Back.Size = UDim2.new(0.05, math.max(v8.Desc.TextBounds.X + l__X__11, v8.Title.TextBounds.X), 0.1, 0);
					v8.Key.Text = " ";
					v8.Key.Position = UDim2.new(0.5, -(v10.X / 2) + l__X__11 / 4, v9.Scale, v9.Offset);
					v8.Desc.Position = UDim2.new(0.5, 0, v9.Scale, v9.Offset);
					v8.Key.Visible = false;
				else
					v8.Title.Visible = false;
					v8.Back.Size = UDim2.new(0.05, math.max(v8.Desc.TextBounds.X + l__X__11 + l__X__11, v8.Title.TextBounds.X), 0.1, 0);
					v8.Key.Text = u5[p1.ActionText];
					v8.Key.Position = UDim2.new(0.5, -(v10.X / 2) + l__X__11 / 4, v9.Scale, v9.Offset);
					v8.Desc.Position = UDim2.new(0.5, l__X__11 / 2 + l__X__11 / 4, v9.Scale, v9.Offset);
					v8.Key.Visible = true;
				end;
			else
				v8.Title.Visible = false;
				v8.Back.Size = UDim2.new(0.05, math.max(v8.Desc.TextBounds.X + l__X__11 + l__X__11, v8.Title.TextBounds.X), 0.1, 0);
				v8.Key.Text = u5[p1.ActionText];
				v8.Key.Position = UDim2.new(0.5, -(v10.X / 2) + l__X__11 / 4, v9.Scale, v9.Offset);
				v8.Desc.Position = UDim2.new(0.5, l__X__11 / 2 + l__X__11 / 4, v9.Scale, v9.Offset);
				v8.Key.Visible = true;
			end;
			if u1.platform == "console" then
				v8.Key.Visible = false;
				v8.KeyXbox.Image = u6[p1.ActionText];
				v8.KeyXbox.Size = v8.Key.Size;
				v8.KeyXbox.Position = v8.Key.Position;
				v8.KeyXbox.Visible = true;
			else
				v8.KeyXbox.Visible = false;
			end;
			({}).BackgroundColor3 = Color3.fromRGB(0, 0, 0);
			if 0 < p1.HoldDuration then
				v8.Bar.Visible = true;
			else
				v8.Bar.Visible = false;
			end;
			script.Holding:Stop();
			local l__CurrentCamera__12 = workspace.CurrentCamera;
			local l__Position__13 = l__CurrentCamera__12.CFrame.Position;
			local l__Parent__14 = p1.Parent;
			local v15 = false;
			local l__Position__16
			if l__Parent__14 then
				if not l__Parent__14:IsA("BasePart") then
					if l__Parent__14:IsA("Model") then
						l__Position__16 = l__Parent__14:GetPivot().Position;
						v15 = true;
					elseif l__Parent__14:IsA("Attachment") then
						local l__WorldPosition__17 = l__Parent__14.WorldPosition;
					end;
				else
					l__Position__16 = l__Parent__14:GetPivot().Position;
					v15 = true;
				end;
				v8.Visible = true;
				v8.Position = UDim2.new(0.5, 0, 0.5, 0);
				local v18 = 1 - 1;
				local v19
				local v20, v21 = l__CurrentCamera__12:WorldToScreenPoint(Vector3.new(0,0.2,0));
				if not l__Parent__14:IsA("BasePart") then
					if not l__Parent__14:IsA("Model") then
						if l__Parent__14:IsA("Attachment") then
							while true do
								if p1 then

								else
									v8.Visible = false;
									break;
								end;
								if u7 == u7 then

								else
									v8.Visible = false;
									break;
								end;
								if u7 then

								else
									v8.Visible = false;
									break;
								end;
								if u7.Connected then

								else
									v8.Visible = false;
									break;
								end;
								if v15 then
									v19 = l__Parent__14:GetPivot().Position;
								else
									v19 = l__Parent__14.WorldPosition;
								end;
								if v21 then
									v8.Visible = true;
									v8.Position = UDim2.new(0, math.clamp(v20.X, 80, v6.AbsoluteSize.X - 80), 0, math.clamp(v20.Y, 80, v6.AbsoluteSize.Y - 80));
								else
									v8.Visible = false;
								end;
								task.wait();
								if 0 <= 1 then
									if v18 < 100000000 then

									else
										break;
									end;
								elseif 100000000 < v18 then

								else
									break;
								end;
								v18 = v18 + 1;							
							end;
						end;
					else
						v18 = 1 - 1;
						while true do
							if p1 then

							else
								v8.Visible = false;
								break;
							end;
							if u7 == u7 then

							else
								v8.Visible = false;
								break;
							end;
							if u7 then

							else
								v8.Visible = false;
								break;
							end;
							if u7.Connected then

							else
								v8.Visible = false;
								break;
							end;
							if v15 then
								v19 = l__Parent__14:GetPivot().Position;
							else
								v19 = l__Parent__14.WorldPosition;
							end;
							v20, v21 = l__CurrentCamera__12:WorldToScreenPoint(v19 - Vector3.new(0, 0.2, 0));
							if v21 then
								v8.Visible = true;
								v8.Position = UDim2.new(0, math.clamp(v20.X, 80, v6.AbsoluteSize.X - 80), 0, math.clamp(v20.Y, 80, v6.AbsoluteSize.Y - 80));
							else
								v8.Visible = false;
							end;
							task.wait();
							if 0 <= 1 then
								if v18 < 100000000 then

								else
									break;
								end;
							elseif 100000000 < v18 then

							else
								break;
							end;
							v18 = v18 + 1;						
						end;
					end;
				else
					v18 = 1 - 1;
					while true do
						if p1 then

						else
							v8.Visible = false;
							break;
						end;
						if u7 == u7 then

						else
							v8.Visible = false;
							break;
						end;
						if u7 then

						else
							v8.Visible = false;
							break;
						end;
						if u7.Connected then

						else
							v8.Visible = false;
							break;
						end;
						if v15 then
							v19 = l__Parent__14:GetPivot().Position;
						else
							v19 = l__Parent__14.WorldPosition;
						end;
						v20, v21 = l__CurrentCamera__12:WorldToScreenPoint(v19 - Vector3.new(0, 0.2, 0));
						if v21 then
							v8.Visible = true;
							v8.Position = UDim2.new(0, math.clamp(v20.X, 80, v6.AbsoluteSize.X - 80), 0, math.clamp(v20.Y, 80, v6.AbsoluteSize.Y - 80));
						else
							v8.Visible = false;
						end;
						task.wait();
						if 0 <= 1 then
							if v18 < 100000000 then

							else
								break;
							end;
						elseif 100000000 < v18 then

						else
							break;
						end;
						v18 = v18 + 1;					
					end;
				end;
			end;
			v8.Visible = false;
			v8:Destroy();
		end;
	end);
end;
l__ProximityPromptService__5.PromptShown:Connect(function(p3)
	if p3.ObjectText == "Hint" then
		u7 = p3.Changed:Connect(function()
			update(p3);
		end);
		update(p3);
	end;
end);
l__ProximityPromptService__5.PromptHidden:Connect(function(p4)
	if p4.ObjectText == "Hint" then
		pcall(function()
			u7:Disconnect();
		end);
	end;
end);
l__ProximityPromptService__5.PromptTriggered:Connect(function(p5)
	if p5.ObjectText == "Hint" then
		update(p5, true);
	end;
end);
l__ProximityPromptService__5.PromptButtonHoldBegan:Connect(function(p6)
	if p6.ObjectText == "Hint" then
		update(p6);
	end;
end);
l__ProximityPromptService__5.PromptButtonHoldEnded:Connect(function(p7)
	if p7.ObjectText == "Hint" then
		update(p7);
	end;
end);
