
KeylessUniversal

local player = game.Players.LocalPlayer
local library = {count = 0, queue = {}, callbacks = {}, rainbowtable = {}, toggled = true, binds = {}};
local defaults; do
local dragger = {}; do
local mouse = game:GetService("Players").LocalPlayer:GetMouse();
local inputService = game:GetService('UserInputService');
local heartbeat = game:GetService("RunService").Heartbeat;
-- // credits to Ririchi / Inori for this cute drag function :)
function dragger.new(frame)
local s, event = pcall(function()
return frame.MouseEnter
end)
if s then
frame.Active = true;
event:connect(function()
local input = frame.InputBegan:connect(function(key)
if key.UserInputType == Enum.UserInputType.MouseButton1 then
local objectPosition = Vector2.new(mouse.X - frame.AbsolutePosition.X, mouse.Y - frame.AbsolutePosition.Y);
while heartbeat:wait() and inputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) do
pcall(function()
frame:TweenPosition(UDim2.new(0, mouse.X - objectPosition.X + (frame.Size.X.Offset * frame.AnchorPoint.X), 0, mouse.Y - objectPosition.Y + (frame.Size.Y.Offset * frame.AnchorPoint.Y)), 'Out', 'Linear', 0.1, true);
end)
end
end
end)
local leave;
leave = frame.MouseLeave:connect(function()
input:disconnect();
leave:disconnect();
end)
end)
end
end
game:GetService('UserInputService').InputBegan:connect(function(key, gpe)
if (not gpe) then
if key.KeyCode == Enum.KeyCode.F15 then
library.toggled = not library.toggled;
for i, data in next, library.queue do
local pos = (library.toggled and data.p or UDim2.new(-1, 0, -0.5,0))
data.w:TweenPosition(pos, (library.toggled and 'Out' or 'In'), 'Quad', 0.15, true)
wait();
end
end
end
end)
end
local types = {}; do
types.__index = types;
function types.window(name, options)
library.count = library.count + 1
local newWindow = library:Create('Frame', {
Name = name;
Size = UDim2.new(0, 190, 0, 30);
BackgroundColor3 = options.topcolor;
BorderSizePixel = 0;
Parent = library.container;
Position = UDim2.new(0, (15 + (200 * library.count) - 200), 0, 0);
ZIndex = 3;
library:Create('TextLabel', {
Text = name;
Size = UDim2.new(1, -10, 1, 0);
Position = UDim2.new(0, 5, 0, 0);
BackgroundTransparency = 1;
Font = Enum.Font.Code;
TextSize = options.titlesize;
Font = options.titlefont;
TextColor3 = options.titletextcolor;
TextStrokeTransparency = library.options.titlestroke;
TextStrokeColor3 = library.options.titlestrokecolor;
ZIndex = 3;
});
library:Create("TextButton", {
Size = UDim2.new(0, 30, 0, 30);
Position = UDim2.new(1, -35, 0, 0);
BackgroundTransparency = 1;
Text = "-";
TextSize = options.titlesize;
Font = options.titlefont;--Enum.Font.Code;
Name = 'window_toggle';
TextColor3 = options.titletextcolor;
TextStrokeTransparency = library.options.titlestroke;
TextStrokeColor3 = library.options.titlestrokecolor;
ZIndex = 3;
});
library:Create("Frame", {
Name = 'Underline';
Size = UDim2.new(1, 0, 0, 2);
Position = UDim2.new(0, 0, 1, -2);
BackgroundColor3 = (options.underlinecolor ~= "rainbow" and options.underlinecolor or Color3.new());
BorderSizePixel = 0;
ZIndex = 3;
});
library:Create('Frame', {
Name = 'container';
Position = UDim2.new(0, 0, 1, 0);
Size = UDim2.new(1, 0, 0, 0);
BorderSizePixel = 0;
BackgroundColor3 = options.bgcolor;
ClipsDescendants = false;
library:Create('UIListLayout', {
Name = 'List';
SortOrder = Enum.SortOrder.LayoutOrder;
})
});
})
if options.underlinecolor == "rainbow" then
table.insert(library.rainbowtable, newWindow:FindFirstChild('Underline'))
end
local window = setmetatable({
count = 0;
object = newWindow;
container = newWindow.container;
toggled = true;
flags = {};
}, types)
table.insert(library.queue, {
w = window.object;
p = window.object.Position;
})
newWindow:FindFirstChild("window_toggle").MouseButton1Click:connect(function()
window.toggled = not window.toggled;
newWindow:FindFirstChild("window_toggle").Text = (window.toggled and "+" or "-")
if (not window.toggled) then
window.container.ClipsDescendants = true;
end
wait();
local y = 0;
for i, v in next, window.container:GetChildren() do
if (not v:IsA('UIListLayout')) then
y = y + v.AbsoluteSize.Y;
end
end
local targetSize = window.toggled and UDim2.new(1, 0, 0, y+5) or UDim2.new(1, 0, 0, 0);
local targetDirection = window.toggled and "In" or "Out"
window.container:TweenSize(targetSize, targetDirection, "Quad", 0.15, true)
wait(.15)
if window.toggled then
window.container.ClipsDescendants = false;
end
end)
return window;
end
function types:Resize()
local y = 0;
for i, v in next, self.container:GetChildren() do
if (not v:IsA('UIListLayout')) then
y = y + v.AbsoluteSize.Y;
end
end
self.container.Size = UDim2.new(1, 0, 0, y+5)
end
function types:GetOrder()
local c = 0;
for i, v in next, self.container:GetChildren() do
if (not v:IsA('UIListLayout')) then
c = c + 1
end
end
return c
end
function types:Label(text)
local v = game:GetService'TextService':GetTextSize(text, 18, Enum.Font.SourceSans, Vector2.new(math.huge, math.huge))
local object = library:Create('Frame', {
Size = UDim2.new(1, 0, 0, v.Y + 5);
BackgroundTransparency = 1;
library:Create('TextLabel', {
Size = UDim2.new(1, 0, 1, 0);
Position = UDim2.new(0, 10, 0, 0);
LayoutOrder = self:GetOrder();
Text = text;
TextSize = 18;
Font = Enum.Font.SourceSans;
TextColor3 = Color3.fromRGB(255, 255, 255);
BackgroundTransparency = 1;
TextXAlignment = Enum.TextXAlignment.Left;
TextWrapped = true;
});
Parent = self.container
})
self:Resize();
end
function types:Toggle(name, options, callback)
local default = options.default or false;
local location = options.location or self.flags;
local flag = options.flag or "";
local callback = callback or function() end;
location[flag] = default;
local check = library:Create('Frame', {
BackgroundTransparency = 1;
Size = UDim2.new(1, 0, 0, 25);
LayoutOrder = self:GetOrder();
library:Create('TextLabel', {
Name = name;
Text = "\r" .. name;
BackgroundTransparency = 1;
TextColor3 = library.options.textcolor;
Position = UDim2.new(0, 5, 0, 0);
Size = UDim2.new(1, -5, 1, 0);
TextXAlignment = Enum.TextXAlignment.Left;
Font = library.options.font;
TextSize = library.options.fontsize;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
library:Create('TextButton', {
Text = (location[flag] and utf8.char(10003) or "");
Font = library.options.font;
TextSize = library.options.fontsize;
Name = 'Checkmark';
Size = UDim2.new(0, 20, 0, 20);
Position = UDim2.new(1, -25, 0, 4);
TextColor3 = library.options.textcolor;
BackgroundColor3 = library.options.bgcolor;
BorderColor3 = library.options.bordercolor;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
})
});
Parent = self.container;
});
local function click(t)
location[flag] = not location[flag];
callback(location[flag])
check:FindFirstChild(name).Checkmark.Text = location[flag] and utf8.char(10003) or "";
end
check:FindFirstChild(name).Checkmark.MouseButton1Click:connect(click)
library.callbacks[flag] = click;
if location[flag] == true then
callback(location[flag])
end
self:Resize();
return {
Set = function(self, b)
location[flag] = b;
callback(location[flag])
check:FindFirstChild(name).Checkmark.Text = location[flag] and utf8.char(10003) or "";
end
}
end
function types:Button(name, callback)
callback = callback or function() end;
local check = library:Create('Frame', {
BackgroundTransparency = 1;
Size = UDim2.new(1, 0, 0, 25);
LayoutOrder = self:GetOrder();
library:Create('TextButton', {
Name = name;
Text = name;
BackgroundColor3 = library.options.btncolor;
BorderColor3 = library.options.bordercolor;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
TextColor3 = library.options.textcolor;
Position = UDim2.new(0, 5, 0, 5);
Size = UDim2.new(1, -10, 0, 20);
Font = library.options.font;
TextSize = library.options.fontsize;
});
Parent = self.container;
});
check:FindFirstChild(name).MouseButton1Click:connect(callback)
self:Resize();
return {
Fire = function()
callback();
end
}
end
function types:Box(name, options, callback) --type, default, data, location, flag)
local type = options.type or "";
local default = options.default or "";
local data = options.data
local location = options.location or self.flags;
local flag = options.flag or "";
local callback = callback or function() end;
local min = options.min or 0;
local max = options.max or 9e9;
if type == 'number' and (not tonumber(default)) then
location[flag] = default;
else
location[flag] = "";
default = "";
end
local check = library:Create('Frame', {
BackgroundTransparency = 1;
Size = UDim2.new(1, 0, 0, 25);
LayoutOrder = self:GetOrder();
library:Create('TextLabel', {
Name = name;
Text = "\r" .. name;
BackgroundTransparency = 1;
TextColor3 = library.options.textcolor;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
Position = UDim2.new(0, 5, 0, 0);
Size = UDim2.new(1, -5, 1, 0);
TextXAlignment = Enum.TextXAlignment.Left;
Font = library.options.font;
TextSize = library.options.fontsize;
library:Create('TextBox', {
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
Text = tostring(default);
Font = library.options.font;
TextSize = library.options.fontsize;
Name = 'Box';
Size = UDim2.new(0, 60, 0, 20);
Position = UDim2.new(1, -65, 0, 3);
TextColor3 = library.options.textcolor;
BackgroundColor3 = library.options.boxcolor;
BorderColor3 = library.options.bordercolor;
PlaceholderColor3 = library.options.placeholdercolor;
})
});
Parent = self.container;
});
local box = check:FindFirstChild(name):FindFirstChild('Box');
box.FocusLost:connect(function(e)
local old = location[flag];
if type == "number" then
local num = tonumber(box.Text)
if (not num) then
box.Text = tonumber(location[flag])
else
location[flag] = math.clamp(num, min, max)
box.Text = tonumber(location[flag])
end
else
location[flag] = tostring(box.Text)
end
callback(location[flag], old, e)
end)
if type == 'number' then
box:GetPropertyChangedSignal('Text'):connect(function()
box.Text = string.gsub(box.Text, "[%a+]", "");
end)
end
self:Resize();
return box
end
function types:Bind(name, options, callback)
local location = options.location or self.flags;
local keyboardOnly = options.kbonly or false
local flag = options.flag or "";
local callback = callback or function() end;
local default = options.default;
if keyboardOnly and (not tostring(default):find('MouseButton')) then
location[flag] = default
end
local banned = {
Return = true;
Space = true;
Tab = true;
Unknown = true;
}
local shortNames = {
RightControl = 'RightCtrl';
LeftControl = 'LeftCtrl';
LeftShift = 'LShift';
RightShift = 'RShift';
MouseButton1 = "Mouse1";
MouseButton2 = "Mouse2";
}
local allowed = {
MouseButton1 = true;
MouseButton2 = true;
}
local nm = (default and (shortNames[default.Name] or default.Name) or "None");
local check = library:Create('Frame', {
BackgroundTransparency = 1;
Size = UDim2.new(1, 0, 0, 30);
LayoutOrder = self:GetOrder();
library:Create('TextLabel', {
Name = name;
Text = "\r" .. name;
BackgroundTransparency = 1;
TextColor3 = library.options.textcolor;
Position = UDim2.new(0, 5, 0, 0);
Size = UDim2.new(1, -5, 1, 0);
TextXAlignment = Enum.TextXAlignment.Left;
Font = library.options.font;
TextSize = library.options.fontsize;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
BorderColor3 = library.options.bordercolor;
BorderSizePixel = 1;
library:Create('TextButton', {
Name = 'Keybind';
Text = nm;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
Font = library.options.font;
TextSize = library.options.fontsize;
Size = UDim2.new(0, 60, 0, 20);
Position = UDim2.new(1, -65, 0, 5);
TextColor3 = library.options.textcolor;
BackgroundColor3 = library.options.bgcolor;
BorderColor3 = library.options.bordercolor;
BorderSizePixel = 1;
})
});
Parent = self.container;
});
local button = check:FindFirstChild(name).Keybind;
button.MouseButton1Click:connect(function()
library.binding = true
button.Text = "..."
local a, b = game:GetService('UserInputService').InputBegan:wait();
local name = tostring(a.KeyCode.Name);
local typeName = tostring(a.UserInputType.Name);
if (a.UserInputType ~= Enum.UserInputType.Keyboard and (allowed[a.UserInputType.Name]) and (not keyboardOnly)) or (a.KeyCode and (not banned[a.KeyCode.Name])) then
local name = (a.UserInputType ~= Enum.UserInputType.Keyboard and a.UserInputType.Name or a.KeyCode.Name);
location[flag] = (a);
button.Text = shortNames[name] or name;
else
if (location[flag]) then
if (not pcall(function()
return location[flag].UserInputType
end)) then
local name = tostring(location[flag])
button.Text = shortNames[name] or name
else
local name = (location[flag].UserInputType ~= Enum.UserInputType.Keyboard and location[flag].UserInputType.Name or location[flag].KeyCode.Name);
button.Text = shortNames[name] or name;
end
end
end
wait(0.1)
library.binding = false;
end)
if location[flag] then
button.Text = shortNames[tostring(location[flag].Name)] or tostring(location[flag].Name)
end
library.binds[flag] = {
location = location;
callback = callback;
};
self:Resize();
end
function types:Section(name)
local order = self:GetOrder();
local determinedSize = UDim2.new(1, 0, 0, 25)
local determinedPos = UDim2.new(0, 0, 0, 4);
local secondarySize = UDim2.new(1, 0, 0, 20);
if order == 0 then
determinedSize = UDim2.new(1, 0, 0, 21)
determinedPos = UDim2.new(0, 0, 0, -1);
secondarySize = nil
end
local check = library:Create('Frame', {
Name = 'Section';
BackgroundTransparency = 1;
Size = determinedSize;
BackgroundColor3 = library.options.sectncolor;
BorderSizePixel = 0;
LayoutOrder = order;
library:Create('TextLabel', {
Name = 'section_lbl';
Text = name;
BackgroundTransparency = 0;
BorderSizePixel = 0;
BackgroundColor3 = library.options.sectncolor;
TextColor3 = library.options.textcolor;
Position = determinedPos;
Size = (secondarySize or UDim2.new(1, 0, 1, 0));
Font = library.options.font;
TextSize = library.options.fontsize;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
});
Parent = self.container;
});
self:Resize();
end
function types:Slider(name, options, callback)
local default = options.default or options.min;
local min = options.min or 0;
local max = options.max or 1;
local location = options.location or self.flags;
local precise = options.precise or false -- e.g 0, 1 vs 0, 0.1, 0.2, ...
local flag = options.flag or "";
local callback = callback or function() end
location[flag] = default;
local check = library:Create('Frame', {
BackgroundTransparency = 1;
Size = UDim2.new(1, 0, 0, 25);
LayoutOrder = self:GetOrder();
library:Create('TextLabel', {
Name = name;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
Text = "\r" .. name;
BackgroundTransparency = 1;
TextColor3 = library.options.textcolor;
Position = UDim2.new(0, 5, 0, 2);
Size = UDim2.new(1, -5, 1, 0);
TextXAlignment = Enum.TextXAlignment.Left;
Font = library.options.font;
TextSize = library.options.fontsize;
library:Create('Frame', {
Name = 'Container';
Size = UDim2.new(0, 60, 0, 20);
Position = UDim2.new(1, -65, 0, 3);
BackgroundTransparency = 1;
--BorderColor3 = library.options.bordercolor;
BorderSizePixel = 0;
library:Create('TextLabel', {
Name = 'ValueLabel';
Text = default;
BackgroundTransparency = 1;
TextColor3 = library.options.textcolor;
Position = UDim2.new(0, -10, 0, 0);
Size = UDim2.new(0, 1, 1, 0);
TextXAlignment = Enum.TextXAlignment.Right;
Font = library.options.font;
TextSize = library.options.fontsize;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
});
library:Create('TextButton', {
Name = 'Button';
Size = UDim2.new(0, 5, 1, -2);
Position = UDim2.new(0, 0, 0, 1);
AutoButtonColor = false;
Text = "";
BackgroundColor3 = Color3.fromRGB(20, 20, 20);
BorderSizePixel = 0;
ZIndex = 2;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
});
library:Create('Frame', {
Name = 'Line';
BackgroundTransparency = 0;
Position = UDim2.new(0, 0, 0.5, 0);
Size = UDim2.new(1, 0, 0, 1);
BackgroundColor3 = Color3.fromRGB(255, 255, 255);
BorderSizePixel = 0;
});
})
});
Parent = self.container;
});
local overlay = check:FindFirstChild(name);
local renderSteppedConnection;
local inputBeganConnection;
local inputEndedConnection;
local mouseLeaveConnection;
local mouseDownConnection;
local mouseUpConnection;
check:FindFirstChild(name).Container.MouseEnter:connect(function()
local function update()
if renderSteppedConnection then renderSteppedConnection:disconnect() end
renderSteppedConnection = game:GetService('RunService').RenderStepped:connect(function()
local mouse = game:GetService("UserInputService"):GetMouseLocation()
local percent = (mouse.X - overlay.Container.AbsolutePosition.X) / (overlay.Container.AbsoluteSize.X)
percent = math.clamp(percent, 0, 1)
percent = tonumber(string.format("%.2f", percent))
overlay.Container.Button.Position = UDim2.new(math.clamp(percent, 0, 0.99), 0, 0, 1)
local num = min + (max - min) * percent
local value = (precise and num or math.floor(num))
overlay.Container.ValueLabel.Text = value;
callback(tonumber(value))
location[flag] = tonumber(value)
end)
end
local function disconnect()
if renderSteppedConnection then renderSteppedConnection:disconnect() end
if inputBeganConnection then inputBeganConnection:disconnect() end
if inputEndedConnection then inputEndedConnection:disconnect() end
if mouseLeaveConnection then mouseLeaveConnection:disconnect() end
if mouseUpConnection then mouseUpConnection:disconnect() end
end
inputBeganConnection = check:FindFirstChild(name).Container.InputBegan:connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
update()
end
end)
inputEndedConnection = check:FindFirstChild(name).Container.InputEnded:connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
disconnect()
end
end)
mouseDownConnection = check:FindFirstChild(name).Container.Button.MouseButton1Down:connect(update)
mouseUpConnection = game:GetService("UserInputService").InputEnded:connect(function(a, b)
if a.UserInputType == Enum.UserInputType.MouseButton1 and (mouseDownConnection.Connected) then
disconnect()
end
end)
end)
if default ~= min then
local percent = 1 - ((max - default) / (max - min))
local number = default
number = tonumber(string.format("%.2f", number))
if (not precise) then
number = math.floor(number)
end
overlay.Container.Button.Position = UDim2.new(math.clamp(percent, 0, 0.99), 0, 0, 1)
overlay.Container.ValueLabel.Text = number
end
self:Resize();
return {
Set = function(self, value)
local percent = 1 - ((max - value) / (max - min))
local number = value
number = tonumber(string.format("%.2f", number))
if (not precise) then
number = math.floor(number)
end
overlay.Container.Button.Position = UDim2.new(math.clamp(percent, 0, 0.99), 0, 0, 1)
overlay.Container.ValueLabel.Text = number
location[flag] = number
callback(number)
end
}
end
function types:SearchBox(text, options, callback)
local list = options.list or {};
local flag = options.flag or "";
local location = options.location or self.flags;
local callback = callback or function() end;
local busy = false;
local box = library:Create('Frame', {
BackgroundTransparency = 1;
Size = UDim2.new(1, 0, 0, 25);
LayoutOrder = self:GetOrder();
library:Create('TextBox', {
Text = "";
PlaceholderText = text;
PlaceholderColor3 = Color3.fromRGB(60, 60, 60);
Font = library.options.font;
TextSize = library.options.fontsize;
Name = 'Box';
Size = UDim2.new(1, -10, 0, 20);
Position = UDim2.new(0, 5, 0, 4);
TextColor3 = library.options.textcolor;
BackgroundColor3 = library.options.dropcolor;
BorderColor3 = library.options.bordercolor;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
library:Create('ScrollingFrame', {
Position = UDim2.new(0, 0, 1, 1);
Name = 'Container';
BackgroundColor3 = library.options.btncolor;
ScrollBarThickness = 0;
BorderSizePixel = 0;
BorderColor3 = library.options.bordercolor;
Size = UDim2.new(1, 0, 0, 0);
library:Create('UIListLayout', {
Name = 'ListLayout';
SortOrder = Enum.SortOrder.LayoutOrder;
});
ZIndex = 2;
});
});
Parent = self.container;
})
local function rebuild(text)
box:FindFirstChild('Box').Container.ScrollBarThickness = 0
for i, child in next, box:FindFirstChild('Box').Container:GetChildren() do
if (not child:IsA('UIListLayout')) then
child:Destroy();
end
end
if #text > 0 then
for i, v in next, list do
if string.sub(string.lower(v), 1, string.len(text)) == string.lower(text) then
local button = library:Create('TextButton', {
Text = v;
Font = library.options.font;
TextSize = library.options.fontsize;
TextColor3 = library.options.textcolor;
BorderColor3 = library.options.bordercolor;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
Parent = box:FindFirstChild('Box').Container;
Size = UDim2.new(1, 0, 0, 20);
LayoutOrder = i;
BackgroundColor3 = library.options.btncolor;
ZIndex = 2;
})
button.MouseButton1Click:connect(function()
busy = true;
box:FindFirstChild('Box').Text = button.Text;
wait();
busy = false;
location[flag] = button.Text;
callback(location[flag])
box:FindFirstChild('Box').Container.ScrollBarThickness = 0
for i, child in next, box:FindFirstChild('Box').Container:GetChildren() do
if (not child:IsA('UIListLayout')) then
child:Destroy();
end
end
box:FindFirstChild('Box').Container:TweenSize(UDim2.new(1, 0, 0, 0), 'Out', 'Quad', 0.25, true)
end)
end
end
end
local c = box:FindFirstChild('Box').Container:GetChildren()
local ry = (20 * (#c)) - 20
local y = math.clamp((20 * (#c)) - 20, 0, 100)
if ry > 100 then
box:FindFirstChild('Box').Container.ScrollBarThickness = 5;
end
box:FindFirstChild('Box').Container:TweenSize(UDim2.new(1, 0, 0, y), 'Out', 'Quad', 0.25, true)
box:FindFirstChild('Box').Container.CanvasSize = UDim2.new(1, 0, 0, (20 * (#c)) - 20)
end
box:FindFirstChild('Box'):GetPropertyChangedSignal('Text'):connect(function()
if (not busy) then
rebuild(box:FindFirstChild('Box').Text)
end
end);
local function reload(new_list)
list = new_list;
rebuild("")
end
self:Resize();
return reload, box:FindFirstChild('Box');
end
function types:Dropdown(name, options, callback)
local location = options.location or self.flags;
local flag = options.flag or "";
local callback = callback or function() end;
local list = options.list or {};
location[flag] = list[1]
local check = library:Create('Frame', {
BackgroundTransparency = 1;
Size = UDim2.new(1, 0, 0, 25);
BackgroundColor3 = Color3.fromRGB(25, 25, 25);
BorderSizePixel = 0;
LayoutOrder = self:GetOrder();
library:Create('Frame', {
Name = 'dropdown_lbl';
BackgroundTransparency = 0;
BackgroundColor3 = library.options.dropcolor;
Position = UDim2.new(0, 5, 0, 4);
BorderColor3 = library.options.bordercolor;
Size = UDim2.new(1, -10, 0, 20);
library:Create('TextLabel', {
Name = 'Selection';
Size = UDim2.new(1, 0, 1, 0);
Text = list[1];
TextColor3 = library.options.textcolor;
BackgroundTransparency = 1;
Font = library.options.font;
TextSize = library.options.fontsize;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
});
library:Create("TextButton", {
Name = 'drop';
BackgroundTransparency = 1;
Size = UDim2.new(0, 20, 1, 0);
Position = UDim2.new(1, -25, 0, 0);
Text = 'v';
TextColor3 = library.options.textcolor;
Font = library.options.font;
TextSize = library.options.fontsize;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
})
});
Parent = self.container;
});
local button = check:FindFirstChild('dropdown_lbl').drop;
local input;
button.MouseButton1Click:connect(function()
if (input and input.Connected) then
return
end
check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').TextColor3 = Color3.fromRGB(60, 60, 60);
check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').Text = name;
local c = 0;
for i, v in next, list do
c = c + 20;
end
local size = UDim2.new(1, 0, 0, c)
local clampedSize;
local scrollSize = 0;
if size.Y.Offset > 100 then
clampedSize = UDim2.new(1, 0, 0, 100)
scrollSize = 5;
end
local goSize = (clampedSize ~= nil and clampedSize) or size;
local container = library:Create('ScrollingFrame', {
TopImage = 'rbxasset://textures/ui/Scroll/scroll-middle.png';
BottomImage = 'rbxasset://textures/ui/Scroll/scroll-middle.png';
Name = 'DropContainer';
Parent = check:FindFirstChild('dropdown_lbl');
Size = UDim2.new(1, 0, 0, 0);
BackgroundColor3 = library.options.bgcolor;
BorderColor3 = library.options.bordercolor;
Position = UDim2.new(0, 0, 1, 0);
ScrollBarThickness = scrollSize;
CanvasSize = UDim2.new(0, 0, 0, size.Y.Offset);
ZIndex = 5;
ClipsDescendants = true;
library:Create('UIListLayout', {
Name = 'List';
SortOrder = Enum.SortOrder.LayoutOrder
})
})
for i, v in next, list do
local btn = library:Create('TextButton', {
Size = UDim2.new(1, 0, 0, 20);
BackgroundColor3 = library.options.btncolor;
BorderColor3 = library.options.bordercolor;
Text = v;
Font = library.options.font;
TextSize = library.options.fontsize;
LayoutOrder = i;
Parent = container;
ZIndex = 5;
TextColor3 = library.options.textcolor;
TextStrokeTransparency = library.options.textstroke;
TextStrokeColor3 = library.options.strokecolor;
})
btn.MouseButton1Click:connect(function()
check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').TextColor3 = library.options.textcolor
check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').Text = btn.Text;
location[flag] = tostring(btn.Text);
callback(location[flag])
game:GetService('Debris'):AddItem(container, 0)
input:disconnect();
end)
end
container:TweenSize(goSize, 'Out', 'Quad', 0.15, true)
local function isInGui(frame)
local mloc = game:GetService('UserInputService'):GetMouseLocation();
local mouse = Vector2.new(mloc.X, mloc.Y - 36);
local x1, x2 = frame.AbsolutePosition.X, frame.AbsolutePosition.X + frame.AbsoluteSize.X;
local y1, y2 = frame.AbsolutePosition.Y, frame.AbsolutePosition.Y + frame.AbsoluteSize.Y;
return (mouse.X >= x1 and mouse.X <= x2) and (mouse.Y >= y1 and mouse.Y <= y2)
end
input = game:GetService('UserInputService').InputBegan:connect(function(a)
if a.UserInputType == Enum.UserInputType.MouseButton1 and (not isInGui(container)) then
check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').TextColor3 = library.options.textcolor
check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').Text = location[flag];
container:TweenSize(UDim2.new(1, 0, 0, 0), 'In', 'Quad', 0.15, true)
wait(0.15)
game:GetService('Debris'):AddItem(container, 0)
input:disconnect();
end
end)
end)
self:Resize();
local function reload(self, array)
options = array;
location[flag] = array[1];
pcall(function()
input:disconnect()
end)
check:WaitForChild('dropdown_lbl').Selection.Text = location[flag]
check:FindFirstChild('dropdown_lbl'):WaitForChild('Selection').TextColor3 = library.options.textcolor
game:GetService('Debris'):AddItem(container, 0)
end
return {
Refresh = reload;
}
end
end
function library:Create(class, data)
local obj = Instance.new(class);
for i, v in next, data do
if i ~= 'Parent' then
if typeof(v) == "Instance" then
v.Parent = obj;
else
obj[i] = v
end
end
end
obj.Parent = data.Parent;
return obj
end
function library:CreateWindow(name, options)
if (not library.container) then
library.container = self:Create("ScreenGui", {
self:Create('Frame', {
Name = 'Container';
Size = UDim2.new(1, -30, 1, 0);
Position = UDim2.new(0, 20, 0, 20);
BackgroundTransparency = 1;
Active = false;
});
Parent = game:GetService("CoreGui");
}):FindFirstChild('Container');
end
if (not library.options) then
library.options = setmetatable(options or {}, {__index = defaults})
end
local window = types.window(name, library.options);
dragger.new(window.object);
return window
end
default = {
topcolor = Color3.fromRGB(30, 30, 30);
titlecolor = Color3.fromRGB(255, 255, 255);
underlinecolor = Color3.fromRGB(0, 255, 140);
bgcolor = Color3.fromRGB(35, 35, 35);
boxcolor = Color3.fromRGB(35, 35, 35);
btncolor = Color3.fromRGB(25, 25, 25);
dropcolor = Color3.fromRGB(25, 25, 25);
sectncolor = Color3.fromRGB(25, 25, 25);
bordercolor = Color3.fromRGB(80, 80, 80);
font = Enum.Font.SourceSans;
titlefont = Enum.Font.Code;
fontsize = 17;
titlesize = 18;
textstroke = 1;
titlestroke = 1;
strokecolor = Color3.fromRGB(0, 0, 0);
textcolor = Color3.fromRGB(255, 255, 255);
titletextcolor = Color3.fromRGB(255, 255, 255);
placeholdercolor = Color3.fromRGB(255, 255, 255);
titlestrokecolor = Color3.fromRGB(0, 0, 0);
}
library.options = setmetatable({}, {__index = default})
spawn(function()
while true do
for i=0, 1, 1 / 300 do
for _, obj in next, library.rainbowtable do
obj.BackgroundColor3 = Color3.fromHSV(i, 1, 1);
end
wait()
end;
end
end)
local function isreallypressed(bind, inp)
local key = bind
if typeof(key) == "Instance" then
if key.UserInputType == Enum.UserInputType.Keyboard and inp.KeyCode == key.KeyCode then
return true;
elseif tostring(key.UserInputType):find('MouseButton') and inp.UserInputType == key.UserInputType then
return true
end
end
if tostring(key):find'MouseButton1' then
return key == inp.UserInputType
else
return key == inp.KeyCode
end
end
game:GetService("UserInputService").InputBegan:connect(function(input)
if (not library.binding) then
for idx, binds in next, library.binds do
local real_binding = binds.location[idx];
if real_binding and isreallypressed(real_binding, input) then
binds.callback()
end
end
end
end)
end
library.options.underlinecolor = "rainbow"
-- Farming Tab
local Farming = library:CreateWindow("Farming")
Farming:Section("- Karma Farms -")
local GK = Farming:Toggle("Auto-Good Karma", {flag = "GK"})
local BK = Farming:Toggle("Auto-Bad Karma", {flag = "BK"})
Farming:Section("- Ultra Coins -")
local Swing = Farming:Toggle("Auto-Swing", {flag = "Swing"})
local Sell = Farming:Toggle("Auto-Sell", {flag = "Sell"})
local BackpackFull = Farming:Toggle("Auto-Full Sell", {flag = "FullSell"})
Farming:Section("- Ultra Chi -")
local Chi = Farming:Toggle("Auto-Chi", {flag = "Chi"})
Farming:Section("- Boss Farms -")
local Boss = Farming:Toggle("Auto-Robot Boss", {flag = "Boss"})
local ETBoss = Farming:Toggle("Auto-Eternal Boss", {flag = "EBoss"})
local AMBoss = Farming:Toggle("Auto-Ancient Boss", {flag = "ABoss"})
local SNB = Farming:Toggle("Auto-Santa Boss", {flag = "SBoss"})
local AllBoss = Farming:Toggle("Auto-All Bosses", {flag = "AllBosses"})
Farming:Section("- Give Pet Levels -")
local EAR = Farming:Toggle("Auto-Pet Levels", {flag = "L"})
-- Auto-Buy Tab
local AutoBuy = library:CreateWindow("Auto-Buy")
AutoBuy:Section("- Auto-Buy Stuff -")
local Rank = AutoBuy:Toggle("Auto-Rank", {flag = "Rank"})
local Sword = AutoBuy:Toggle("Auto-Sword", {flag = "Sword"})
local Belt = AutoBuy:Toggle("Auto-Belt", {flag = "Belt"})
local Skill = AutoBuy:Toggle("Auto-Skills", {flag = "Skill"})
local Shuriken = AutoBuy:Toggle("Auto-Shurikens", {flag = "Shurikens"})
_G.Enabled = AutoBuy.flags.Purchase
_G.Sword = AutoBuy.flags.Sword
_G.Belt = AutoBuy.flags.Belt
_G.Rank = AutoBuy.flags.Rank
_G.Skill = AutoBuy.flags.Skill
local Pets = library:CreateWindow("Pet Stuff")
-- Open Pets
Pets:Section("- Open Pets -")
local Settings = {}
local Crystals = {}
for i,v in next, game.workspace.mapCrystalsFolder:GetChildren() do
if v then
table.insert(Crystals,v.Name)
end
end
Pets:Dropdown('Crystals', {location = Settings, flag = "Crystal", list = Crystals})
Pets:Toggle("Open Eggs", {location = Settings, flag = "TEgg"})
-- Pet Options
Pets:Section("- Pet Options -")
local Evolve = Pets:Toggle("Auto-Evolve", {flag = "Evolve"})
local Eternalise = Pets:Toggle("Auto-Eternalise", {flag = "Eternalise"})
local Immortalize = Pets:Toggle("Auto-Immortalize", {flag = "Immortalize"})
local Legend = Pets:Toggle("Auto-Legend", {flag = "Legend"})
local Elemental = Pets:Toggle("Auto-Elementalize", {flag = "Elemental"})
-- Sell Pets
Pets:Section("- Sell Pets -")
local Basic = Pets:Toggle("Sell All Basic", {flag = "SBasic"})
local Advanced = Pets:Toggle("Sell All Advanced", {flag = "SAdvanced"})
local Rare = Pets:Toggle("Sell All Rare", {flag = "SRare"})
local Epic = Pets:Toggle("Sell All Epic", {flag = "SEpic"})
local Unique = Pets:Toggle("Sell All Unique", {flag = "SUnique"})
local Omega = Pets:Toggle("Sell All Omega", {flag = "SOmega"})
local Elite = Pets:Toggle("Sell All Elite", {flag = "SElite"})
local Infinity = Pets:Toggle("Sell All Infinity", {flag = "SInfinity"})
-- Sell Seperate Pets Tab
local Pets2 = library:CreateWindow("More Pet Stuff")
Pets2:Section("- Sell Separate Pets -")
local Pet1 = Pets2:Toggle("Sell All Winter Kitty", {flag = "S1"})
local Pet2 = Pets2:Toggle("Sell All Polar Bear", {flag = "S2"})
local Pet3 = Pets2:Toggle("Sell All Sensei Reindeer", {flag = "S3"})
local Pet4 = Pets2:Toggle("Sell All Dark Penguin", {flag = "S4"})
local Pet5 = Pets2:Toggle("Sell All Sleigh Rider", {flag = "S5"})
-- Misc
local Misc = library:CreateWindow("Misc")
Misc:Section("- Other OP Scripts -")
local Shuriken = Misc:Toggle("Fast Shuriken", {flag = "Fast"})
local Shuriken2 = Misc:Toggle("Slow Shuriken", {flag = "Slow"})
local Invis = Misc:Toggle("Invisibility", {flag = "Invis"})
-- Collect All Chest
local ChestCollect = Misc:Button("Collect All Chest", function()
game:GetService("Workspace").mythicalChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(3.5)
game:GetService("Workspace").goldenChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(3.5)
game:GetService("Workspace").enchantedChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(3.5)
game:GetService("Workspace").magmaChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(3.5)
game:GetService("Workspace").legendsChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(3.5)
game:GetService("Workspace").eternalChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(3.5)
game:GetService("Workspace").saharaChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(3.5)
game:GetService("Workspace").thunderChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(3.5)
game:GetService("Workspace").ancientChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(3.5)
game:GetService("Workspace").midnightShadowChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(3.5)
game:GetService("Workspace").groupRewardsCircle["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(3.5)
game:GetService("Workspace")["Daily Chest"].circleInner.CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(3.5)
game:GetService("Workspace")["wonderChest"].circleInner.CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(3.5)
game:GetService("Workspace").wonderChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
game:GetService("Workspace").midnightShadowChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
game:GetService("Workspace").ancientChest["circleInner"].CFrame = game.Workspace.Part.CFrame
game:GetService("Workspace").midnightShadowChest["circleInner"].CFrame = game.Workspace.Part.CFrame
game:GetService("Workspace").thunderChest["circleInner"].CFrame = game.Workspace.Part.CFrame
game:GetService("Workspace").saharaChest["circleInner"].CFrame = game.Workspace.Part.CFrame
game:GetService("Workspace").eternalChest["circleInner"].CFrame = game.Workspace.Part.CFrame
game:GetService("Workspace").legendsChest["circleInner"].CFrame = game.Workspace.Part.CFrame
game:GetService("Workspace").magmaChest["circleInner"].CFrame = game.Workspace.Part.CFrame
game:GetService("Workspace").enchantedChest["circleInner"].CFrame = game.Workspace.Part.CFrame
game:GetService("Workspace").goldenChest["circleInner"].CFrame = game.Workspace.Part.CFrame
game:GetService("Workspace").mythicalChest["circleInner"].CFrame = game.Workspace.Part.CFrame
game:GetService("Workspace").groupRewardsCircle["circleInner"].CFrame = game.Workspace.Part.CFrame
game:GetService("Workspace")["Daily Chest"].circleInner.CFrame = game.Workspace.Part.CFrame
end)
-- Collect Light Karma Chest
local LightKarma = Misc:Button("Collect Light Chest", function()
game:GetService("Workspace").lightKarmaChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(5)
game:GetService("Workspace").lightKarmaChest["circleInner"].CFrame = game.Workspace.Part.CFrame
end)
-- Collect Dark Karma Chest
local ChestCollect = Misc:Button("Collect Evil Chest", function()
game:GetService("Workspace").evilKarmaChest["circleInner"].CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
wait(5)
game:GetService("Workspace").evilKarmaChest["circleInner"].CFrame = game.Workspace.Part.CFrame
end)
-- Unlock All Islands
local UnlockIsland = Misc:Button("Unlock Islands", function()
for i,v in next, game.workspace.islandUnlockParts:GetChildren() do
if v then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = v.islandSignPart.CFrame;
wait(.5)
end
end
end)
-- Max Jump
local MaxJP = Misc:Button("Max Jumps", function()
while wait(.0001) do
game.Players.LocalPlayer.multiJumpCount.Value = "50"
end
end)
-- Hide Name
local HideName = Misc:Button("Hide Name", function()
local plrname = game.Players.LocalPlayer.Name
workspace[plrname].Head.nameGui:Destroy()
end)
-- ESP
local ESP = Misc:Button("ESP", function()
function isnil(thing)
return (thing == nil)
end
local function round(n)
return math.floor(tonumber(n) + 0.5)
end
function UpdatePlayerChams()
for i,v in pairs(game:GetService'Players':GetChildren()) do
pcall(function()
if not isnil(v.Character) then
for _,k in pairs(v.Character:GetChildren()) do
if k:IsA'BasePart' and not k:FindFirstChild'Cham' then
local cham = Instance.new('BoxHandleAdornment',k)
cham.ZIndex= 10
cham.Adornee=k
cham.AlwaysOnTop=true
cham.Size=k.Size
cham.Transparency=.8
cham.Color3=Color3.new(0,0,1)
cham.Name = 'Cham'
end
end
if not isnil(v.Character.Head) and not v.Character.Head:FindFirstChild'NameEsp' then
local bill = Instance.new('BillboardGui',v.Character.Head)
bill.Name = 'NameEsp'
bill.Size=UDim2.new(1,200,1,30)
bill.Adornee=v.Character.Head
bill.AlwaysOnTop=true
local name = Instance.new('TextLabel',bill)
name.TextWrapped=true
name.Text = (v.Name ..' '.. round((game:GetService('Players').LocalPlayer.Character.Head.Position - v.Character.Head.Position).Magnitude/3) ..'m')
name.Size = UDim2.new(1,0,1,0)
name.TextYAlignment='Top'
name.TextColor3=Color3.new(1,1,1)
name.BackgroundTransparency=1
else
v.Character.Head.NameEsp.TextLabel.Text = (v.Name ..' '.. round((game:GetService('Players').LocalPlayer.Character.Head.Position - v.Character.Head.Position).Magnitude/3) ..'m')
end
end
end)
end
end
while wait() do
UpdatePlayerChams()
end
end)
-- Toggle Popups (Chi/Coin thigns)
Misc:Bind("Toggle Popups",
{flag = "pop", owo = true},
function()
game:GetService("Players").LocalPlayer.PlayerGui.statEffectsGui.Enabled = not game:GetService("Players").LocalPlayer.PlayerGui.statEffectsGui.Enabled
game:GetService("Players").LocalPlayer.PlayerGui.hoopGui.Enabled = not game:GetService("Players").LocalPlayer.PlayerGui.hoopGui.Enabled
end)
-- Toggable GUI Key
Misc:Bind("Toggle GUI Key",
{flag = "Toggle", owo = true},
function()
library.toggled = not library.toggled;
for i, data in next, library.queue do
local pos = (library.toggled and data.p or UDim2.new(-1, 0, -0.5,0))
data.w:TweenPosition(pos, (library.toggled and 'Out' or 'In'), 'Quad', 0.15, true)
wait();
end
end)
-- Destroy GUI
local Kill = Misc:Button("Destroy GUI", function()
game:GetService("CoreGui").ScreenGui:Destroy()
end)
local Teleports = library:CreateWindow("Teleports")
-- World/Island Teleports
Teleports:Section("- Islands -")
local Islands = {}
for i,v in next, game.workspace.islandUnlockParts:GetChildren() do
if v then
table.insert(Islands, v.Name)
end
end
Teleports:Dropdown('Teleports', {list = Islands}, function(a)
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Workspace.islandUnlockParts[a].islandSignPart.CFrame
end)
-- Utilitys
Teleports:Section("- Utilitys -")
local Shop = Teleports:Button("Shop", function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game:GetService("Workspace").shopAreaCircles["shopAreaCircle11"].circleInner.CFrame
end)
local Skills = Teleports:Button("Skills Shop", function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game:GetService("Workspace").skillAreaCircles["skillsAreaCircle11"].circleInner.CFrame
end)
local Skills1 = Teleports:Button("Light Skills Shop", function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-116.49514, 3.24800324, 0.0838552266)
end)
local Skills2 = Teleports:Button("Dark Skills Shop", function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-116.549767, 3.24800324, 58.087841)
end)
local KOTH = Teleports:Button("KOTH", function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game:GetService("Workspace").kingOfTheHillPart.CFrame
end)
-- Training Area Teleports
Teleports:Section("- Training Areas -")
local a1 = Teleports:Button("Mystical Waters (Good)", function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(347.74881, 8824.53809, 114.271019)
end)
local a2 = Teleports:Button("Sword of Legends (Good)", function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(1834.15967, 38.704483, -141.375641)
end)
local a5 = Teleports:Button("Elemental Tornado (Good)", function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(299.758484, 30383.0957, -90.1542206)
end)
local a3 = Teleports:Button("Lava Pit (Bad)", function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-116.631485, 12952.5381, 271.14624)
end)
local a4 = Teleports:Button("Tornado (Bad)", function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(325.641174, 16872.0938, -9.9906435)
end)
local a6 = Teleports:Button("Swords Of Ancients (Bad)", function()
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(648.365662, 38.704483, 2409.72266)
end)
if _G.PlaceLoopTP == true then
local Teleports2 = library:CreateWindow("More Teleports")
Teleports2:Section("- Training Areas (Looped) -")
local avh = Teleports2:Button("Mystical Waters (Good)", function()
while true do
wait(.001)
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(347.74881, 8824.53809, 114.271019)
end
end
end)
local sdgy6 = Teleports2:Button("Sword of Legends (Good)", function()
while true do
wait(.001)
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(1834.15967, 38.704483, -141.375641)
end
end
end)
local asdy = Teleports2:Button("Elemental Tornado (Good)", function()
while true do
wait(.001)
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(299.758484, 30383.0957, -90.1542206)
end
end
end)
local yassf = Teleports2:Button("Lava Pit (Bad)", function()
while true do
wait(.001)
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(-116.631485, 12952.5381, 271.14624)
end
end
end)
local sdfj = Teleports2:Button("Tornado (Bad)", function()
while true do
wait(.001)
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(325.641174, 16872.0938, -9.9906435)
end
end
end)
local jhas = Teleports2:Button("Swords Of Ancients (Bad)", function()
while true do
wait(.001)
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(648.365662, 38.704483, 2409.72266)
end
end
end)
end
-- Open Crystals
spawn(function()
while wait(.01) do
if Settings.TEgg then
local oh1 = "openCrystal"
local oh2 = Settings.Crystal
game:GetService("ReplicatedStorage").rEvents.openCrystalRemote:InvokeServer(oh1, oh2)
end
end
end)
-- Auto-Swing
spawn(function()
while wait() do
if Farming.flags.Swing then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
if game.Players.LocalPlayer.Character:FindFirstChildOfClass("Tool") then
game.Players.LocalPlayer.ninjaEvent:FireServer("swingKatana")
else
for i,v in pairs(game.Players.LocalPlayer.Backpack:GetChildren()) do
if v.ClassName == "Tool" and v:FindFirstChild("attackShurikenScript") then
game.Players.LocalPlayer.Character.Humanoid:EquipTool(v)
wait()
if v.ClassName == "Tool" and v:FindFirstChild("attackKatanaScript") then
game.Players.LocalPlayer.Character.Humanoid:EquipTool(v)
end
end
end
end
end
end
end
end)
-- Auto-Sell
spawn(function()
while wait(0.01) do
if Farming.flags.Sell then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
game.workspace.sellAreaCircles["sellAreaCircle7"].circleInner.CFrame = game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart").CFrame
wait(.1)
game.workspace.sellAreaCircles["sellAreaCircle7"].circleInner.CFrame = game.Workspace.Part.CFrame
end
end
end
end)
-- Auto-Full Sell
spawn(function()
while wait(0.01) do
if Farming.flags.FullSell then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
if player.PlayerGui.gameGui.maxNinjitsuMenu.Visible == true then
game.workspace.sellAreaCircles["sellAreaCircle7"].circleInner.CFrame = game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart").CFrame
wait(.05)
game.workspace.sellAreaCircles["sellAreaCircle7"].circleInner.CFrame = game.Workspace.Part.CFrame
end
end
end
end
end)
-- Invisibility
spawn(function()
while wait(0.001) do
if Misc.flags.Invis then
local A_1 = "goInvisible"
local Event = game.Players.LocalPlayer.ninjaEvent
Event:FireServer(A_1)
end
end
end)
-- Auto-Pet Levels
spawn(function()
while wait(0.00011) do
if Farming.flags.L then
local plr = game.Players.LocalPlayer
for _,v in pairs(workspace.Hoops:GetDescendants()) do
if v.ClassName == "MeshPart" then
v.touchPart.CFrame = plr.Character.HumanoidRootPart.CFrame
end
end
end
end
end)
-- Good Karma Farm
spawn(function()
while wait(0.4) do
if Farming.flags.GK then
loadstring(game:HttpGet(('https://pastebin.com/raw/AaqHqPyw'),true))()
end
end
end)
-- Bad Karma Farm
spawn(function()
while wait(0.4) do
if Farming.flags.BK then
loadstring(game:HttpGet(('https://pastebin.com/raw/wEEB3nQt'),true))()
end
end
end)
-- Auto-Normal Boss
spawn(function()
while wait(.001) do
if Farming.flags.Boss then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
if game:GetService("Workspace").bossFolder:WaitForChild("RobotBoss"):WaitForChild("HumanoidRootPart") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Workspace.bossFolder.RobotBoss.HumanoidRootPart.CFrame
if player.Character:FindFirstChildOfClass("Tool") then
player.Character:FindFirstChildOfClass("Tool"):Activate()
else
for i,v in pairs(player.Backpack:GetChildren()) do
if v.ClassName == "Tool" and v:FindFirstChild("attackKatanaScript") then
v.attackTime.Value = 0.2
player.Character.Humanoid:EquipTool(v)
if attackfar then
for i,v in pairs(player.Backpack:GetChildren()) do
if v.ClassName == "Tool" and v:FindFirstChild("attackShurikenScript") then
player.Character.Humanoid:EquipTool(v)
end
end
end
end
end
end
end
end
end
end
end)
-- Auto-Eternal Boss
spawn(function()
while wait(.001) do
if Farming.flags.EBoss then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
if game:GetService("Workspace").bossFolder:WaitForChild("EternalBoss"):WaitForChild("HumanoidRootPart") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Workspace.bossFolder.EternalBoss.HumanoidRootPart.CFrame
if player.Character:FindFirstChildOfClass("Tool") then
player.Character:FindFirstChildOfClass("Tool"):Activate()
else
for i,v in pairs(player.Backpack:GetChildren()) do
if v.ClassName == "Tool" and v:FindFirstChild("attackKatanaScript") then
v.attackTime.Value = 0.2
player.Character.Humanoid:EquipTool(v)
if attackfar then
for i,v in pairs(player.Backpack:GetChildren()) do
if v.ClassName == "Tool" and v:FindFirstChild("attackShurikenScript") then
player.Character.Humanoid:EquipTool(v)
end
end
end
end
end
end
end
end
end
end
end)
-- Auto-Anchient Boss
spawn(function()
while wait(.001) do
if Farming.flags.ABoss then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
if game:GetService("Workspace").bossFolder:WaitForChild("AncientMagmaBoss"):WaitForChild("HumanoidRootPart") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Workspace.bossFolder.AncientMagmaBoss.HumanoidRootPart.CFrame
if player.Character:FindFirstChildOfClass("Tool") then
player.Character:FindFirstChildOfClass("Tool"):Activate()
else
for i,v in pairs(player.Backpack:GetChildren()) do
if v.ClassName == "Tool" and v:FindFirstChild("attackKatanaScript") then
v.attackTime.Value = 0.2
player.Character.Humanoid:EquipTool(v)
if attackfar then
for i,v in pairs(player.Backpack:GetChildren()) do
if v.ClassName == "Tool" and v:FindFirstChild("attackShurikenScript") then
player.Character.Humanoid:EquipTool(v)
end
end
end
end
end
end
end
end
end
end
end)
spawn(function()
while wait(.001) do
if Farming.flags.SBoss then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
if game:GetService("Workspace").bossFolder:WaitForChild("Samurai Santa"):WaitForChild("HumanoidRootPart") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Workspace.bossFolder["Samurai Santa"].HumanoidRootPart.CFrame
if player.Character:FindFirstChildOfClass("Tool") then
player.Character:FindFirstChildOfClass("Tool"):Activate()
else
for i,v in pairs(player.Backpack:GetChildren()) do
if v.ClassName == "Tool" and v:FindFirstChild("attackKatanaScript") then
v.attackTime.Value = 0.2
player.Character.Humanoid:EquipTool(v)
if attackfar then
for i,v in pairs(player.Backpack:GetChildren()) do
if v.ClassName == "Tool" and v:FindFirstChild("attackShurikenScript") then
player.Character.Humanoid:EquipTool(v)
end
end
end
end
end
end
end
end
end
end
end)
-- Auto-All Bosses
spawn(function()
while wait(.001) do
if Farming.flags.AllBosses then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
if game.Workspace.bossFolder:FindFirstChild("Samurai Santa") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Workspace.bossFolder["Samurai Santa"].HumanoidRootPart.CFrame
else
if not game.Workspace.bossFolder:FindFirstChild("Samurai Santa") then
if game.Workspace.bossFolder:FindFirstChild("AncientMagmaBoss") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Workspace.bossFolder.AncientMagmaBoss.HumanoidRootPart.CFrame
else
if not game.Workspace.bossFolder:FindFirstChild("AncientMagmaBoss") then
if game.Workspace.bossFolder:FindFirstChild("EternalBoss") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Workspace.bossFolder.EternalBoss.HumanoidRootPart.CFrame
else
if not game.Workspace.bossFolder:FindFirstChild("EternalBoss") then
if game.Workspace.bossFolder:FindFirstChild("RobotBoss") then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = game.Workspace.bossFolder.RobotBoss.HumanoidRootPart.CFrame
end
end
end
end
end
end
end
if player.Character:FindFirstChildOfClass("Tool") then
player.Character:FindFirstChildOfClass("Tool"):Activate()
else
for i,v in pairs(player.Backpack:GetChildren()) do
if v.ClassName == "Tool" and v:FindFirstChild("attackKatanaScript") then
v.attackTime.Value = 0.2
player.Character.Humanoid:EquipTool(v)
if attackfar then
for i,v in pairs(player.Backpack:GetChildren()) do
if v.ClassName == "Tool" and v:FindFirstChild("attackShurikenScript") then
player.Character.Humanoid:EquipTool(v)
end
end
end
end
end
end
end
end
end
end)
-- Auto-Buy Swords
spawn(function()
while wait(0.5) do
if AutoBuy.flags.Sword then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
local oh1 = "buyAllSwords"
local oh2 = {"Ground", "Astral Island", "Space Island","Tundra Island", "Eternal Island", "Sandstorm", "Thunderstorm", "Ancient Inferno Island", "Midnight Shadow Island", "Mythical Souls Island", "Winter Wonder Island"}
for i = 1,#oh2 do
game:GetService("Players").LocalPlayer.ninjaEvent:FireServer(oh1, oh2[i])
end
end
end
end
end)
-- Auto-Buy Belts
spawn(function()
while wait(0.5) do
if AutoBuy.flags.Belt then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
local oh1 = "buyAllBelts"
local oh2 = {"Ground", "Astral Island", "Space Island","Tundra Island", "Eternal Island", "Sandstorm", "Thunderstorm", "Ancient Inferno Island", "Midnight Shadow Island", "Mythical Souls Island", "Winter Wonder Island"}
for i = 1,#oh2 do
game:GetService("Players").LocalPlayer.ninjaEvent:FireServer(oh1, oh2[i])
end
end
end
end
end)
-- Auto-Buy Skills
spawn(function()
while wait(0.5) do
if AutoBuy.flags.Skill then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
local oh1 = "buyAllSkills"
local oh2 = {"Ground", "Astral Island", "Space Island","Tundra Island", "Eternal Island", "Sandstorm", "Thunderstorm", "Ancient Inferno Island", "Midnight Shadow Island", "Mythical Souls Island", "Winter Wonder Island"}
for i = 1,#oh2 do
game:GetService("Players").LocalPlayer.ninjaEvent:FireServer(oh1, oh2[i])
end
end
end
end
end)
-- Auto-Buy Ranks
spawn(function()
while wait(0.5) do
if AutoBuy.flags.Rank then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
local oh1 = "buyRank"
local oh2 = game:GetService("ReplicatedStorage").Ranks.Ground:GetChildren()
for i = 1,#oh2 do
game:GetService("Players").LocalPlayer.ninjaEvent:FireServer(oh1, oh2[i].Name)
end
end
end
end
end)
-- Auto-Buy Shurikens
spawn(function()
while wait(0.5) do
if AutoBuy.flags.Shurikens then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
local oh1 = "buyAllShurikens"
local oh2 = {"Ground", "Astral Island", "Space Island","Tundra Island", "Eternal Island", "Sandstorm", "Thunderstorm", "Ancient Inferno Island", "Midnight Shadow Island", "Mythical Souls Island", "Winter Wonder Island"}
for i = 1,#oh2 do
game:GetService("Players").LocalPlayer.ninjaEvent:FireServer(oh1, oh2[i])
end
end
end
end
end)
-- Auto-Chi
spawn(function()
while wait(0.033) do
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
if Farming.flags.Chi then
for i,v in pairs(game.Workspace.spawnedCoins.Valley:GetChildren()) do
if v.Name == "Blue Chi Crate" then
game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(v.Position)
wait(.16)
end
end
end
end
end
end)
-- Auto Evolve Pet
spawn(function()
while wait(3) do
if Pets.flags.Evolve then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game:GetService("Players").LocalPlayer.petsFolder:GetChildren()) do
for i,x in pairs(v:GetChildren()) do
local oh1 = "evolvePet"
local oh2 = x.Name
game:GetService("ReplicatedStorage").rEvents.petEvolveEvent:FireServer(oh1, oh2)
end
end
end
end
end
end)
-- Auto-Eternalize Pet
spawn(function()
while wait(3) do
if Pets.flags.Eternalise then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game:GetService("Players").LocalPlayer.petsFolder:GetChildren()) do
for i,x in pairs(v:GetChildren()) do
local oh1 = "eternalizePet"
local oh2 = x.Name
game:GetService("ReplicatedStorage").rEvents.petEternalizeEvent:FireServer(oh1, oh2)
end
end
end
end
end
end)
-- Auto-Immortalize Pet
spawn(function()
while wait(3) do
if Pets.flags.Immortalize then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game:GetService("Players").LocalPlayer.petsFolder:GetChildren()) do
for i,x in pairs(v:GetChildren()) do
local oh1 = "immortalizePet"
local oh2 = x.Name
game:GetService("ReplicatedStorage").rEvents.petImmortalizeEvent:FireServer(oh1, oh2)
end
end
end
end
end
end)
-- Auto-Legend Pet
spawn(function()
while wait(3) do
if Pets.flags.Legend then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game:GetService("Players").LocalPlayer.petsFolder:GetChildren()) do
for i,x in pairs(v:GetChildren()) do
local oh1 = "legendizePet"
local oh2 = x.Name
game:GetService("ReplicatedStorage").rEvents.petLegendEvent:FireServer(oh1, oh2)
end
end
end
end
end
end)
spawn(function()
while wait(3) do
if Pets.flags.Elemental then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game:GetService("Players").LocalPlayer.petsFolder:GetChildren()) do
for i,x in pairs(v:GetChildren()) do
local oh1 = "elementalizePet"
local oh2 = x.Name
game:GetService("ReplicatedStorage").rEvents.petLegendEvent:FireServer(oh1, oh2)
end
end
end
end
end
end)
-- Sell All Basics
spawn(function()
while wait(1) do
if Pets.flags.SBasic then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game.Players.LocalPlayer.petsFolder.Basic:GetChildren()) do
game.ReplicatedStorage.rEvents.sellPetEvent:FireServer("sellPet", v)
end
end
end
end
end)
-- Sell All Advanced
spawn(function()
while wait(1) do
if Pets.flags.SAdvanced then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game.Players.LocalPlayer.petsFolder.Advanced:GetChildren()) do
game.ReplicatedStorage.rEvents.sellPetEvent:FireServer("sellPet", v)
end
end
end
end
end)
-- Sell All Rares
spawn(function()
while wait(1) do
if Pets.flags.SRare then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game.Players.LocalPlayer.petsFolder.Rare:GetChildren()) do
game.ReplicatedStorage.rEvents.sellPetEvent:FireServer("sellPet", v)
end
end
end
end
end)
-- Sell All Epics
spawn(function()
while wait(1) do
if Pets.flags.SEpic then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game.Players.LocalPlayer.petsFolder.Epic:GetChildren()) do
game.ReplicatedStorage.rEvents.sellPetEvent:FireServer("sellPet", v)
end
end
end
end
end)
-- Sell All Uniques
spawn(function()
while wait(1) do
if Pets.flags.SUnique then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game.Players.LocalPlayer.petsFolder.Unique:GetChildren()) do
game.ReplicatedStorage.rEvents.sellPetEvent:FireServer("sellPet", v)
end
end
end
end
end)
-- Sell All Omegas
spawn(function()
while wait(1) do
if Pets.flags.SOmega then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game.Players.LocalPlayer.petsFolder.Omega:GetChildren()) do
game.ReplicatedStorage.rEvents.sellPetEvent:FireServer("sellPet", v)
end
end
end
end
end)
-- Sell All Elites
spawn(function()
while wait(1) do
if Pets.flags.SElite then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game.Players.LocalPlayer.petsFolder.Elite:GetChildren()) do
game.ReplicatedStorage.rEvents.sellPetEvent:FireServer("sellPet", v)
end
end
end
end
end)
-- Sell All Infinites
spawn(function()
while wait(1) do
if Pets.flags.SInfinity then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game.Players.LocalPlayer.petsFolder.Infinity:GetChildren()) do
game.ReplicatedStorage.rEvents.sellPetEvent:FireServer("sellPet", v)
end
end
end
end
end)
-- Second Pet Stuff Tab
spawn(function()
while wait(1) do
if Pets2.flags.S1 then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game.Players.LocalPlayer.petsFolder.Infinity:GetChildren()) do
if v.Name == "Winter Wonder Kitty" then
game.ReplicatedStorage.rEvents.sellPetEvent:FireServer("sellPet", v)
end
end
end
end
end
end)
spawn(function()
while wait(1) do
if Pets2.flags.S2 then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game.Players.LocalPlayer.petsFolder.Infinity:GetChildren()) do
if v.Name == "Winter Legends Polar Bear" then
game.ReplicatedStorage.rEvents.sellPetEvent:FireServer("sellPet", v)
end
end
end
end
end
end)
spawn(function()
while wait(1) do
if Pets2.flags.S3 then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game.Players.LocalPlayer.petsFolder.Infinity:GetChildren()) do
if v.Name == "Christmas Sensei Reindeer" then
game.ReplicatedStorage.rEvents.sellPetEvent:FireServer("sellPet", v)
end
end
end
end
end
end)
spawn(function()
while wait(1) do
if Pets2.flags.S4 then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game.Players.LocalPlayer.petsFolder.Infinity:GetChildren()) do
if v.Name == "Dark Blizzard Master Penguin" then
game.ReplicatedStorage.rEvents.sellPetEvent:FireServer("sellPet", v)
end
end
end
end
end
end)
spawn(function()
while wait(1) do
if Pets2.flags.S5 then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
for i,v in pairs(game.Players.LocalPlayer.petsFolder.Infinity:GetChildren()) do
if v.Name == "Cybernetic Sleigh Rider" then
game.ReplicatedStorage.rEvents.sellPetEvent:FireServer("sellPet", v)
end
end
end
end
end
end)
-- Fast Shuriken
spawn(function()
while wait(.001) do
if Misc.flags.Fast then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
local plr = game.Players.LocalPlayer
local Mouse = plr:GetMouse()
local velocity = 1000
for _,p in pairs(game.Workspace.shurikensFolder:GetChildren()) do
if p.Name == "Handle" then
if p:FindFirstChild("BodyVelocity") then
local bv = p:FindFirstChildOfClass("BodyVelocity")
bv.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
bv.Velocity = Mouse.Hit.lookVector * velocity
end
end
end
end
end
end
end)
-- Slow Shuriken
spawn(function()
while wait(.001) do
if Misc.flags.Slow then
if game.Players.LocalPlayer.Character:WaitForChild("HumanoidRootPart") then
local plr = game.Players.LocalPlayer
local Mouse = plr:GetMouse()
local velocity = 35
for _,p in pairs(game.Workspace.shurikensFolder:GetChildren()) do
if p.Name == "Handle" then
if p:FindFirstChild("BodyVelocity") then
local bv = p:FindFirstChildOfClass("BodyVelocity")
bv.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
bv.Velocity = Mouse.Hit.lookVector * velocity
end
end
end
end
end
end
end)
-- Anti-AFK
local vu = game:GetService("VirtualUser")
game:GetService("Players").LocalPlayer.Idled:connect(
function()
vu:Button2Down(Vector2.new(0, 0), workspace.CurrentCamera.CFrame)
wait(1)
vu:Button2Up(Vector2.new(0, 0), workspace.CurrentCamera.CFrame)
end)



got dupe?
Can you make a script for the game Tribe Survival🏝️