--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)
Comments
it breaks before anvil