local Library = loadstring(game:HttpGet("https://raw.githubusercontent.
com/zxciaz/
VenyxUI/main/Reuploaded"))()
local Venyx = Library.new("LSRS", 5013109572)
if not Flags then
getgenv().Flags = {
Killaura = false,
Distance = 10,
AutoRebirth = false,
AuraTarget = nil,
AuraPrefix = nil,
MinimumLevel = 1,
TargetLevel = false,
Teleport = false,
AutoEquip = false,
AutoUpgrade = {
},
Popups = false,
}
end
local ValidMobs = {"Any"} -- I use "Any" as the selection for attacking any mob
local ValidPrefixes = {"Any"}
-- Constants (figuratively; if these change, we're fucked.)
local Mobs = workspace:WaitForChild("Mobs", 3) -- Oooo second argument in
WaitForChild, what could it mean??
local Player = game:GetService("Players").LocalPlayer
local PlayerGui = Player:WaitForChild("PlayerGui", 3)
-- Janky ui shit because this jackass doesn't know what ResetOnSpawn is.
local UI = PlayerGui:WaitForChild("UI", 3)
local CS = UI and UI:WaitForChild("CS", 3)
PlayerGui.ChildAdded:Connect(function(Child)
if Child.Name == "UI" then
UI = Child
CS = Child:WaitForChild("CS", 3)
end
end)
-- Stats (for rebirth, and level min.)
local Leaderstats = Player:WaitForChild("leaderstats", 3)
local Lvl = Leaderstats and Leaderstats:WaitForChild("Lvl", 3)
local StatPoints = Player:WaitForChild("StatPoints", 3)
for i, v in next, Mobs:GetChildren() do -- The game doesn't store the mobs in a
place where we can read it, so we need to wait for the fuckers to spawn before we
know they exist.
local Name, Prefix = v.Name, nil
if Name:find("%[") then -- THANKS REGEX I LOVE USING %
Prefix = "[" .. Name:split("[")[2] -- Yeah I'm terrible at regex, how
can you tell?
end
if not table.find(ValidMobs, Name) then
table.insert(ValidMobs, Name)
end
if Prefix and not table.find(ValidPrefixes, Prefix) then
table.insert(ValidPrefixes, Prefix)
end
end
local Platform = Instance.new("Part") -- Fuck you roblox.
Platform.Name = game:GetService("HttpService"):GenerateGUID(false) -- No detecty
pwease :pleading:
Platform.Size = Vector3.new(5, 1, 5) -- This platform only exists to prevent dying
in the void
Platform.Anchored = true -- We don't want our floor collapsing beneath our feet, do
we?
Platform.Transparency = 0.5
Platform.Parent = workspace
-- UI Setup
local Automation = Venyx:addPage("Automation")
local Visuals = Venyx:addPage("Visuals")
local UiMenu = Visuals:addSection("UI")
-- Automation
local AuraSection = Automation:addSection("Killaura")
local TargetSection = Automation:addSection("Targets")
local UpgradeSection = Automation:addSection("Upgrades")
AuraSection:addToggle("Enabled", false, function(Value)
Flags.Killaura = Value
while game.RunService.Stepped:Wait() and Flags.Killaura do -- Better than
putting this loop outside this function mmm yes.
local Character = Player.Character or Player.CharacterAdded:Wait() --
Better than declaring it as a variable outside of this loop and updating it
whenever the player spawns.
local Tool, Damage = Character:FindFirstChildOfClass("Tool"),
Character:WaitForChild("SwordDamage", 3)
if not (Tool and Damage) then -- If you use pcall instead of this,
you're schizophrenic.
continue -- Return breaks the loop because god hates me.
end
if Flags.Teleport then
Platform.CFrame = Character:GetPivot() * CFrame.new(0, -2.75, 0)
-- Low enough to push us upwards and counter gravity.
for i, v in next, Character:GetChildren() do
if v:IsA("BasePart") then -- I love r15 parts being
MESHPARTS I love it so much.
v.CanCollide = false -- Thanks for removing that one
humanoid state, roblox.
end
end
else
Platform.CFrame = CFrame.new() -- Don't want the platform to get
in our way uwu
end
for i, v in next, Mobs:GetChildren() do
if v:IsA("Model") then
local Humanoid, Pivot =
v:FindFirstChildOfClass("Humanoid"), v:GetPivot() -- PrimaryPart.CFrame sucks, fuck
you.
local Settings = v:FindFirstChild("Settings") -- Lets not use
waitforchild in a loop that goes through every mob in the game, alright?
local Level = Settings and Settings:FindFirstChild("Lvl")
if not Level or not Humanoid or Humanoid.Health <= 0 then
-- Is the mob alive? What's the meaning of life? Is the mob really living if it's
locked in place only to attack the player, with no sense of self, and trapped in an
endless void of legos? Idk.
continue
end
if Flags.AuraPrefix and not v.Name:find(Flags.AuraPrefix)
then -- Does the mob have the prefix we're targeting?
continue
end
if Flags.AuraTarget and v.Name ~= Flags.AuraTarget then --
Is the mob our target?
continue
end
if Level.Value < Flags.MinimumLevel then -- Is the mob's level
higher than our selected minimum?
continue
end
if Flags.TargetLevel and Level.Value > Lvl.Value then -- Is the mob
our level? "Pick on someone your own size"
continue
end
if Flags.Teleport then
Character:PivotTo(Pivot * CFrame.new(0, -5, 5)) -- Mob hitboxes
extend behind them for whatever reason, so you need to be underneath them.
end
if (Pivot.Position -
workspace.CurrentCamera.Focus.Position).Magnitude < 10 then -- Owner added a
magnitude check to this event, so attacking anything farther than this is
completely useless and dangerous.
Damage:FireServer(Humanoid, Tool, 1, 1) -- I'm not
changing these args, that sounds like a great way to get banned for being a retard.
end
end
end
end
end)
AuraSection:addSlider("Distance", 10, 0, 15, function(Value)
Flags.Distance = Value
end)
AuraSection:addToggle("Teleport", false, function(Value)
Flags.Teleport = Value
end)
Automation:addSection("Rebirth"):addToggle("Enabled", false, function(Value)
Flags.AutoRebirth = Value
end)
Automation:addSection("Auto Equip"):addToggle("Enabled", false, function(Value)
Flags.AutoEquip = Value
while task.wait(1) and Flags.AutoEquip do -- I could do a childadded loop, but
because the backpack resets when the character spawns, it would be extremely janky.
local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid", 3)
local Backpack = Player:WaitForChild("Backpack", 3)
local BestTool = Character:FindFirstChildOfClass("Tool") or
Backpack:FindFirstChildOfClass("Tool")
local BestDmg = BestTool and BestTool:FindFirstChild("Conf") and
BestTool.Conf:FindFirstChild("MaxDmg")
if not (BestDmg and Humanoid) then -- How don't we have any sword? Idfk,
edge-case magic.
continue
end
for i, v in next, Backpack:GetChildren() do
local Conf = v:FindFirstChild("Conf")
local MaxDmg = Conf and Conf:FindFirstChild("MaxDmg")
if MaxDmg then
if BestDmg.Value < MaxDmg.Value then -- If you've ever used a
getclosestplayer function, you know how this works.
BestTool = v
BestDmg = MaxDmg
end
end
end
Humanoid:UnequipTools() -- You better not equip multiple tools at once.
Humanoid:EquipTool(BestTool)
end
end)
local AuraTargets = TargetSection:addDropdown("Mob To Target", ValidMobs,
function(Value)
Flags.AuraTarget = if Value == "Any" then nil else Value -- I promise you
this isn't as complicated as it seems. https://stackoverflow.com/a/8957225
end)
local AuraPrefix = TargetSection:addDropdown("Target Prefix", ValidPrefixes,
function(Value)
Flags.AuraPrefix = if Value == "Any" then nil else Value
end)
TargetSection:addTextbox("MinimumLevel", "1", function(Value)
if tonumber(Value) then -- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Flags.MinimumLevel = tonumber(Value)
end
end)
TargetSection:addToggle("Only Target Our Level", false, function(Value)
Flags.TargetLevel = Value
end)
for i, v in next, Player:GetChildren() do -- Automatically makes upgrade toggles
for every stat, in case any are added later in development.
if v.Name:find("UP") then -- Check if it's a valid stat
Flags.AutoUpgrade[v.Name] = false
UpgradeSection:addToggle(v.Name, false, function(Value)
Flags.AutoUpgrade[v.Name] = Value
end)
end
end
StatPoints:GetPropertyChangedSignal("Value"):Connect(function()
local Val = StatPoints.Value
if Val > 0 and CS then
for i = 1, Val do -- Server code is extremely slow so this is essentially as
fast as a task.wait() otherwise.
for i, v in next, Flags.AutoUpgrade do
if v == true then
CS:FireServer("add", Player:FindFirstChild(i), false)
end
end
end
end
end)
Flags.AuraPrefix = nil -- Venyx hates me, just like god.
Flags.AuraTarget = nil
Mobs.ChildAdded:Connect(function(v) -- Add new mobs to the mob table dynamically
wow im so cool.
local Name, Prefix = v.Name, nil
if Name:find("%[") then
Prefix = "[" .. Name:split("[")[2]
end
if not table.find(ValidMobs, Name) then
table.insert(ValidMobs, Name)
TargetSection:updateDropdown(AuraTargets, nil, ValidMobs,
function(Value) Flags.AuraPrefix = if Value == "Any" then nil else Value end)
end
if Prefix and not table.find(ValidPrefixes, Prefix) then
table.insert(ValidPrefixes, Prefix)
TargetSection:updateDropdown(AuraPrefix, nil, ValidPrefixes,
function(Value) Flags.AuraPrefix = if Value == "Any" then nil else Value end)
end
end)
Lvl:GetPropertyChangedSignal("Value"):Connect(function() -- Loops are lame.
if Flags.AutoRebirth and Lvl.Value >= 300 and CS then -- Do you need a comment
here?
CS:FireServer("reb", Lvl) -- Why is it this remote?? Amazing server code.
end
end)
UiMenu:addKeybind("Toggle Keybind", Enum.KeyCode.Delete, function()
Venyx:toggle()
end)
UiMenu:addToggle("Disable Damage Popups", false, function(Value)
Flags.Popups = Value
end)
PlayerGui.ChildAdded:Connect(function(Child)
if Child.Name == "dmg" and Flags.Popups then
game:GetService("RunService").RenderStepped:Wait()
Child:Destroy()
end
end)
Venyx:SelectPage(Venyx.pages[1], true)