-- ModuleScript InputController (via decompile) local tbl_1 = {} function tbl_1.init(a1) --[[ name: init line: 4 ]] local Services_upv_1 = a1.Services local Refs_1 = a1.Refs local Modules_upv_1 = a1.Modules local State_upv_1 = a1.State local API_upv_1 = a1.API local Player_upv_1 = Refs_1.Player local PlayerGui_upv_1 = Refs_1.PlayerGui local Character_upv_1 = Refs_1.Character local Humanoid_upv_1 = Refs_1.Humanoid local Camera_upv_1 = Refs_1.Camera local ServerFolder_upv_1 = Refs_1.ServerFolder local GameEvents_upv_1 = Refs_1.GameEvents local ClientData_upv_1 = State_upv_1.ClientData local WeaponDataNew_upv_1 = State_upv_1.WeaponDataNew local Keybinds_upv_1 = State_upv_1.Keybinds local ADSToggle_upv_1 = State_upv_1.ADSToggle local LeanToggle_upv_1 = State_upv_1.LeanToggle local PlayerSettings_upv_1 = State_upv_1.PlayerSettings local function IsDeadOrSpectating() --[[ name: IsDeadOrSpectating line: 26 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) ]] local ServerData_1 = Player_upv_1:FindFirstChild("ServerData") if ServerData_1 and ServerData_1:GetAttribute("Alive") == true then local v1 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true return v1 end return true end local function IsGamepadInputType(a2) --[[ name: IsGamepadInputType line: 34 ]] local v2 = a2.Name:match("^Gamepad") ~= nil return v2 end local function GetTouchMovementControls() --[[ name: GetTouchMovementControls line: 38 upvalues: ClientData_upv_1 (copy, index: 1) Player_upv_1 (copy, index: 2) ]] if ClientData_upv_1.TouchMovementControls ~= nil then return ClientData_upv_1.TouchMovementControls end local PlayerScripts_1 = Player_upv_1:FindFirstChild("PlayerScripts") if not PlayerScripts_1 then return nil end local PlayerModule_1 = PlayerScripts_1:FindFirstChild("PlayerModule") if PlayerModule_1 and PlayerModule_1:IsA("ModuleScript") then local success_1, v3 = pcall(require, PlayerModule_1) if success_1 == true and v3 ~= nil and v3.GetControls ~= nil then ClientData_upv_1.TouchMovementControls = v3:GetControls() return ClientData_upv_1.TouchMovementControls end return nil end return nil end local function SetRobloxTouchMovementEnabled(a3) --[[ name: SetRobloxTouchMovementEnabled line: 58 upvalues: Services_upv_1 (copy, index: 1) GetTouchMovementControls (copy, index: 2) ClientData_upv_1 (copy, index: 3) ]] if Services_upv_1.UserInputService.TouchEnabled ~= true then return end local v4 = GetTouchMovementControls() if not v4 then return end if a3 ~= true then if ClientData_upv_1.TouchMovementControlsDisabled == true then return end v4:Disable() ClientData_upv_1.TouchMovementControlsDisabled = true elseif ClientData_upv_1.TouchMovementControlsDisabled == true then v4:Enable() ClientData_upv_1.TouchMovementControlsDisabled = false end end local function IsPointInsideGuiObject(a4, a5) --[[ name: IsPointInsideGuiObject line: 90 ]] if not a4 then return false end local AbsolutePosition_1 = a4.AbsolutePosition local AbsoluteSize_1 = a4.AbsoluteSize return (AbsolutePosition_1.X <= a5.X) and ((a5.X <= AbsolutePosition_1.X + AbsoluteSize_1.X) and ((AbsolutePosition_1.Y <= a5.Y) and (a5.Y <= AbsolutePosition_1.Y + AbsoluteSize_1.Y))) end local function IsTouchOnMobileControl(a6) --[[ name: IsTouchOnMobileControl line: 123 upvalues: ClientData_upv_1 (copy, index: 1) ]] if not ClientData_upv_1.MobileControlsMenu then return false end local v5 = nil for _, value_1 in ipairs({"Aim", "Jump", "Crouch", "Prone", "LeanLeft", "LeanRight", "Reload", "Ping", "Grenade", "Swap", "Knife", "Shoot", "ShootStatic", "JoystickRectangle"}) do local v6 = ClientData_upv_1.MobileControlsMenu:FindFirstChild(value_1) if not (v6) or not (v6:IsA("GuiObject")) then continue end if v6 then local v7 = v6.AbsolutePosition local v8 = v6.AbsoluteSize v5 = v6.AbsolutePosition.X <= a6.X and a6.X <= v6.AbsolutePosition.X + v6.AbsoluteSize.X and v6.AbsolutePosition.Y <= a6.Y and a6.Y <= v6.AbsolutePosition.Y + v6.AbsoluteSize.Y else v5 = false end if not (v5) then continue end return true end return false end local function GetMobileJoystickObjects() --[[ name: GetMobileJoystickObjects line: 77 upvalues: ClientData_upv_1 (copy, index: 1) ]] local JoystickRectangle_1 = ClientData_upv_1.MobileControlsMenu:FindFirstChild("JoystickRectangle") if JoystickRectangle_1 and JoystickRectangle_1:IsA("ImageButton") then local JoystickBase_1 = JoystickRectangle_1:FindFirstChild("JoystickBase") if JoystickBase_1 and JoystickBase_1:IsA("ImageButton") then local JoystickButton_1 = JoystickBase_1:FindFirstChild("JoystickButton") if JoystickButton_1 and JoystickButton_1:IsA("ImageButton") then return JoystickRectangle_1, JoystickBase_1, JoystickButton_1 end return JoystickRectangle_1, JoystickBase_1, nil end return JoystickRectangle_1, nil, nil end return nil, nil, nil end local function IsTouchInsideJoystickRectangle(a7) --[[ name: IsTouchInsideJoystickRectangle line: 150 upvalues: GetMobileJoystickObjects (copy, index: 1) ]] local v7 = GetMobileJoystickObjects() if not v7 then return false end local AbsolutePosition_2 = v7.AbsolutePosition local AbsoluteSize_2 = v7.AbsoluteSize return (AbsolutePosition_2.X <= a7.X) and ((a7.X <= AbsolutePosition_2.X + AbsoluteSize_2.X) and ((AbsolutePosition_2.Y <= a7.Y) and (a7.Y <= AbsolutePosition_2.Y + AbsoluteSize_2.Y))) end local function ResetMobileJoystick() --[[ name: ResetMobileJoystick line: 170 upvalues: ClientData_upv_1 (copy, index: 1) GetMobileJoystickObjects (copy, index: 2) Humanoid_upv_1 (copy, index: 3) ]] ClientData_upv_1.JoystickTouch = nil ClientData_upv_1.JoystickTouchPosition = nil ClientData_upv_1.MobileMovementVector = Vector2.zero ClientData_upv_1.JoystickBaseCenter = nil ClientData_upv_1.JoystickBaseRadius = nil ClientData_upv_1.JoystickSprint = false ClientData_upv_1.RunningHold = false local _, v8, v9 = GetMobileJoystickObjects() if v8 and v9 then v8.Visible = false v9.Position = UDim2.fromScale(0.5, 0.5) end if not Humanoid_upv_1 then return end Humanoid_upv_1:Move(Vector3.new(0, 0, 0), false) end local function StopMobileFireTouch(a8) --[[ name: StopMobileFireTouch line: 220 upvalues: ClientData_upv_1 (copy, index: 1) PlayerSettings_upv_1 (copy, index: 2) WeaponDataNew_upv_1 (copy, index: 3) API_upv_1 (copy, index: 4) ]] local v10 = ClientData_upv_1.ShootTouch == a8 local v11 = ClientData_upv_1.ShootStaticTouch == a8 if v10 == true or v11 == true then if v10 then ClientData_upv_1.ShootTouch = nil end if v11 then ClientData_upv_1.ShootStaticTouch = nil end if ClientData_upv_1.ShootTouch == nil and ClientData_upv_1.ShootStaticTouch == nil then ClientData_upv_1.MouseHeld = false if PlayerSettings_upv_1:GetAttribute("MobileAutoADS") ~= true or not WeaponDataNew_upv_1.CurrentTool or WeaponDataNew_upv_1.CurrentTool.Aiming ~= true then return end API_upv_1.WeaponAction.AimDownSightRelease() end end end local function UpdateClawMode() --[[ name: UpdateClawMode line: 258 upvalues: ClientData_upv_1 (copy, index: 1) ]] for _, value_2 in pairs(ClientData_upv_1.MobileControlsMenu:GetChildren()) do if value_2:IsA("GuiButton") then value_2.Active = true end end local v12 = ClientData_upv_1.MobileControlsMenu:FindFirstChild("JoystickRectangle") if v12 then local v13 = nil if v12:IsA("ImageButton") then v12.Active = true v13 = v12:FindFirstChild("JoystickBase") if v13 and v13:IsA("ImageButton") then v13.Active = false end end end v12 = ClientData_upv_1.MobileControlsMenu:FindFirstChild("Shoot") if v12 and v12:IsA("ImageButton") then v12.Active = false end v12 = ClientData_upv_1.MobileControlsMenu:FindFirstChild("ShootStatic") if not v12 or not v12:IsA("ImageButton") then return end v12.Active = true end local function CanShowMobileControlsMenu() --[[ name: CanShowMobileControlsMenu line: 100 upvalues: Player_upv_1 (copy, index: 1) ServerFolder_upv_1 (copy, index: 2) ]] local ServerData_2 = Player_upv_1:FindFirstChild("ServerData") local v14 = ServerData_2 and (ServerData_2:GetAttribute("Alive") == true) if Player_upv_1:GetAttribute("OnMobile") == true and v14 == true then local v15 = ServerFolder_upv_1:GetAttribute("Phase") local v16 = ServerFolder_upv_1:GetAttribute("Attacker") local v17 = Player_upv_1.Team and (Player_upv_1.Team.Name == v16) if v15 ~= "Round Started" and v15 ~= "Round Ended" then if v15 == "Preparation" and not (v17) then return true end return false end return true end return false end local function SwitchToControllerMode(a9) --[[ name: SwitchToControllerMode line: 240 upvalues: ClientData_upv_1 (copy, index: 1) Player_upv_1 (copy, index: 2) ResetMobileJoystick (copy, index: 3) Services_upv_1 (copy, index: 4) GetTouchMovementControls (copy, index: 5) GameEvents_upv_1 (copy, index: 6) ]] ClientData_upv_1.LastInputType = a9 or (Enum.UserInputType.Gamepad1) Player_upv_1:SetAttribute("OnMobile", false) Player_upv_1:SetAttribute("OnConsole", true) Player_upv_1:SetAttribute("OnComputer", false) if ClientData_upv_1.MobileControlsMenu then ClientData_upv_1.MobileControlsMenu.Visible = false end ResetMobileJoystick() ClientData_upv_1.ShootTouch = nil ClientData_upv_1.ShootStaticTouch = nil ClientData_upv_1.MouseHeld = false local v18 = nil if Services_upv_1.UserInputService.TouchEnabled == true then v18 = GetTouchMovementControls() if v18 and ClientData_upv_1.TouchMovementControlsDisabled == true then v18:Enable() ClientData_upv_1.TouchMovementControlsDisabled = false end end GameEvents_upv_1.DeviceUpdate:FireServer("Console") end local function SwitchToMobileMode(a10) --[[ name: SwitchToMobileMode line: 294 upvalues: Services_upv_1 (copy, index: 1) ClientData_upv_1 (copy, index: 2) Player_upv_1 (copy, index: 3) PlayerGui_upv_1 (copy, index: 4) CanShowMobileControlsMenu (copy, index: 5) UpdateClawMode (copy, index: 6) Modules_upv_1 (copy, index: 7) GetMobileJoystickObjects (copy, index: 8) ResetMobileJoystick (copy, index: 9) GetTouchMovementControls (copy, index: 10) GameEvents_upv_1 (copy, index: 11) ]] if Services_upv_1.UserInputService.TouchEnabled ~= true then return end ClientData_upv_1.LastInputType = a10 or (Enum.UserInputType.Touch) Player_upv_1:SetAttribute("OnMobile", true) Player_upv_1:SetAttribute("OnConsole", false) Player_upv_1:SetAttribute("OnComputer", false) local MobileControlsMenu_1 = PlayerGui_upv_1.GameHUD:FindFirstChild("MobileControlsMenu") if MobileControlsMenu_1 and MobileControlsMenu_1 ~= ClientData_upv_1.MobileControlsMenu then MobileControlsMenu_1:Destroy() end ClientData_upv_1.MobileControlsMenu.Visible = false ClientData_upv_1.MobileControlsMenu.Parent = PlayerGui_upv_1.GameHUD ClientData_upv_1.MobileControlsMenu.Visible = CanShowMobileControlsMenu() local v19 = nil if ClientData_upv_1.MobileControlsMenu.Visible then UpdateClawMode() Modules_upv_1.Components.Menu.RefreshMobileControlsMenu(ClientData_upv_1.MobileControlsMenu) local _, v19, v20 = GetMobileJoystickObjects() if v19 and v20 then v19.Visible = false v20.Position = UDim2.fromScale(0.5, 0.5) end else ResetMobileJoystick() local v21 = nil if Services_upv_1.UserInputService.TouchEnabled == true then v21 = GetTouchMovementControls() if v21 and ClientData_upv_1.TouchMovementControlsDisabled == true then v21:Enable() ClientData_upv_1.TouchMovementControlsDisabled = false end end end GameEvents_upv_1.DeviceUpdate:FireServer("Mobile") end local function StartMobileFireTouch(a11, a12, a13) --[[ name: StartMobileFireTouch line: 340 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) WeaponDataNew_upv_1 (copy, index: 3) ClientData_upv_1 (copy, index: 4) PlayerSettings_upv_1 (copy, index: 5) API_upv_1 (copy, index: 6) ]] if a11.UserInputType ~= Enum.UserInputType.Touch then return end local ServerData_3 = Player_upv_1:FindFirstChild("ServerData") local v22 if (ServerData_3) and ServerData_3:GetAttribute("Alive") == true then v22 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v22 = true end if v22 == true or not WeaponDataNew_upv_1.CurrentTool or not WeaponDataNew_upv_1.CurrentTool.Model then return end if ClientData_upv_1[a12] == nil and ClientData_upv_1.ShootTouch == nil and ClientData_upv_1.ShootStaticTouch == nil then ClientData_upv_1[a12] = a11 ClientData_upv_1.MouseHeld = true if a13 == true and PlayerSettings_upv_1:GetAttribute("MobileAutoADS") == true and WeaponDataNew_upv_1.CurrentTool.Aiming == false then API_upv_1.WeaponAction.AimDownSight() end API_upv_1.WeaponAction.Shoot() return end end local function ConfigMobileControlsMenuVisibility() --[[ name: ConfigMobileControlsMenuVisibility line: 355 upvalues: ClientData_upv_1 (copy, index: 1) CanShowMobileControlsMenu (copy, index: 2) UpdateClawMode (copy, index: 3) Modules_upv_1 (copy, index: 4) GetMobileJoystickObjects (copy, index: 5) ResetMobileJoystick (copy, index: 6) Services_upv_1 (copy, index: 7) GetTouchMovementControls (copy, index: 8) ServerFolder_upv_1 (copy, index: 9) Player_upv_1 (copy, index: 10) ]] if ClientData_upv_1.MobileControlsVisibilityConfigured then return end ClientData_upv_1.MobileControlsVisibilityConfigured = true ClientData_upv_1.MobileControlsMenu.Visible = CanShowMobileControlsMenu() local v23 = nil if ClientData_upv_1.MobileControlsMenu.Visible then UpdateClawMode() Modules_upv_1.Components.Menu.RefreshMobileControlsMenu(ClientData_upv_1.MobileControlsMenu) local _, v23, v24 = GetMobileJoystickObjects() if v23 and v24 then v23.Visible = false v24.Position = UDim2.fromScale(0.5, 0.5) end else ResetMobileJoystick() local v25 = nil if Services_upv_1.UserInputService.TouchEnabled == true then v25 = GetTouchMovementControls() if v25 and ClientData_upv_1.TouchMovementControlsDisabled == true then v25:Enable() ClientData_upv_1.TouchMovementControlsDisabled = false end end ClientData_upv_1.ShootTouch = nil ClientData_upv_1.ShootStaticTouch = nil ClientData_upv_1.MouseHeld = false end local function Refresh_1() --[[ name: Refresh line: 359 upvalues: ClientData_upv_1 (copy, index: 1) CanShowMobileControlsMenu (copy, index: 2) UpdateClawMode (copy, index: 3) Modules_upv_1 (copy, index: 4) GetMobileJoystickObjects (copy, index: 5) ResetMobileJoystick (copy, index: 6) Services_upv_1 (copy, index: 7) GetTouchMovementControls (copy, index: 8) ]] ClientData_upv_1.MobileControlsMenu.Visible = CanShowMobileControlsMenu() local v26 = nil if ClientData_upv_1.MobileControlsMenu.Visible then UpdateClawMode() Modules_upv_1.Components.Menu.RefreshMobileControlsMenu(ClientData_upv_1.MobileControlsMenu) local _, v26, v27 = GetMobileJoystickObjects() if not v26 or not v27 then return end v26.Visible = false v27.Position = UDim2.fromScale(0.5, 0.5) else ResetMobileJoystick() local v28 = nil if Services_upv_1.UserInputService.TouchEnabled == true then v28 = GetTouchMovementControls() if v28 and ClientData_upv_1.TouchMovementControlsDisabled == true then v28:Enable() ClientData_upv_1.TouchMovementControlsDisabled = false end end ClientData_upv_1.ShootTouch = nil ClientData_upv_1.ShootStaticTouch = nil ClientData_upv_1.MouseHeld = false end end ServerFolder_upv_1:GetAttributeChangedSignal("Phase"):Connect(Refresh_1) ServerFolder_upv_1:GetAttributeChangedSignal("Attacker"):Connect(Refresh_1) Player_upv_1:GetPropertyChangedSignal("Team"):Connect(Refresh_1) local v29 = Player_upv_1:WaitForChild("ServerData", 10) if v29 then v29:GetAttributeChangedSignal("Alive"):Connect(Refresh_1) end Services_upv_1.UserInputService.LastInputTypeChanged:Connect( function(a14) --[[ line: 383 upvalues: ClientData_upv_1 (copy, index: 1) ]] ClientData_upv_1.LastInputType = a14 end ) end local function AdditionalMobileThumbstickFunction() --[[ name: AdditionalMobileThumbstickFunction line: 408 upvalues: Player_upv_1 (copy, index: 1) ClientData_upv_1 (copy, index: 2) Services_upv_1 (copy, index: 3) GetTouchMovementControls (copy, index: 4) ResetMobileJoystick (copy, index: 5) WeaponDataNew_upv_1 (copy, index: 6) GetMobileJoystickObjects (copy, index: 7) Camera_upv_1 (copy, index: 8) Humanoid_upv_1 (copy, index: 9) API_upv_1 (copy, index: 10) ]] local v44 = nil if Player_upv_1:GetAttribute("OnMobile") == true and ClientData_upv_1.MobileControlsMenu ~= nil and ClientData_upv_1.MobileControlsMenu.Visible == true then if Services_upv_1.UserInputService.TouchEnabled == true then v44 = GetTouchMovementControls() if v44 and ClientData_upv_1.TouchMovementControlsDisabled ~= true then v44:Disable() ClientData_upv_1.TouchMovementControlsDisabled = true end end if ClientData_upv_1.JoystickTouch ~= nil and ClientData_upv_1.JoystickTouchPosition ~= nil then if ClientData_upv_1.JoystickBaseCenter ~= nil then v44 = WeaponDataNew_upv_1.CurrentTool if v44 then local v32, v33, v34 = GetMobileJoystickObjects() if v32 and v33 and v34 then local AbsolutePosition_3 = v32.AbsolutePosition local v35 = Vector2.new(ClientData_upv_1.JoystickTouchPosition.X - AbsolutePosition_3.X, ClientData_upv_1.JoystickTouchPosition.Y - AbsolutePosition_3.Y) - ClientData_upv_1.JoystickBaseCenter local v36 = ClientData_upv_1.JoystickBaseRadius or (math.max(1, math.min(v33.AbsoluteSize.X, v33.AbsoluteSize.Y) * 0.5)) local v37 = math.max(v36 - (math.min(v34.AbsoluteSize.X, v34.AbsoluteSize.Y) * 0.5), 0) local v38 = v35 if v37 > 0 then v38 = ((v37 < v35.Magnitude) and (v35.Unit * v37)) or v38 end local v39 = Vector2.new(v33.AbsoluteSize.X * 0.5, v33.AbsoluteSize.Y * 0.5) v34.Position = UDim2.fromOffset(v39.X + v38.X, v39.Y + v38.Y) if v37 > 0 then ClientData_upv_1.MobileMovementVector = v38 / v37 else ClientData_upv_1.MobileMovementVector = Vector2.zero end local v40 = ClientData_upv_1.MobileMovementVector or (Vector2.zero) local v41 = Camera_upv_1.CFrame.LookVector * Vector3.new(1, 0, 1) local v42 = Camera_upv_1.CFrame.RightVector * Vector3.new(1, 0, 1) if v41.Magnitude > 0 then v37 = v41.Unit else v37 = v41 end if v42.Magnitude > 0 then v42 = v42.Unit end v34 = v42 * v40.X + v37 * -v40.Y if v34.Magnitude > 1 then v34 = v34.Unit end Humanoid_upv_1:Move(v34, false) local v43 = API_upv_1.Movement.GetMovement() v42 = (v36 * 1.05 < v35.Magnitude) and ((v40.Magnitude > 0) and ((v43 ~= "Crouching") and ((v43 ~= "Proning") and ((v44.Aiming ~= true) and ((v44.Reloading ~= true) and (ClientData_upv_1.MouseHeld ~= true)))))) ClientData_upv_1.JoystickSprint = v42 ClientData_upv_1.RunningHold = v42 return end else ClientData_upv_1.JoystickSprint = false ClientData_upv_1.RunningHold = false end return end end if ClientData_upv_1.JoystickSprint == true then ClientData_upv_1.JoystickSprint = false ClientData_upv_1.RunningHold = false end return end if Services_upv_1.UserInputService.TouchEnabled == true then v44 = GetTouchMovementControls() if v44 and ClientData_upv_1.TouchMovementControlsDisabled == true then v44:Enable() ClientData_upv_1.TouchMovementControlsDisabled = false end end if ClientData_upv_1.JoystickTouch == nil then return end ResetMobileJoystick() end local function BeginMobileJoystick(a15) --[[ name: BeginMobileJoystick line: 190 upvalues: Player_upv_1 (copy, index: 1) ClientData_upv_1 (copy, index: 2) GetMobileJoystickObjects (copy, index: 3) ]] if a15.UserInputType ~= Enum.UserInputType.Touch or Player_upv_1:GetAttribute("OnMobile") ~= true then return end if ClientData_upv_1.MobileControlsMenu and ClientData_upv_1.MobileControlsMenu.Visible == true and (not ClientData_upv_1.JoystickTouch or ClientData_upv_1.JoystickTouch == a15) then local v45, v46, v47 = GetMobileJoystickObjects() if v45 and v46 and v47 then local v48 = math.max(1, math.min(v46.AbsoluteSize.X, v46.AbsoluteSize.Y) * 0.5) local AbsoluteSize_3 = v45.AbsoluteSize local AbsolutePosition_4 = v45.AbsolutePosition local v49 = Vector2.new(a15.Position.X - AbsolutePosition_4.X, a15.Position.Y - AbsolutePosition_4.Y) local v50 = Vector2.new(math.clamp(v49.X, v48, AbsoluteSize_3.X - v48), math.clamp(v49.Y, v48, AbsoluteSize_3.Y - v48)) ClientData_upv_1.JoystickTouch = a15 ClientData_upv_1.JoystickTouchPosition = Vector2.new(a15.Position.X, a15.Position.Y) ClientData_upv_1.JoystickBaseCenter = v50 ClientData_upv_1.JoystickBaseRadius = v48 ClientData_upv_1.MobileMovementVector = Vector2.zero ClientData_upv_1.JoystickSprint = false v46.Position = UDim2.fromOffset(v50.X, v50.Y) v46.Visible = true v47.Position = UDim2.fromScale(0.5, 0.5) return end return end end local function GetMobileShootTouchKey(a16) --[[ name: GetMobileShootTouchKey line: 155 upvalues: ClientData_upv_1 (copy, index: 1) ]] if not ClientData_upv_1.MobileControlsMenu then return nil end local Shoot_1 = ClientData_upv_1.MobileControlsMenu:FindFirstChild("Shoot") if Shoot_1 and Shoot_1:IsA("GuiObject") then local v51 if Shoot_1 then local _ = Shoot_1.AbsolutePosition local v52 = Shoot_1.AbsoluteSize v51 = Shoot_1.AbsolutePosition.X <= a16.X and a16.X <= Shoot_1.AbsolutePosition.X + Shoot_1.AbsoluteSize.X and Shoot_1.AbsolutePosition.Y <= a16.Y and a16.Y <= Shoot_1.AbsolutePosition.Y + Shoot_1.AbsoluteSize.Y else v51 = false end if v51 then return "ShootTouch" end end local ShootStatic_1 = ClientData_upv_1.MobileControlsMenu:FindFirstChild("ShootStatic") if ShootStatic_1 and ShootStatic_1:IsA("GuiObject") then local v51 if ShootStatic_1 then local _ = ShootStatic_1.AbsolutePosition local v53 = ShootStatic_1.AbsoluteSize v51 = ShootStatic_1.AbsolutePosition.X <= a16.X and a16.X <= ShootStatic_1.AbsolutePosition.X + ShootStatic_1.AbsoluteSize.X and ShootStatic_1.AbsolutePosition.Y <= a16.Y and a16.Y <= ShootStatic_1.AbsolutePosition.Y + ShootStatic_1.AbsoluteSize.Y else v51 = false end if v51 then return "ShootStaticTouch" end end return nil end local function HandleRuntimeDeviceInput(a17) --[[ name: HandleRuntimeDeviceInput line: 321 upvalues: Player_upv_1 (copy, index: 1) SwitchToControllerMode (copy, index: 2) IsTouchOnMobileControl (copy, index: 3) SwitchToMobileMode (copy, index: 4) ClientData_upv_1 (copy, index: 5) ]] local v52 = a17.UserInputType.Name:match("^Gamepad") ~= nil if v52 then if Player_upv_1:GetAttribute("OnConsole") ~= true then SwitchToControllerMode(a17.UserInputType) end elseif a17.UserInputType == Enum.UserInputType.Touch and IsTouchOnMobileControl(Vector2.new(a17.Position.X, a17.Position.Y)) == true then if Player_upv_1:GetAttribute("OnMobile") == true then ClientData_upv_1.LastInputType = a17.UserInputType else SwitchToMobileMode(a17.UserInputType) end end end local function convertSwapToolInputToInt(a18) --[[ name: convertSwapToolInputToInt line: 631 upvalues: Keybinds_upv_1 (copy, index: 1) WeaponDataNew_upv_1 (copy, index: 2) ]] if a18 ~= Keybinds_upv_1.PC.SwapTool1 then if a18 ~= Keybinds_upv_1.PC.SwapTool2 then if a18 ~= Keybinds_upv_1.PC.SwapTool3 then if a18 ~= Keybinds_upv_1.PC.SwapTool4 then if WeaponDataNew_upv_1.CurrentToolIndex ~= 1 then return 1 end return 2 end return 4 end return 3 end return 2 end return 1 end local function handleRun(a19, a20, a21) --[[ name: handleRun line: 676 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) Modules_upv_1 (copy, index: 3) WeaponDataNew_upv_1 (copy, index: 4) API_upv_1 (copy, index: 5) ClientData_upv_1 (copy, index: 6) ]] local ServerData_4 = Player_upv_1:FindFirstChild("ServerData") local v53 if (ServerData_4) and ServerData_4:GetAttribute("Alive") == true then v53 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v53 = true end if v53 ~= true and a19 == Modules_upv_1.Constants.ACTION_RUN then local v54 = nil if a20 == Enum.UserInputState.Begin then v54 = WeaponDataNew_upv_1.CurrentTool if v54 and v54.Aiming == true then API_upv_1.WeaponAction.AimDownSightRelease() end ClientData_upv_1.RunningHold = true elseif a20 == Enum.UserInputState.End then ClientData_upv_1.RunningHold = false end end return Enum.ContextActionResult.Pass end local function handlePing(a22, a23, a24) --[[ name: handlePing line: 701 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) Modules_upv_1 (copy, index: 3) API_upv_1 (copy, index: 4) ]] local ServerData_5 = Player_upv_1:FindFirstChild("ServerData") local v55 if (ServerData_5) and ServerData_5:GetAttribute("Alive") == true then v55 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v55 = true end if v55 ~= true and a22 == Modules_upv_1.Constants.ACTION_PING and a23 == Enum.UserInputState.Begin then API_upv_1.WeaponAction.Ping() end return Enum.ContextActionResult.Pass end local function handleProne(a25, a26, a27) --[[ name: handleProne line: 736 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) Modules_upv_1 (copy, index: 3) Keybinds_upv_1 (copy, index: 4) ClientData_upv_1 (copy, index: 5) API_upv_1 (copy, index: 6) ]] local ServerData_6 = Player_upv_1:FindFirstChild("ServerData") local v56 if (ServerData_6) and ServerData_6:GetAttribute("Alive") == true then v56 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v56 = true end if v56 ~= true then if a25 == Modules_upv_1.Constants.ACTION_PRONE and a26 == Enum.UserInputState.Begin then if a27.KeyCode == Keybinds_upv_1.Controller.Prone then ClientData_upv_1.CrouchingHold = true ClientData_upv_1.CrouchingHoldTimer = os.clock() elseif not ClientData_upv_1.ProneCooldown then ClientData_upv_1.ProneCooldown = true if API_upv_1.Movement.GetMovement() ~= "Proning" then ClientData_upv_1.RunningHold = false API_upv_1.Movement.SetLean(0) API_upv_1.Movement.SetMovement("Proning") else API_upv_1.Movement.SetMovement("Standing", true) end task.spawn( function() --[[ line: 758 upvalues: Modules_upv_1 (copy, index: 1) ClientData_upv_1 (copy, index: 2) ]] task.wait(Modules_upv_1.Config.ProneCooldown) ClientData_upv_1.ProneCooldown = false end ) end return Enum.ContextActionResult.Pass end ClientData_upv_1.CrouchingHold = false end return Enum.ContextActionResult.Pass end local function handleVault(a28, a29, a30) --[[ name: handleVault line: 782 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) Modules_upv_1 (copy, index: 3) API_upv_1 (copy, index: 4) ]] local ServerData_7 = Player_upv_1:FindFirstChild("ServerData") local v57 if (ServerData_7) and ServerData_7:GetAttribute("Alive") == true then v57 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v57 = true end if v57 ~= true and a28 == Modules_upv_1.Constants.ACTION_VAULT and a29 == Enum.UserInputState.Begin and API_upv_1.Character and API_upv_1.Character.Vault then API_upv_1.Character.Vault() end return Enum.ContextActionResult.Pass end local function handleInspect(a31, a32, a33) --[[ name: handleInspect line: 800 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) Modules_upv_1 (copy, index: 3) WeaponDataNew_upv_1 (copy, index: 4) API_upv_1 (copy, index: 5) ]] local ServerData_8 = Player_upv_1:FindFirstChild("ServerData") local v58 if (ServerData_8) and ServerData_8:GetAttribute("Alive") == true then v58 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v58 = true end if v58 ~= true and a31 == Modules_upv_1.Constants.ACTION_INSPECT and a32 == Enum.UserInputState.Begin then local Character_2 = Player_upv_1.Character local v59 = Character_2 and (Character_2:FindFirstChild("Humanoid")) local v60 = v59 and (v59.Health > 0) if not (State_upv_1.Helpers.IsFirstPersonSpectateCameraActive()) and v60 and WeaponDataNew_upv_1 and WeaponDataNew_upv_1.CurrentTool then API_upv_1.WeaponAction.AimDownSightRelease() WeaponDataNew_upv_1:Inspect() return Enum.ContextActionResult.Pass end return Enum.ContextActionResult.Pass end return Enum.ContextActionResult.Pass end local function handleQuickKnife(a34, a35, a36) --[[ name: handleQuickKnife line: 828 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) Modules_upv_1 (copy, index: 3) API_upv_1 (copy, index: 4) ]] local ServerData_9 = Player_upv_1:FindFirstChild("ServerData") local v61 if (ServerData_9) and ServerData_9:GetAttribute("Alive") == true then v61 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v61 = true end if v61 ~= true and a34 == Modules_upv_1.Constants.ACTION_QUICKKNIFE and a35 == Enum.UserInputState.Begin then API_upv_1.WeaponAction.QuickKnife() end return Enum.ContextActionResult.Pass end UpdateClawMode() local function CheckForDevice() --[[ name: CheckForDevice line: 388 upvalues: Services_upv_1 (copy, index: 1) ClientData_upv_1 (copy, index: 2) SwitchToControllerMode (copy, index: 3) SwitchToMobileMode (copy, index: 4) Player_upv_1 (copy, index: 5) ResetMobileJoystick (copy, index: 6) GetTouchMovementControls (copy, index: 7) GameEvents_upv_1 (copy, index: 8) ConfigMobileControlsMenuVisibility (copy, index: 9) ]] local v62 = Services_upv_1.UserInputService:GetLastInputType() ClientData_upv_1.LastInputType = v62 local v63 = v62.Name:match("^Gamepad") ~= nil if v63 then SwitchToControllerMode(v62) else if (not (Services_upv_1.UserInputService.TouchEnabled) or Services_upv_1.UserInputService.KeyboardEnabled) and v62 ~= Enum.UserInputType.Touch then if Services_upv_1.UserInputService.KeyboardEnabled and not (Services_upv_1.UserInputService.TouchEnabled) then Player_upv_1:SetAttribute("OnMobile", false) Player_upv_1:SetAttribute("OnConsole", false) Player_upv_1:SetAttribute("OnComputer", true) ResetMobileJoystick() local v64 = nil if Services_upv_1.UserInputService.TouchEnabled == true then v64 = GetTouchMovementControls() if v64 and ClientData_upv_1.TouchMovementControlsDisabled == true then v64:Enable() ClientData_upv_1.TouchMovementControlsDisabled = false end end GameEvents_upv_1.DeviceUpdate:FireServer("Computer") end ConfigMobileControlsMenuVisibility() return end SwitchToMobileMode(v62) end ConfigMobileControlsMenuVisibility() end CheckForDevice() local function MobileBindingConfig(a37) --[[ name: MobileBindingConfig line: 481 upvalues: Services_upv_1 (copy, index: 1) HandleRuntimeDeviceInput (copy, index: 2) GetMobileShootTouchKey (copy, index: 3) StartMobileFireTouch (copy, index: 4) ClientData_upv_1 (copy, index: 5) GetMobileJoystickObjects (copy, index: 6) BeginMobileJoystick (copy, index: 7) ResetMobileJoystick (copy, index: 8) StopMobileFireTouch (copy, index: 9) PlayerSettings_upv_1 (copy, index: 10) WeaponDataNew_upv_1 (copy, index: 11) API_upv_1 (copy, index: 12) LeanToggle_upv_1 (copy, index: 13) Character_upv_1 (copy, index: 14) Modules_upv_1 (copy, index: 15) ]] a37:WaitForChild("JoystickRectangle") a37:WaitForChild("Shoot") a37:WaitForChild("ShootStatic") Services_upv_1.UserInputService.InputBegan:Connect( function(a38) --[[ line: 486 upvalues: HandleRuntimeDeviceInput (copy, index: 1) GetMobileShootTouchKey (copy, index: 2) StartMobileFireTouch (copy, index: 3) ClientData_upv_1 (copy, index: 4) GetMobileJoystickObjects (copy, index: 5) BeginMobileJoystick (copy, index: 6) ]] HandleRuntimeDeviceInput(a38) if a38.UserInputType == Enum.UserInputType.Touch then local v65 = Vector2.new(a38.Position.X, a38.Position.Y) local v66 = GetMobileShootTouchKey(v65) if v66 == nil then if ClientData_upv_1.JoystickTouch == nil then local v67 = GetMobileJoystickObjects() local v68 if v67 then local _ = v67.AbsolutePosition local v69 = v67.AbsoluteSize v68 = v67.AbsolutePosition.X <= v65.X and v65.X <= v67.AbsolutePosition.X + v67.AbsoluteSize.X and v67.AbsolutePosition.Y <= v65.Y and v65.Y <= v67.AbsolutePosition.Y + v67.AbsoluteSize.Y else v68 = false end if not v68 then return end BeginMobileJoystick(a38) end else StartMobileFireTouch(a38, v66, true) end end end ) Services_upv_1.UserInputService.InputChanged:Connect( function(a39) --[[ line: 501 upvalues: ClientData_upv_1 (copy, index: 1) ]] if a39 ~= ClientData_upv_1.JoystickTouch then return end ClientData_upv_1.JoystickTouchPosition = Vector2.new(a39.Position.X, a39.Position.Y) end ) Services_upv_1.UserInputService.InputEnded:Connect( function(a40) --[[ line: 507 upvalues: ClientData_upv_1 (copy, index: 1) ResetMobileJoystick (copy, index: 2) StopMobileFireTouch (copy, index: 3) ]] if a40 == ClientData_upv_1.JoystickTouch then ResetMobileJoystick() end StopMobileFireTouch(a40) end ) a37:WaitForChild("Aim").MouseButton1Down:Connect( function() --[[ line: 514 upvalues: ClientData_upv_1 (copy, index: 1) PlayerSettings_upv_1 (copy, index: 2) WeaponDataNew_upv_1 (copy, index: 3) API_upv_1 (copy, index: 4) ]] ClientData_upv_1.ADSInputHeld = true if PlayerSettings_upv_1:GetAttribute("ADSToggle") ~= true then if PlayerSettings_upv_1:GetAttribute("ADSToggle") == false then if WeaponDataNew_upv_1.CurrentTool.Aiming == false then API_upv_1.WeaponAction.AimDownSight() end ClientData_upv_1.AimingToggleOff = true end elseif WeaponDataNew_upv_1.CurrentTool.Aiming ~= false then API_upv_1.WeaponAction.AimDownSightRelease() else API_upv_1.WeaponAction.AimDownSight() end end ) a37.Aim.MouseButton1Up:Connect( function() --[[ line: 530 upvalues: ClientData_upv_1 (copy, index: 1) PlayerSettings_upv_1 (copy, index: 2) API_upv_1 (copy, index: 3) ]] ClientData_upv_1.ADSInputHeld = false if PlayerSettings_upv_1:GetAttribute("ADSToggle") ~= false then return end API_upv_1.WeaponAction.AimDownSightRelease() ClientData_upv_1.AimingToggleOff = false end ) a37:WaitForChild("LeanLeft").MouseButton1Down:Connect( function() --[[ line: 538 upvalues: API_upv_1 (copy, index: 1) ]] if API_upv_1.Movement.GetLean() ~= -1 then API_upv_1.Movement.SetLean(-1) else API_upv_1.Movement.SetLean(0) end end ) a37:WaitForChild("LeanRight").MouseButton1Down:Connect( function() --[[ line: 546 upvalues: API_upv_1 (copy, index: 1) ]] if API_upv_1.Movement.GetLean() ~= 1 then API_upv_1.Movement.SetLean(1) else API_upv_1.Movement.SetLean(0) end end ) a37.LeanLeft.MouseButton1Up:Connect( function() --[[ line: 554 upvalues: LeanToggle_upv_1 (copy, index: 1) API_upv_1 (copy, index: 2) ]] if LeanToggle_upv_1 ~= false then return end API_upv_1.Movement.SetLean(0) end ) a37.LeanRight.MouseButton1Up:Connect( function() --[[ line: 560 upvalues: LeanToggle_upv_1 (copy, index: 1) API_upv_1 (copy, index: 2) ]] if LeanToggle_upv_1 ~= false then return end API_upv_1.Movement.SetLean(0) end ) a37:WaitForChild("Knife").MouseButton1Click:Connect( function() --[[ line: 566 upvalues: API_upv_1 (copy, index: 1) ]] API_upv_1.WeaponAction.QuickKnife() end ) a37:WaitForChild("Reload").MouseButton1Click:Connect( function() --[[ line: 570 upvalues: API_upv_1 (copy, index: 1) ]] API_upv_1.WeaponAction.Reload() end ) a37:WaitForChild("Ping").MouseButton1Click:Connect( function() --[[ line: 574 upvalues: API_upv_1 (copy, index: 1) ]] API_upv_1.WeaponAction.Ping() end ) local Grenade_1 = a37:WaitForChild("Grenade") Grenade_1.MouseButton1Down:Connect( function() --[[ line: 579 upvalues: API_upv_1 (copy, index: 1) ]] API_upv_1.WeaponAction.StartQuickThrowHold() end ) Grenade_1.MouseButton1Up:Connect( function() --[[ line: 582 upvalues: API_upv_1 (copy, index: 1) ]] API_upv_1.WeaponAction.ReleaseQuickThrowHold(true) end ) local u1 = 1 a37:WaitForChild("Swap").MouseButton1Click:Connect( function() --[[ line: 587 upvalues: u1 (ref, index: 1) API_upv_1 (copy, index: 2) ]] if u1 ~= 1 then API_upv_1.WeaponAction.SwapWeapon(u1) u1 = 1 else API_upv_1.WeaponAction.SwapWeapon(u1) u1 = 2 end end ) a37:WaitForChild("Jump").MouseButton1Click:Connect( function() --[[ line: 597 upvalues: Character_upv_1 (copy, index: 1) WeaponDataNew_upv_1 (copy, index: 2) API_upv_1 (copy, index: 3) ]] if Character_upv_1:FindFirstChild("Humanoid") == nil or WeaponDataNew_upv_1.Jumping ~= false then return end Character_upv_1:FindFirstChild("Humanoid"):ChangeState(Enum.HumanoidStateType.Jumping) if not API_upv_1.Character or not API_upv_1.Character.Vault then return end API_upv_1.Character.Vault() end ) a37:WaitForChild("Crouch").MouseButton1Click:Connect( function() --[[ line: 608 upvalues: API_upv_1 (copy, index: 1) ]] if API_upv_1.Movement.GetMovement() ~= "Crouching" then API_upv_1.Movement.SetMovement("Crouching") else API_upv_1.Movement.SetMovement("Standing", true) end end ) a37:WaitForChild("Prone").MouseButton1Click:Connect( function() --[[ line: 616 upvalues: ClientData_upv_1 (copy, index: 1) API_upv_1 (copy, index: 2) Modules_upv_1 (copy, index: 3) ]] if ClientData_upv_1.ProneCooldown == true then return end if API_upv_1.Movement.GetMovement() ~= "Proning" then API_upv_1.Movement.SetLean(0) API_upv_1.Movement.SetMovement("Proning") else API_upv_1.Movement.SetMovement("Standing", true) end ClientData_upv_1.ProneCooldown = true task.wait(Modules_upv_1.Config.ProneCooldown) ClientData_upv_1.ProneCooldown = false end ) end MobileBindingConfig(ClientData_upv_1.MobileControlsMenu) local function handleAim(a41, a42, a43) --[[ name: handleAim line: 642 upvalues: Modules_upv_1 (copy, index: 1) Player_upv_1 (copy, index: 2) State_upv_1 (copy, index: 3) WeaponDataNew_upv_1 (copy, index: 4) ClientData_upv_1 (copy, index: 5) ADSToggle_upv_1 (copy, index: 6) API_upv_1 (copy, index: 7) ]] if a41 ~= Modules_upv_1.Constants.ACTION_AIM then return Enum.ContextActionResult.Pass end local ServerData_10 = Player_upv_1:FindFirstChild("ServerData") local v69 if (ServerData_10) and ServerData_10:GetAttribute("Alive") == true then v69 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v69 = true end if v69 ~= true and WeaponDataNew_upv_1.CurrentTool then if a42 == Enum.UserInputState.Begin then ClientData_upv_1.ADSInputHeld = true if ADSToggle_upv_1 then if WeaponDataNew_upv_1.CurrentTool.Aiming ~= false then API_upv_1.WeaponAction.AimDownSightRelease() else ClientData_upv_1.RunningHold = false API_upv_1.WeaponAction.AimDownSight() end else if WeaponDataNew_upv_1.CurrentTool.Aiming ~= false then warn(Modules_upv_1.Utility.warnCustom("Failed to aim in because player is already aiming in with ADS toggled off")) else ClientData_upv_1.RunningHold = false API_upv_1.WeaponAction.AimDownSight() end ClientData_upv_1.AimingToggleOff = true end elseif ADSToggle_upv_1 then ClientData_upv_1.ADSInputHeld = false else ClientData_upv_1.ADSInputHeld = false API_upv_1.WeaponAction.AimDownSightRelease() ClientData_upv_1.AimingToggleOff = false end end return Enum.ContextActionResult.Pass end Services_upv_1.ContextActionService:BindActionAtPriority(Modules_upv_1.Constants.ACTION_AIM, handleAim, false, Modules_upv_1.Constants.ACTION_PRIORITY, Keybinds_upv_1:GetAimKeys()) Services_upv_1.ContextActionService:BindActionAtPriority(Modules_upv_1.Constants.ACTION_RUN, handleRun, false, Modules_upv_1.Constants.ACTION_PRIORITY, Keybinds_upv_1:GetRunKeys()) local function handleLean(a44, a45, a46) --[[ name: handleLean line: 709 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) Modules_upv_1 (copy, index: 3) Keybinds_upv_1 (copy, index: 4) API_upv_1 (copy, index: 5) LeanToggle_upv_1 (copy, index: 6) ]] local ServerData_11 = Player_upv_1:FindFirstChild("ServerData") local v70 if (ServerData_11) and ServerData_11:GetAttribute("Alive") == true then v70 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v70 = true end if v70 ~= true and a44 == Modules_upv_1.Constants.ACTION_LEAN then v70 = 0 if a46.KeyCode == Keybinds_upv_1.PC.LeanLeft or a46.KeyCode == Keybinds_upv_1.Controller.LeanLeft then v70 = -1 elseif a46.KeyCode == Keybinds_upv_1.PC.LeanRight or a46.KeyCode == Keybinds_upv_1.Controller.LeanRight then v70 = 1 end local v71 = API_upv_1.Movement.GetLean() if a45 ~= Enum.UserInputState.Begin then if a45 == Enum.UserInputState.End and LeanToggle_upv_1 == false and v71 == v70 then API_upv_1.Movement.SetLean(0) end elseif v71 ~= v70 then API_upv_1.Movement.SetLean(v70) else API_upv_1.Movement.SetLean(0) end end return Enum.ContextActionResult.Pass end Services_upv_1.ContextActionService:BindActionAtPriority(Modules_upv_1.Constants.ACTION_LEAN, handleLean, false, Modules_upv_1.Constants.ACTION_PRIORITY, Keybinds_upv_1:GetLeanKeys()) Services_upv_1.ContextActionService:BindActionAtPriority(Modules_upv_1.Constants.ACTION_PING, handlePing, false, Modules_upv_1.Constants.ACTION_PRIORITY, Keybinds_upv_1:GetPingKeys()) local function handleSwap(a47, a48, a49) --[[ name: handleSwap line: 692 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) Modules_upv_1 (copy, index: 3) Keybinds_upv_1 (copy, index: 4) WeaponDataNew_upv_1 (copy, index: 5) API_upv_1 (copy, index: 6) ]] local ServerData_12 = Player_upv_1:FindFirstChild("ServerData") local v72 if (ServerData_12) and ServerData_12:GetAttribute("Alive") == true then v72 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v72 = true end if v72 ~= true and a47 == Modules_upv_1.Constants.ACTION_SWAP and a48 == Enum.UserInputState.Begin then local KeyCode_1 = a49.KeyCode API_upv_1.WeaponAction.SwapWeapon(((KeyCode_1 == Keybinds_upv_1.PC.SwapTool1) and 1) or (((KeyCode_1 == Keybinds_upv_1.PC.SwapTool2) and 2) or (((KeyCode_1 == Keybinds_upv_1.PC.SwapTool3) and 3) or (((KeyCode_1 == Keybinds_upv_1.PC.SwapTool4) and 4) or (((WeaponDataNew_upv_1.CurrentToolIndex ~= 1) and 1) or 2))))) end return Enum.ContextActionResult.Pass end Services_upv_1.ContextActionService:BindActionAtPriority(Modules_upv_1.Constants.ACTION_SWAP, handleSwap, false, Modules_upv_1.Constants.ACTION_PRIORITY, Keybinds_upv_1:GetSwapKeys()) Services_upv_1.ContextActionService:BindActionAtPriority(Modules_upv_1.Constants.ACTION_VAULT, handleVault, false, Modules_upv_1.Constants.ACTION_PRIORITY, Keybinds_upv_1:GetJumpKeys()) Services_upv_1.ContextActionService:BindActionAtPriority(Modules_upv_1.Constants.ACTION_PRONE, handleProne, false, Modules_upv_1.Constants.ACTION_PRIORITY, Keybinds_upv_1:GetProneKeys()) local function handleShoot(a50, a51, a52) --[[ name: handleShoot line: 769 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) Modules_upv_1 (copy, index: 3) ClientData_upv_1 (copy, index: 4) API_upv_1 (copy, index: 5) ]] local ServerData_13 = Player_upv_1:FindFirstChild("ServerData") local v73 if (ServerData_13) and ServerData_13:GetAttribute("Alive") == true then v73 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v73 = true end if v73 ~= true and a50 == Modules_upv_1.Constants.ACTION_SHOOT then if a51 ~= Enum.UserInputState.Begin then ClientData_upv_1.MouseHeld = false else ClientData_upv_1.MouseHeld = true API_upv_1.WeaponAction.Shoot() end end return Enum.ContextActionResult.Pass end Services_upv_1.ContextActionService:BindActionAtPriority(Modules_upv_1.Constants.ACTION_SHOOT, handleShoot, false, Modules_upv_1.Constants.ACTION_PRIORITY, Keybinds_upv_1:GetShootKeys()) local function handleReload(a53, a54, a55) --[[ name: handleReload line: 792 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) Modules_upv_1 (copy, index: 3) API_upv_1 (copy, index: 4) ]] local ServerData_14 = Player_upv_1:FindFirstChild("ServerData") local v74 if (ServerData_14) and ServerData_14:GetAttribute("Alive") == true then v74 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v74 = true end if v74 ~= true and a53 == Modules_upv_1.Constants.ACTION_RELOAD and a54 == Enum.UserInputState.Begin then API_upv_1.WeaponAction.Reload() end return Enum.ContextActionResult.Pass end Services_upv_1.ContextActionService:BindActionAtPriority(Modules_upv_1.Constants.ACTION_RELOAD, handleReload, false, Modules_upv_1.Constants.ACTION_PRIORITY, Keybinds_upv_1:GetReloadKeys()) Services_upv_1.ContextActionService:BindActionAtPriority(Modules_upv_1.Constants.ACTION_INSPECT, handleInspect, false, Modules_upv_1.Constants.ACTION_PRIORITY, Keybinds_upv_1.PC.InspectTool) local function handleCrouching(a56, a57, a58) --[[ name: handleCrouching line: 815 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) Modules_upv_1 (copy, index: 3) API_upv_1 (copy, index: 4) ClientData_upv_1 (copy, index: 5) ]] local ServerData_15 = Player_upv_1:FindFirstChild("ServerData") local v75 if (ServerData_15) and ServerData_15:GetAttribute("Alive") == true then v75 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v75 = true end if v75 ~= true and a56 == Modules_upv_1.Constants.ACTION_CROUCH and a57 == Enum.UserInputState.Begin then if API_upv_1.Movement.GetMovement() ~= "Crouching" then ClientData_upv_1.RunningHold = false API_upv_1.Movement.SetMovement("Crouching") else API_upv_1.Movement.SetMovement("Standing", true) end end return Enum.ContextActionResult.Pass end Services_upv_1.ContextActionService:BindActionAtPriority(Modules_upv_1.Constants.ACTION_CROUCH, handleCrouching, false, Modules_upv_1.Constants.ACTION_PRIORITY, Keybinds_upv_1:GetCrouchKeys()) Services_upv_1.ContextActionService:BindActionAtPriority(Modules_upv_1.Constants.ACTION_QUICKKNIFE, handleQuickKnife, false, Modules_upv_1.Constants.ACTION_PRIORITY, Keybinds_upv_1:GetQuickKnifeKeys()) local function handleQuickThrow(a59, a60, a61) --[[ name: handleQuickThrow line: 836 upvalues: Player_upv_1 (copy, index: 1) State_upv_1 (copy, index: 2) Modules_upv_1 (copy, index: 3) API_upv_1 (copy, index: 4) ]] local ServerData_16 = Player_upv_1:FindFirstChild("ServerData") local v76 if (ServerData_16) and ServerData_16:GetAttribute("Alive") == true then v76 = State_upv_1.Helpers.IsFirstPersonSpectateCameraActive() == true else v76 = true end if v76 ~= true and a59 == Modules_upv_1.Constants.ACTION_QUICKTHROW then if a60 == Enum.UserInputState.Begin then API_upv_1.WeaponAction.StartQuickThrowHold() elseif a60 == Enum.UserInputState.End or a60 == Enum.UserInputState.Cancel then API_upv_1.WeaponAction.ReleaseQuickThrowHold(true) end end return Enum.ContextActionResult.Pass end Services_upv_1.ContextActionService:BindActionAtPriority(Modules_upv_1.Constants.ACTION_QUICKTHROW, handleQuickThrow, false, Modules_upv_1.Constants.ACTION_PRIORITY, Keybinds_upv_1:GetQuickThrowKeys()) local tbl_2 = {} tbl_2.CanShowMobileControlsMenu = CanShowMobileControlsMenu tbl_2.UpdateClawMode = UpdateClawMode function tbl_2.RefreshMobileControlsPosition() --[[ name: RefreshMobileControlsPosition line: 285 upvalues: Modules_upv_1 (copy, index: 1) ClientData_upv_1 (copy, index: 2) GetMobileJoystickObjects (copy, index: 3) ]] Modules_upv_1.Components.Menu.RefreshMobileControlsMenu(ClientData_upv_1.MobileControlsMenu) local _, v77, v78 = GetMobileJoystickObjects() if not v77 or not v78 then return end v77.Visible = false v78.Position = UDim2.fromScale(0.5, 0.5) end tbl_2.AdditionalMobileThumbstickFunction = AdditionalMobileThumbstickFunction tbl_2.ResetMobileJoystick = ResetMobileJoystick return tbl_2 end return tbl_1