Okay, I I Have A Mining Script For A Pickaxe That I Made, So How Do I Make It Go Automatic Without Wrecking The Script?
local tType = script.Parent:FindFirstChild("TType")
local count = tType:FindFirstChild("Count").Value
local range = tType:FindFirstChild("Range").Value
local damage = tType:FindFirstChild("Damage").Value
local coolDown = tType:FindFirstChild("coolDown").Value
--------------------------------------------------------
local plr = game.Players.LocalPlayer
repeat wait() until plr.Character ~= nil
local mouse = plr:GetMouse()
local rs = game:GetService('ReplicatedStorage')
local events = rs.Events
local st = plr:WaitForChild("Settings")
local blocks = st:WaitForChild("Blocks")
local char = plr.Character
local pack = nil
local area = nil
pcall(function()
pack = char:FindFirstChild("Backpack")
area = pack:FindFirstChild("MaxArea")
end)
local basili = false
mouse.Button1Down:Connect(function()
basili = true
end)
mouse.Button1Up:Connect(function()
basili = false
end)
pcall(function()
wait(0.01)
while wait(coolDown) do
wait(0.01)
pack = char:FindFirstChild("Backpack")
area = pack:FindFirstChild("MaxArea")
if script.Parent.Parent.Name ~= "Backpack" and script.Parent.Parent.Name == plr.Name then
if mouse.Target and mouse.Target.Parent.Name == "Ore" then
local mag = (mouse.Target.Position-plr.Character.HumanoidRootPart.Position).magnitude
if mag <= range then
if mouse.Target and mouse.Target.Parent.Name == "Ore" then
plr.PlayerGui.BlockInfo.Enabled = true
plr.PlayerGui.SelectionBox.Color3 = Color3.new(0,255,0)
plr.PlayerGui.SelectionBox.Adornee = mouse.Target
if mouse.Target.CurrentDamage.Value/mouse.Target.Damage.Value > 1 then
plr.PlayerGui.BlockInfo.Frame.Fill.Size = UDim2.new(1,0,1,0)
else
plr.PlayerGui.BlockInfo.Frame.Fill.Size = UDim2.new(mouse.Target.CurrentDamage.Value/mouse.Target.Damage.Value,0,1,0)
end
plr.PlayerGui.BlockInfo.Frame.BlockName.Text = mouse.Target.Name.." - "..mouse.Target.Count.Value
plr.PlayerGui.BlockInfo.Frame.Value.Text = "Value: "..mouse.Target.Coin.Value
else
plr.PlayerGui.BlockInfo.Enabled = false
plr.PlayerGui.SelectionBox.Adornee = nil
script.Parent.Handle.Breaking:Stop()
end
if basili then
if (area.Value-blocks.Value) > 0 then
else
if plr.PlayerGui:FindFirstChild("Sell/Upgrade") then
plr.PlayerGui:FindFirstChild("Sell/Upgrade").Frame.Visible = true
end
end
if mouse.Target and mouse.Target.Parent.Name == "Ore" then
if mouse.Target.CurrentDamage.Value >= mouse.Target.Damage.Value then
events.Break:FireServer(mouse.Target,count)
mouse.Target.CurrentDamage.Value = 0
script.Parent.Handle.Breaking:Stop()
end
mouse.Target.CurrentDamage.Value = mouse.Target.CurrentDamage.Value + damage
if script.Parent.Handle.Breaking.Playing == false then
script.Parent.Handle.Breaking:Play()
else
end
end
for i,v in pairs(workspace.Ore:GetChildren()) do
if v ~= mouse.Target then
if v:FindFirstChild("CurrentDamage") == nil then
return
else
v:FindFirstChild("CurrentDamage").Value = 0
end
end
end
else
script.Parent.Handle.Breaking:Stop()
for i,v in pairs(workspace.Ore:GetChildren()) do
if v:FindFirstChild("CurrentDamage") == nil then
return
else
v:FindFirstChild("CurrentDamage").Value = 0
end
end
end
else
plr.PlayerGui.BlockInfo.Enabled = true
plr.PlayerGui.SelectionBox.Color3 = Color3.new(255,0,0)
plr.PlayerGui.SelectionBox.Adornee = mouse.Target
plr.PlayerGui.BlockInfo.Frame.Fill.Size = UDim2.new(0,0,1,0)
plr.PlayerGui.BlockInfo.Frame.BlockName.Text = "Out of range!"
plr.PlayerGui.BlockInfo.Frame.Value.Text = "Value: "..0
script.Parent.Handle.Breaking:Stop()
for i,v in pairs(workspace.Ore:GetChildren()) do
if v:FindFirstChild("CurrentDamage") == nil then
return
else
v:FindFirstChild("CurrentDamage").Value = 0
end
end
end
elseif mouse.Target and mouse.Target.Parent.Parent.Name == "Ore" then
local mag = (mouse.Target.Parent.Position-plr.Character.HumanoidRootPart.Position).magnitude
if mag <= range then
if mouse.Target.Parent and mouse.Target.Parent.Parent.Name == "Ore" then
plr.PlayerGui.BlockInfo.Enabled = true
plr.PlayerGui.SelectionBox.Color3 = Color3.new(0,255,0)
plr.PlayerGui.SelectionBox.Adornee = mouse.Target.Parent
if mouse.Target.Parent.CurrentDamage.Value/mouse.Target.Parent.Damage.Value > 1 then
plr.PlayerGui.BlockInfo.Frame.Fill.Size = UDim2.new(1,0,1,0)
else
plr.PlayerGui.BlockInfo.Frame.Fill.Size = UDim2.new(mouse.Target.Parent.CurrentDamage.Value/mouse.Target.Parent.Damage.Value,0,1,0)
end
plr.PlayerGui.BlockInfo.Frame.BlockName.Text = mouse.Target.Parent.Name.." - "..mouse.Target.Parent.Count.Value
plr.PlayerGui.BlockInfo.Frame.Value.Text = "Value: "..mouse.Target.Parent.Coin.Value
else
plr.PlayerGui.BlockInfo.Enabled = false
plr.PlayerGui.SelectionBox.Adornee = nil
script.Parent.Handle.Breaking:Stop()
end
if basili then
if (area.Value-blocks.Value) > 0 then
else
if plr.PlayerGui:FindFirstChild("Sell/Upgrade") then
plr.PlayerGui:FindFirstChild("Sell/Upgrade").Frame.Visible = true
end
end
if mouse.Target.Parent and mouse.Target.Parent.Parent.Name == "Ore" then
if mouse.Target.Parent.CurrentDamage.Value >= mouse.Target.Parent.Damage.Value then
events.Break:FireServer(mouse.Target.Parent,count)
mouse.Target.Parent.CurrentDamage.Value = 0
script.Parent.Handle.Breaking:Stop()
end
mouse.Target.Parent.CurrentDamage.Value = mouse.Target.Parent.CurrentDamage.Value + damage
if script.Parent.Handle.Breaking.Playing == false then
script.Parent.Handle.Breaking:Play()
else
end
end
for i,v in pairs(workspace.Ore:GetChildren()) do
if v ~= mouse.Target.Parent then
if v:FindFirstChild("CurrentDamage") == nil then
return
else
v:FindFirstChild("CurrentDamage").Value = 0
end
end
end
else
script.Parent.Handle.Breaking:Stop()
for i,v in pairs(workspace.Ore:GetChildren()) do
if v:FindFirstChild("CurrentDamage") == nil then
return
else
v:FindFirstChild("CurrentDamage").Value = 0
end
end
end
else
plr.PlayerGui.BlockInfo.Enabled = true
plr.PlayerGui.SelectionBox.Color3 = Color3.new(255,0,0)
plr.PlayerGui.SelectionBox.Adornee = mouse.Target.Parent
plr.PlayerGui.BlockInfo.Frame.Fill.Size = UDim2.new(0,0,1,0)
plr.PlayerGui.BlockInfo.Frame.BlockName.Text = "Out of range!"
plr.PlayerGui.BlockInfo.Frame.Value.Text = "Value: "..0
script.Parent.Handle.Breaking:Stop()
for i,v in pairs(workspace.Ore:GetChildren()) do
if v:FindFirstChild("CurrentDamage") == nil then
return
else
v:FindFirstChild("CurrentDamage").Value = 0
end
end
end
else
plr.PlayerGui.BlockInfo.Enabled = false
plr.PlayerGui.SelectionBox.Adornee = nil
script.Parent.Handle.Breaking:Stop()
for i,v in pairs(workspace.Ore:GetChildren()) do
if v:FindFirstChild("CurrentDamage") == nil then
return
else
v:FindFirstChild("CurrentDamage").Value = 0
end
end
end
else
plr.PlayerGui.BlockInfo.Enabled = false
plr.PlayerGui.SelectionBox.Adornee = nil
script.Parent.Handle.Breaking:Stop()
end
end
end)

1 comment
I am a small scripter who can't figure this out ;-;