--Game Variables local _Player = game.Players.LocalPlayer local _Char = _Player.Character or _Player.CharacterAdded:Wait() local _Hum = _Char.Humanoid local _Root = _Char.HumanoidRootPart local _JobPrompt = workspace.ECONOMY.Cabinets.JobPrompt local _Furnace = workspace.ECONOMY.CraftJob.Smelt:GetChildren() local _Anvil = workspace.ECONOMY.CraftJob.Hammer:GetChildren() local _Barrel = workspace.ECONOMY.CraftJob.Quench:GetChildren() local _Table = workspace.ECONOMY.CraftJob.Craft:GetChildren() --Normal Variables local FurnacePosX = 471.021728515625 local AnvilPosX = 471.3345642089844 local BarrelPosX = 471.521728515625 local TablePos = Vector3.new(462.02978515625, 4.249998092651367, 307.782958984375) --Sidefuncs function DepositMoney() task.spawn(function() while true do wait(0.5) local _Wallet = _Player.leaderstats.Wallet if _Wallet.Value > 100 then local Event = game:GetService("ReplicatedStorage").RemoteEvents.DepositMoney Event:InvokeServer( 100 ) end end end) end function BlockRemote(remotename) local remotehook remotehook = hookmetamethod(game, "__namecall", function(self,...) local args = {...} method = getnamecallmethod() if tostring(self) == remotename and method == "FireServer" then return nil end return remotehook(self,unpack(args)) end) end function SimProx(proximityprompt) proximityprompt:InputHoldBegin() task.wait(proximityprompt.HoldDuration + 0.2) proximityprompt:InputHoldEnd() end function SetCam() local _Camera = Workspace.Camera local target = Vector3.new(0, -1500, 500) _Camera.CFrame = CFrame.new(_Camera.CFrame.Position, target) end function GetJob() _Hum:MoveTo(_JobPrompt.Position) _Hum.MoveToFinished:Wait() local proximity = _JobPrompt:FindFirstChild("JobTerminalPrompt") local Event = game:GetService("ReplicatedStorage").JobSystem.StartCraftingJob task.wait(proximity.HoldDuration + 0.2) Event:FireServer("Carbon Steel") end function Smelt() local wp1 = Vector3.new(466.0216979980469, 5.999999523162842, 296.12933349609375) local wp2 = Vector3.new(467.6435852050781, 5.999999523162842, 334.8310546875) _Hum:MoveTo(wp1) _Hum.MoveToFinished:Wait() _Hum:MoveTo(wp2) _Hum.MoveToFinished:Wait() for _,v in pairs(_Furnace)do if (v.WorldPivot.Position.X - FurnacePosX) < 0.5 then local smelt = v:FindFirstChild("Smelt") local prox = smelt:FindFirstChild("ProximityPrompt") SimProx(prox) end end end function Anvil() for _,v in pairs(_Anvil)do if (v.Position.X - AnvilPosX) < 0.5 then local prox = v:FindFirstChild("ProximityPrompt") SimProx(prox) end end end function Quench() local wp3 = Vector3.new(467.1665954589844, 5.999999523162842, 308.17840576171875) _Hum:MoveTo(wp3) _Hum.MoveToFinished:Wait() for _,v in pairs(_Barrel) do if (v.WorldPivot.Position.X - BarrelPosX) < 0.5 then local part = v:FindFirstChild("Part") local prox = part:FindFirstChild("ProximityPrompt") SimProx(prox) end end end function Craft() for _,v in pairs(_Table)do if (v.WorldPivot.Position- TablePos).Magnitude < 0.5 then local part = v:FindFirstChild("Part") local prox = part:FindFirstChild("ProximityPrompt") prox:InputHoldBegin() task.wait(prox.HoldDuration + 0.2) prox:InputHoldEnd() end end local wp4 = Vector3.new(467.6541748046875, 5.999999523162842, 296.95977783203125) _Hum:MoveTo(wp4) _Hum.MoveToFinished:Wait() end --Mainfunc --DepositMoney() DOESNT WORK BRUH BlockRemote("ApplyThirstDamage") BlockRemote("ApplyHungerDamage") task.spawn(function() while true do wait(0.5) SetCam() GetJob() Smelt() Anvil() Quench() Craft() end end)