Message
Message
0"
do -- library funcs
coroutine.wrap(function()
while true do
for i = 0, 359 do
library.rainbowI = i / 359;
library.rainbowVal = Color3.fromHSV(i / 359, 1, 1);
wait();
end;
end;
end)();
obj.Parent = data.Parent;
return obj;
end;
main.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true;
dragStart = input.Position;
startPos = second.Position;
main.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
dragInput = input;
end;
end);
game:GetService("UserInputService").InputChanged:Connect(function(input)
if input == dragInput and dragging then
update(input);
end;
end);
end;
anim.Completed:Connect(callback);
anim:Play();
return anim;
end;
local ui_Settings = {
mainColor = Color3.fromRGB(36, 36, 36);
bottomColor = Color3.fromRGB(34, 34, 34);
borderColor = Color3.fromRGB(42, 42, 42);
scrollingBarColor = Color3.fromRGB(255, 100, 0);
toggleColor = Color3.fromRGB(34, 34, 34);
toggleBorderColor = Color3.fromRGB(255, 100, 0);
boxColor = Color3.fromRGB(32, 32, 32);
boxBorderColor = Color3.fromRGB(255, 100, 0);
gradientColorSection = ColorSequence.new{ColorSequenceKeypoint.new(0,
Color3.fromRGB(255, 100, 0)), ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 40,
0))};
gradientColor = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(255,
100, 0)), ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 40, 0)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 0, 0))};
shadowGradientColor = ColorSequence.new{ColorSequenceKeypoint.new(0,
Color3.fromRGB(20, 20, 20)), ColorSequenceKeypoint.new(1, Color3.fromRGB(36, 36,
36))};
};
UserInputService.InputBegan:Connect(function(input)
for i, v in next, library.flags do
if(v == input.KeyCode) then
library.callbacks[i]();
elseif(v == input.UserInputType) then
library.callbacks[i]();
end;
end;
end);
function library:ToggleVisibility()
if main.Visible == true then
main.Visible = false
else
main.Visible = true
end
end
library:Dragger(main.bar.bottom, main);
function library:Ready()
gui.Enabled = true;
end;
function library:CreateSection(name)
local topContainer = gui.main.bar.bottom.topcontainer;
boxContainer.ChildAdded:Connect(function(Obj)
section:Update();
end);
sectionSelector.MouseButton1Click:Connect(function()
if(library.currentSection) then
library.currentSectionSelector.ImageColor3 = Color3.fromRGB(255, 255, 255);
library.currentSection.Visible = false;
end;
function section:Update()
local CanvasSize = UDim2.new(0, 0, 0, 85)
for i,v in next, boxContainer:GetChildren() do
if(not v:IsA("UIListLayout") and not v:IsA("UIPadding") and v.Visible) then
CanvasSize = CanvasSize + UDim2.new(0, 0, 0, v.AbsoluteSize.Y + 5);
end;
end;
function section:Label(labelName)
local holder = library:Create("Frame", {
Name = "holder";
Parent = boxContainer;
BackgroundColor3 = Color3.fromRGB(25, 25, 25);
BorderSizePixel = 0;
Position = UDim2.new(0, 0, 0, 350);
Size = UDim2.new(1, 0, 0, 18);
library:Create("TextLabel", {
Name = "label";
BackgroundTransparency = 1.000;
Size = UDim2.new(1, 0, 1, 0);
Font = "Gotham";
Text = labelName;
TextColor3 = Color3.fromRGB(255, 255, 255);
TextSize = 12.000;
});
});
end;
library.flags[toggleName] = toggle;
holder.toggle.MouseButton1Click:Connect(onClick);
return holder;
end;
holder.textbox.FocusLost:Connect(function(Enter)
if(Enter) then
library.flags[boxName] = holder.textbox.Text;
callback(holder.textbox.Text);
end;
end);
end;
local Connection;
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
if(Connection) then
Connection:Disconnect();
Connection = nil;
end;
end;
end);
holder.slider.MouseButton1Down:Connect(function()
if(Connection) then
Connection:Disconnect();
end;
Connection = RunService.Heartbeat:Connect(function()
local mouse = UserInputService:GetMouseLocation();
local percent = math.clamp((mouse.X - holder.slider.AbsolutePosition.X) /
(holder.slider.AbsoluteSize.X), 0, 1);
local Value = properties.min + (properties.max - properties.min) * percent;
callback(Value);
end);
end);
end;
local whitelistedType = {
[Enum.KeyCode.LeftShift] = "L-Shift",
[Enum.KeyCode.RightShift] = "R-Shift",
[Enum.KeyCode.LeftControl] = "L-Ctrl",
[Enum.KeyCode.RightControl] = "R-Ctrl",
[Enum.KeyCode.LeftAlt] = "L-Alt",
[Enum.KeyCode.RightAlt] = "R-Alt",
[Enum.KeyCode.CapsLock] = "CAPS",
[Enum.KeyCode.One] = "1",
[Enum.KeyCode.Two] = "2",
[Enum.KeyCode.Three] = "3",
[Enum.KeyCode.Four] = "4",
[Enum.KeyCode.Five] = "5",
[Enum.KeyCode.Six] = "6",
[Enum.KeyCode.Seven] = "7",
[Enum.KeyCode.Eight] = "8",
[Enum.KeyCode.Nine] = "9",
[Enum.KeyCode.Zero] = "0",
[Enum.KeyCode.KeypadOne] = "Num-1",
[Enum.KeyCode.KeypadTwo] = "Num-2",
[Enum.KeyCode.KeypadThree] = "Num-3",
[Enum.KeyCode.KeypadFour] = "Num-4",
[Enum.KeyCode.KeypadFive] = "Num-5",
[Enum.KeyCode.KeypadSix] = "Num-6",
[Enum.KeyCode.KeypadSeven] = "Num-7",
[Enum.KeyCode.KeypadEight] = "Num-8",
[Enum.KeyCode.KeypadNine] = "Num-9",
[Enum.KeyCode.KeypadZero] = "Num-0",
[Enum.KeyCode.Minus] = "-",
[Enum.KeyCode.Equals] = "=",
[Enum.KeyCode.Tilde] = "~",
[Enum.KeyCode.LeftBracket] = "[",
[Enum.KeyCode.RightBracket] = "]",
[Enum.KeyCode.RightParenthesis] = ")",
[Enum.KeyCode.LeftParenthesis] = "(",
[Enum.KeyCode.Semicolon] = ";",
[Enum.KeyCode.Quote] = "'",
[Enum.KeyCode.BackSlash] = "\\",
[Enum.KeyCode.Comma] = ",",
[Enum.KeyCode.Period] = ".",
[Enum.KeyCode.Slash] = "/",
[Enum.KeyCode.Asterisk] = "*",
[Enum.KeyCode.Plus] = "+",
[Enum.KeyCode.Period] = ".",
[Enum.KeyCode.Backquote] = "`",
[Enum.UserInputType.MouseButton1] = "Button-1",
[Enum.UserInputType.MouseButton2] = "Button-2",
[Enum.UserInputType.MouseButton3] = "Button-3",
};
holder.keybind.MouseButton1Click:Connect(function()
holder.keybind.Text = ". . .";
local connection;
connection = UserInputService.InputBegan:Connect(function(input)
connection:Disconnect();
wait();
holder.button.MouseButton1Click:Connect(callback);
end;
button.MouseButton1Click:Connect(function()
toggle = false;
holder.dropdown.label.Text = v;
library:Tween(holder.dropdown.icon, {time = 0.1, Rotation = 180});
library:Tween(holder, {time = 0.1, Size = UDim2.new(1, -20, 0, 35)});
library:Tween(holder.dropdown.dropframe, {time = 0.1, Size = UDim2.new(1, 2, 0,
0)}, self.Update);
callback(button.Text);
end);
end;
holder.dropdown.MouseButton1Click:Connect(function()
toggle = not toggle;
local TotalY = 0;
for i, v in next, holder.dropdown.dropframe:GetChildren() do
if(v:IsA("TextButton")) then
TotalY = TotalY + v.AbsoluteSize.Y + 2;
end;
end;
if(toggle) then
library:Tween(holder.dropdown.icon, {time = 0.1, Rotation = 0});
library:Tween(holder, {time = 0.1, Size = UDim2.new(1, -20, 0, TotalY + 50)});
library:Tween(holder.dropdown.dropframe, {time = 0.1, Size = UDim2.new(1, 2, 0,
TotalY)}, self.Update);
else
library:Tween(holder.dropdown.icon, {time = 0.1, Rotation = 180});
library:Tween(holder, {time = 0.1, Size = UDim2.new(1, -20, 0, 36)});
library:Tween(holder.dropdown.dropframe, {time = 0.1, Size = UDim2.new(1, 2, 0,
0)}, self.Update);
end;
end);
end;
local colorData = {
H = 1;
S = 1;
V = 1;
};
local Connection1;
local Connection2;
holder.colorpicker.MouseButton1Click:Connect(function()
toggle = not toggle;
holder.colorpicker.colorframe.Visible = toggle;
end);
UserInputService.InputEnded:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then
if(Connection1) then
Connection1:Disconnect();
Connection1 = nil;
end;
if(Connection2) then
Connection2:Disconnect();
Connection2 = nil;
end;
isFocused = false;
end;
end);
holder.colorpicker.colorframe.rainbow.MouseButton1Click:Connect(function()
rainbowToggle = not rainbowToggle;
holder.colorpicker.colorframe.rainbow.label.Text = rainbowToggle and "Rainbow: ON"
or "Rainbow: OFF";
if(rainbowToggle) then
repeat
library:Tween(holder.colorpicker.colorframe.hue.selector, {time = 0.1, Position =
UDim2.new(0, 0, library.rainbowI, 0)});
holder.colorpicker.colorframe.satval.BackgroundColor3 = Color3.fromHSV(1 -
library.rainbowI, 1, 1);
holder.colorpicker.color.BackgroundColor3 = library.rainbowVal;
callback(library.rainbowVal);
RunService.Heartbeat:Wait();
until not rainbowToggle;
end;
end);
holder.colorpicker.colorframe.satval.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then
if(Connection1) then
Connection1:Disconnect();
end;
Connection1 = RunService.Heartbeat:Connect(function()
local X, Y = getXY(holder.colorpicker.colorframe.satval);
holder.colorpicker.colorframe.hue.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 then
if(Connection2) then
Connection2:Disconnect();
end;
Connection2 = RunService.Heartbeat:Connect(function()
local X, Y = getXY(holder.colorpicker.colorframe.hue);
colorData.H = 1 - Y;
holder.colorpicker.colorframe.hue.selector.Position = UDim2.new(0, 0, Y, 0);
Update();
end);
end;
end);
end;
return section;
end;
end;
local highestWeaponDamage = 0
local highestWeaponName = ""
local highestAxeDamage = 0
local highestAxeName = ""
local highestPickaxeDamage = 0
local highestPickaxeName = ""
function getToolDamage(toolname)
local toolInfo = require(game.ReplicatedStorage.TS.tool["tool-meta"])
local toolsInfo = toolInfo.ToolMeta
for i,v in pairs(toolsInfo) do
if i == toolname then
return v["blockHit"].damage
end
end
end
function getWeaponDamage(toolname)
local toolInfo = require(game.ReplicatedStorage.TS.tool["tool-meta"])
local toolsInfo = toolInfo.ToolMeta
for i,v in pairs(toolsInfo) do
if i == toolname then
return v["combat"].baseDamage
end
end
end
function refreshTools()
local tools = game.Players.LocalPlayer.Backpack:getChildren()
for i=1,#tools do
if string.find(tools[i].Name, "Axe") and tools[i]:findFirstChild("axe") then
if getToolDamage(tools[i].Name) >= highestAxeDamage then
highestAxeDamage = getToolDamage(tools[i].Name)
highestAxeName = tools[i].Name
end
end
if string.find(tools[i].Name, "Pickaxe") and tools[i]:findFirstChild("axe") then
if getToolDamage(tools[i].Name) >= highestPickaxeDamage then
highestPickaxeDamage = getToolDamage(tools[i].Name)
highestPickaxeName = tools[i].Name
end
end
if tools[i]:findFirstChild("sword") then
if getWeaponDamage(tools[i].Name) >= highestWeaponDamage then
highestWeaponDamage = getWeaponDamage(tools[i].Name)
highestWeaponName = tools[i].Name
end
end
end
end
Tools:Toggle("Click-Loot Chests")
spawn(function()
local mouse = game.Players.LocalPlayer:GetMouse()
mouse.Button1Down:connect(function()
if library.flags["Click-Loot Chests"] then
if not mouse.Target then return end
local chest = mouse.Target
if chest.Parent == nil then return end
if chest.Parent.Parent == nil then return end
if chest.Parent.Parent:findFirstChild("Contents") then
local a = chest.Parent.Parent.Contents:getChildren()
for i=1,#a do
game.ReplicatedStorage.Remotes.Functions["CHEST_TRANSACTION"]:InvokeServer({chest =
chest.Parent.Parent, tool = a[i], action = "withdraw", amount = a[i].Amount.Value})
end
end
end
end)
end)
Tools:Toggle("Chest-Loot Aura")
spawn(function()
while wait(1.5) do
if library.flags["Chest-Loot Aura"] then
local chests = workspace.Islands[game.Players.LocalPlayer.UserId .. "-
island"].Blocks:getChildren()
for i=1,#chests do
if chests[i]:findFirstChild("Contents") then
if game.Players.LocalPlayer.Character:findFirstChild("HumanoidRootPart") then
if (game.Players.LocalPlayer.Character.HumanoidRootPart.Position -
chests[i].Position).magnitude <= 20 then
spawn(function()
local a = chests[i].Contents:getChildren()
for i=1,#a do
game.ReplicatedStorage.Remotes.Functions["CHEST_TRANSACTION"]:InvokeServer({chest =
a[i].Parent.Parent, tool = a[i], action = "withdraw", amount = a[i].Amount.Value})
end
end)
end
end
end
end
end
end
end)
Tools:Toggle("Steal Dropped Items")
spawn(function()
while wait(0.1) do
if library.flags["Steal Dropped Items"] then
local a = workspace.Islands:getChildren()
for i=1,#a do
if a[i]:findFirstChild("Drops") then
local c = a[i].Drops:getChildren()
for y=1,#c do
if c[y].ClassName == "Tool" and c[y]:findFirstChild("HandleDisabled") then
if game.Players.LocalPlayer.Character:findFirstChild("HumanoidRootPart") then
if (game.Players.LocalPlayer.Character.HumanoidRootPart.Position -
c[y].HandleDisabled.Position).magnitude <= 30 then
game.ReplicatedStorage.Remotes.Functions["TOOL_PICKUP_REQUEST"]:InvokeServer({tool
= c[y]})
end
end
end
end
end
end
end
end
end)
Tools:Toggle("Quick-Break Blocks")
spawn(function()
local UIS = game:GetService("UserInputService")
local mouse = game.Players.LocalPlayer:getMouse()
local mousedown = false
spawn(function()
UIS.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
mousedown = true
end
end)
end)
spawn(function()
UIS.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
mousedown = false
end
end)
end)
while wait() do
if library.flags["Quick-Break Blocks"] then
pcall(function()
if not mouse.Target then return end
if not mouse.Target.Parent then return end
if mouse.Target ~= nil and mouse.Target.Parent.Parent ~= nil then
if mouse.Target.Parent.Parent:findFirstChild("BlockType") and
mouse.Target.Parent.Parent.Name ~= "Game" and mousedown == true then
for i=1,10 do
if mouse.Target.Parent ~= nil then
if mouse.Target.Parent.Parent ~= nil then
game.ReplicatedStorage.Remotes.Functions["BLOCK_BREAK_REQUEST"]:InvokeServer({block
= mouse.Target})
end
end
end
end
if mouse.Target.Parent:findFirstChild("BlockType") and mouse.Target.Parent.Name ~=
"Game" and mousedown == true then
for i=1,10 do
if mouse.Target.Parent ~= nil then
game.ReplicatedStorage.Remotes.Functions["BLOCK_BREAK_REQUEST"]:InvokeServer({block
= mouse.Target})
end
end
end
end
end)
end
end
end)
Tools:Toggle("Click Vending Helper")
spawn(function()
local mouse = game.Players.LocalPlayer:GetMouse()
mouse.Button1Down:connect(function()
if library.flags["Click Vending Helper"] then
if not mouse.Target then return end
local chest = mouse.Target
if chest.Parent == nil then return end
if chest.Parent.Parent == nil then return end
if chest.Parent.Parent:findFirstChild("SellingContents") then
local vendingMachine = chest.Parent.Parent
if vendingMachine.Mode.Value == 0 then
game.ReplicatedStorage.Remotes.Functions["VENDING_MACHINE_WITHDRAW_COINS"]:InvokeSe
rver({vendingMachine = vendingMachine})
Autofarms:Toggle("TP to mobs")
spawn(function()
while wait() do
local a = workspace.Entities:getChildren()
for i=1,#a do
wait()
if string.find(a[i].Name, selectedAutofarmMob) then
if library.flags["TP to mobs"] == true then
if a[i]:findFirstChild("HumanoidRootPart") then
if game.Players.LocalPlayer.Character:findFirstChild("HumanoidRootPart") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame =
CFrame.new(a[i].HumanoidRootPart.Position + Vector3.new(2, -10, 0))
game.Players.LocalPlayer.Character.HumanoidRootPart.Velocity = Vector3.new(0,0,0)
workspace.CurrentCamera.CameraSubject = a[i].Humanoid
wait(0.15)
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame =
CFrame.new(a[i].HumanoidRootPart.Position + Vector3.new(0, -10, 0))
game.Players.LocalPlayer.Character.HumanoidRootPart.Velocity = Vector3.new(0,0,0)
wait(0.15)
end
end
else
if game.Players.LocalPlayer.Character:findFirstChild("HumanoidRootPart") then
game.Players.LocalPlayer.Character.HumanoidRootPart.Anchored = false
end
workspace.CurrentCamera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid
end
end
end
end
end)
Autofarms:Toggle("Killaura mobs")
spawn(function()
while wait(0.01) do
if library.flags["Killaura mobs"] then
local entity = workspace.Entities:getChildren()
for i=1,#entity do
if entity[i]:findFirstChild("HumanoidRootPart") then
if game.Players.LocalPlayer.Character:findFirstChild("HumanoidRootPart") then
if (game.Players.LocalPlayer.Character.HumanoidRootPart.Position -
entity[i].HumanoidRootPart.Position).magnitude <= 15 then
refreshTools()
game.Players.LocalPlayer.Character.Humanoid:EquipTool(game.Players.LocalPlayer.Back
pack:findFirstChild(highestWeaponName))
game.ReplicatedStorage.Remotes.Functions["SWING_SWORD"]:InvokeServer({hitUnit =
entity[i]})
end
end
end
end
end
end
end)
Autofarms:Toggle("Tree Autofarm")
spawn(function()
while wait(0.1) do
if library.flags["Tree Autofarm"] then
local blocks = workspace.Islands[game.Players.LocalPlayer.UserId .. "-
island"].Blocks:getChildren()
for i=1,#blocks do
if library.flags["Tree Autofarm"] then
if string.find(blocks[i].Name, "tree") then
local root = blocks[i]
local plantCFrame = blocks[i].CollisionBoxes.Part.CFrame
repeat
wait()
if game.Players.LocalPlayer.Character:findFirstChild("HumanoidRootPart") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = root.CFrame +
Vector3.new(4,0,0)
end
refreshTools()
game.Players.LocalPlayer.Character.Humanoid:EquipTool(game.Players.LocalPlayer.Back
pack:findFirstChild(highestAxeName))
game.ReplicatedStorage.Remotes.Functions["BLOCK_BREAK_REQUEST"]:InvokeServer({block
= blocks[i]})
until blocks[i].Parent == nil
--[[ --removed until i can be bothered to add replanting with the new update
if string.find(blocks[i].Name, "Pine") then
game.ReplicatedStorage.Remotes.Functions["BLOCK_PLACE_REQUEST"]:InvokeServer({block
Type = "saplingPine", cframe = plantCFrame})
elseif string.find(blocks[i].Name, "Birch") then
game.ReplicatedStorage.Remotes.Functions["BLOCK_PLACE_REQUEST"]:InvokeServer({block
Type = "saplingBirch", cframe = plantCFrame})
elseif string.find(blocks[i].Name, "Maple") then
game.ReplicatedStorage.Remotes.Functions["BLOCK_PLACE_REQUEST"]:InvokeServer({block
Type = "saplingMaple", cframe = plantCFrame})
else
game.ReplicatedStorage.Remotes.Functions["BLOCK_PLACE_REQUEST"]:InvokeServer({block
Type = "sapling", cframe = plantCFrame})
end
wait(0.05)
end
--]]
end
end
end
end
end
end)
local selectedAutosmeltOre = ""
Autofarms:Dropdown("Autosmelt ores", {"iron", "gold"}, function(cb)
selectedAutosmeltOre = cb end);
Autofarms:Toggle("Autosmelt")
spawn(function()
while wait(0.1) do
if library.flags["Autosmelt"] then
if selectedAutosmeltOre == "iron" then
function getAmountOfIron()
local bruh = 0
local a = game.Players.LocalPlayer.Backpack:getChildren()
for i=1,#a do
if a[i].Name == "ironOre" then
bruh = bruh+1
end
end
return bruh
end
Autofarms:Toggle("Farm Stone")
Autofarms:Toggle("Farm Coal")
Autofarms:Toggle("Farm Iron")
Autofarms:Toggle("Farm Clay")
spawn(function()
while wait(0.3) do
local rocks = workspace.Islands[game.Players.LocalPlayer.UserId .. "-
island"].Blocks:getChildren()
for i=1,#rocks do
if library.flags["Farm Stone"] or library.flags["Farm Coal"] or library.flags["Farm
Iron"] or library.flags["Farm Clay"] then
if rocks[i]:findFirstChild("RockStage") then
if rocks[i].Name == "rockStone" and library.flags["Farm Stone"] then
local hum = game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart")
repeat
wait()
game.Players.LocalPlayer.Character:findFirstChildOfClass("Humanoid"):ChangeState(11
)
hum.CFrame = rocks[i].CFrame + Vector3.new(0,3.4,0)
refreshTools()
game.Players.LocalPlayer.Character.Humanoid:EquipTool(game.Players.LocalPlayer.Back
pack:findFirstChild(highestPickaxeName))
game.ReplicatedStorage.Remotes.Functions["BLOCK_BREAK_REQUEST"]:InvokeServer({block
= rocks[i]})
until rocks[i].Parent == nil
end
if rocks[i].Name == "rockCoal" and library.flags["Farm Coal"] then
local hum = game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart")
repeat
wait()
game.Players.LocalPlayer.Character:findFirstChildOfClass("Humanoid"):ChangeState(11
)
hum.CFrame = rocks[i].CFrame + Vector3.new(0,3.4,0)
refreshTools()
game.Players.LocalPlayer.Character.Humanoid:EquipTool(game.Players.LocalPlayer.Back
pack:findFirstChild(highestPickaxeName))
game.ReplicatedStorage.Remotes.Functions["BLOCK_BREAK_REQUEST"]:InvokeServer({block
= rocks[i]})
until rocks[i].Parent == nil
end
if rocks[i].Name == "rockIron" and library.flags["Farm Iron"] then
local hum = game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart")
repeat
wait()
game.Players.LocalPlayer.Character:findFirstChildOfClass("Humanoid"):ChangeState(11
)
hum.CFrame = rocks[i].CFrame + Vector3.new(0,3.4,0)
refreshTools()
game.Players.LocalPlayer.Character.Humanoid:EquipTool(game.Players.LocalPlayer.Back
pack:findFirstChild(highestPickaxeName))
game.ReplicatedStorage.Remotes.Functions["BLOCK_BREAK_REQUEST"]:InvokeServer({block
= rocks[i]})
until rocks[i].Parent == nil
end
if rocks[i].Name == "rockClay" and library.flags["Farm Clay"] then
local hum = game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart")
repeat
wait()
game.Players.LocalPlayer.Character:findFirstChildOfClass("Humanoid"):ChangeState(11
)
hum.CFrame = rocks[i].CFrame + Vector3.new(0,3.4,0)
refreshTools()
game.Players.LocalPlayer.Character.Humanoid:EquipTool(game.Players.LocalPlayer.Back
pack:findFirstChild(highestPickaxeName))
game.ReplicatedStorage.Remotes.Functions["BLOCK_BREAK_REQUEST"]:InvokeServer({block
= rocks[i]})
until rocks[i].Parent == nil
end
end
end
end
end
end)
Autofarms:Toggle("Fishing Helper")
function playerFishingBobber()
local a = workspace:getChildren()
for i=1,#a do
if a[i].Name == "Bobber" then
if a[i].Player.Value.Name == game.Players.LocalPlayer.Name then
return a[i]
end
end
end
end
spawn(function()
workspace.ChildAdded:connect(function(new)
if new.Name == "bubbles" then
if library.flags["Fishing Helper"] then
if playerFishingBobber() ~= nil then
game.ReplicatedStorage.Remotes.Functions["PULL_FISHING_ROD"]:InvokeServer({catchAtt
empt = true})
end
end
end
end)
end)
Autofarms:Toggle("TP to Fish")
spawn(function()
while wait(0.1) do
if library.flags["TP to Fish"] then
if workspace:findFirstChild("Fish") then
if playerFishingBobber() == nil then
game.ReplicatedStorage.Remotes.Functions["CAST_FISHING_ROD"]:InvokeServer({playerLo
cation = game.Players.LocalPlayer.Character.HumanoidRootPart.Position, direction =
Vector3.new(0.1,0,0), strength = 200})
end
if playerFishingBobber() ~= nil then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = workspace.Fish.CFrame
wait(0.1)
if workspace:findFirstChild("Fish") then
if playerFishingBobber() ~= nil then
local a = playerFishingBobber()
a.CFrame = workspace.Fish.CFrame
end
end
end
end
end
end
end)
library:Ready();