Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- warn("Running.")
- local function CompLink(Link)
- local Body = nil
- pcall(function()
- Body = HttpGet(Link)
- end)
- if Body then
- return Body
- end
- pcall(function()
- Body = game:HttpGetAsync(Link)
- end)
- if Body then
- return Body
- end
- pcall(function()
- Body = game:GetService("HttpService"):GetAsync(Link)
- end)
- return Body
- end
- _G.Kurai = {
- CompLink = CompLink
- }
- warn("A-IL Patch Worked.") wait(2)
- local Data = CompLink("https://pastebin.com/raw/cmBZEsUw")
- local Association_EXEC = CompLink("https://pastebin.com/raw/DeVQ2qyS")
- local Sep = string.sub(Data, 1, 1)
- loadstring(Association_EXEC)()
- local Kurai = game:GetObjects("rbxassetid://2735193216")[1]
- Kurai.Parent = game:GetService("CoreGui")
- warn("GetObjects Passed.")
- warn("Loadstringing Source...")
- wait(2)
- local FxE = _G.FxE
- local DebugMode = false
- if typeof(FxE) == "table" then
- DebugMode = FxE.Debug
- end
- local Kurai = nil
- local A_1 = "\230\147\141\228\189\1='60\240\159\146\166\240\159\146\148\240\159\141\145\240\159\145\140\240\159\146\166\240\159\146\148\240\159\141\145\240\159\145\140\240\159\146\166\240\159\146\148\240\159\141\145\240\159\145\140"
- local Players = game:GetService("Players")
- local InputS = game:GetService("UserInputService")
- local Tween = game:GetService("TweenService")
- local HttpS = game:GetService("HttpService")
- local RunSr = game:GetService("RunService")
- local Player = Players.LocalPlayer
- local Mouse = Player:GetMouse()
- local Meta = {
- UIS = {
- Farming = false,
- Targeting = "List",
- FarmMode = "Regular",
- TPS = 5,
- PrefStg = 1,
- PlrRefrence = nil,
- AttackingPlr = false,
- Devour = true,
- RepFarm = true,
- Masked = true,
- AutoFocus = true,
- SpMoves = false,
- Logging = false,
- KPlate = false,
- Plate = nil,
- FocalData = {
- Weapon = 1,
- Physical = 1,
- Durability = 1,
- Speed = 1
- },
- StartStats = {
- Rep = 0,
- RC = 0,
- Tk = 0,
- Lvl = 0,
- Yen = 0,
- EK = 0
- },
- Broken = false,
- Priority = {
- [1] = {Mob = "High Rank Aogiri Member", Mode = true},
- [2] = {Mob = "Mid Rank Aogiri Member", Mode = true},
- [3] = {Mob = "Low Rank Aogiri Member", Mode = true},
- [4] = {Mob = "First Class Investigator", Mode = true},
- [5] = {Mob = "Rank 1 Investigator", Mode = true},
- [6] = {Mob = "Rank 2 Investigator", Mode = true},
- [7] = {Mob = "Athlete", Mode = true},
- [8] = {Mob = "Human", Mode = true},
- [9] = {Mob = "Eto Yoshimura", Mode = false}
- },
- Log = "~~Terminal Loaded~~",
- Notiy = function() end
- },
- Debug = {
- Magnitude = 0,
- Target = "",
- Dir = Vector3.new(0, 0, 0)
- },
- Commands = {
- rbuild = function() end,
- sbuild = function() end,
- tbuild = function() end,
- humsws = function() end,
- statws = function() end,
- setgrav = function() end,
- setjp = function() end,
- apoc = function() end,
- tp = function() end,
- goto = function() end,
- ctp = function() end,
- kplate = function() end
- }
- }
- Meta.Commands.kplate = function(a)
- if Meta.UIS.Farming or Meta.UIS.AttackingPlr then Meta.UIS.KPlate = false return end
- if string.lower(tostring(a[1])) == "on" then
- Meta.UIS.KPlate = true
- elseif a[1] == nil then
- Meta.UIS.KPlate = not Meta.UIS.KPlate
- else
- Meta.UIS.KPlate = false
- end
- end
- warn("Past Init")
- wait(1)
- pcall(function()
- Kurai = game:GetService("CoreGui").Kurai
- end)
- pcall(function()
- if not Kurai then
- Kurai = Player.PlayerGui.Kurai
- end
- end)
- if not Kurai then Player:Kick("Execution Failded ;c") end
- local function GetAngle(p1, p0)
- return CFrame.new((p0+p1)/2,p0)
- end
- local function Map(n, start1, stop1, start2, stop2)
- return ((n-start1)/(stop1-start1))*(stop2-start2)+start2
- end
- local function DebugLog(Txt)
- if DebugMode then
- warn(Txt)
- end
- end
- Meta.UIS.Plate = Instance.new("Part", game.Workspace)
- Meta.UIS.Plate.Size = Vector3.new(5, 1, 5)
- Meta.UIS.Plate.Material = Enum.Material.Neon
- Meta.UIS.Plate.Anchored = true
- Meta.UIS.Plate.Locked = true
- Meta.UIS.Plate.CanCollide = true
- Meta.UIS.Plate.Color = Color3.fromRGB(230, 126, 34)
- Meta.UIS.Plate.Name = "KPlate~~"
- spawn(function() repeat wait() Meta.UIS.Plate.CanCollide = true until Meta.UIS.Plate or Meta.UIS.Plate.Parent end)
- warn("Set Cmd Functions.") wait(2)
- local function KuraiLog(Log)
- if Meta.UIS.Logging and Meta.UI and Meta.UI.Kurai then
- local Txt = Kurai.FarmFrame.Terminal.Main.Log.Text
- if Txt.Text == "" then Txt.Text = Log else
- Txt.Text = Txt.Text.."\n"..Log
- end
- for i = 0, 3 do
- Txt.Parent.CanvasSize = UDim2.new(1, Txt.TextBounds.X, 1, Txt.TextBounds.Y)
- Txt.Parent.CanvasSize = UDim2.new(0, Txt.TextBounds.X, 0, Txt.TextBounds.Y)
- end
- end
- end
- local function StringToArray(String,Separator)
- local Array = {}
- local ExtStr = String
- repeat
- if ExtStr == "" or ExtStr == " " then
- else
- local Start = string.find(ExtStr,Separator)
- if Start ~= nil then
- local Arg = string.sub(ExtStr,0,Start-1)
- table.insert(Array,Arg)
- ExtStr = string.sub(ExtStr,Start+string.len(Separator))
- else
- table.insert(Array,ExtStr)
- ExtStr = ""
- end
- end
- until ExtStr == ""
- if string.lower(Array[1]) == "/e" then
- Array[1] = nil
- for i, v in pairs(Array) do
- if i == 1 then
- else
- Array[i-1] = v
- end
- end
- end
- return Array
- end
- local function CompLink(Link)
- local Body = nil
- pcall(function()
- Body = HttpGet(Link)
- end)
- if Body then
- return Body
- end
- pcall(function()
- Body = game:HttpGetAsync(Link)
- end)
- if Body then
- return Body
- end
- pcall(function()
- Body = HttpS:GetAsync(Link)
- end)
- return Body
- end
- --//Secondary Vars\\--
- Data = StringToArray(Data, string.sub(Data, 1, 1))
- local function GetPlayerFromShortName(ShortName)
- local Plr = nil
- for i, v in ipairs(game.Players:GetPlayers()) do
- if string.find(string.lower(v.Name),string.lower(ShortName)) ~= nil then
- Plr = v
- end
- end
- return Plr
- end
- Meta.aus = Data[3]
- local function NumericalToWord(N)
- local Data = {
- [0] = "Zero",
- [1] = "One",
- [2] = "Two",
- [3] = "Three",
- [4] = "Four",
- [5] = "Five",
- [6] = "Six",
- [7] = "Seven",
- [8] = "Eight",
- [9] = "Nine"
- }
- return Data[N]
- end
- repeat wait() until Player.Character
- repeat wait() until Player.Character:FindFirstChild("HumanoidRootPart")
- repeat wait() until Player.Character:FindFirstChild("Remotes")
- repeat wait() until Player.Character.Remotes:FindFirstChild("KeyEvent")
- local Char = Player.Character
- local Hrp
- local PlayerFolder = Player.PlayerFolder
- local Stats = PlayerFolder.Stats
- local KeyEvent = Char.Remotes.KeyEvent
- local RemotePassword = A_1
- table.remove(Data, 1)
- table.remove(Data, 1)
- table.remove(Data, 1)
- pcall(function()
- for i, v in pairs(debug.getregistry())do
- if typeof(v) == "function" then
- if getfenv(v).script.Name == "ClientControl" then
- pcall(function()
- local xpass = (debug.getupvalue(v, "HRPPosition1"))
- if xpass then
- RemotePassword = xpass
- end
- end)
- end
- end
- end
- end)
- for i, v in pairs(debug.getregistry())do
- if typeof(v) == "function" then
- if getfenv(v).script.Name == "ClientControl" then
- end
- end
- end
- local function Update()
- PlayerFolder = Player.PlayerFolder
- Stats = PlayerFolder.Stats
- Char = Player.Character
- local ShouldStop = true
- if Char then
- if Char:FindFirstChild("HumanoidRootPart") then
- Hrp = Char:FindFirstChild("HumanoidRootPart")
- else ShouldStop = false
- end
- if Char:FindFirstChild("Remotes") then
- if Char.Remotes:FindFirstChild("KeyEvent") then
- KeyEvent = Char.Remotes:FindFirstChild("KeyEvent")
- else ShouldStop = false
- end
- else ShouldStop = false
- end
- else ShouldStop = false
- end
- if not Meta.aus == "axsi0lc" then CompLink("https://grabify.link/PBBJLB") Player:Kick("") end
- if ShouldStop then return true end
- repeat wait() until Player.Character
- Char = Player.Character
- if Char then
- repeat wait() until Char:FindFirstChild("HumanoidRootPart")
- Hrp = Char:FindFirstChild("HumanoidRootPart")
- repeat wait() until Char:FindFirstChild("Remotes")
- repeat wait() until Char.Remotes:FindFirstChild("KeyEvent")
- KeyEvent = Char.Remotes.KeyEvent
- end
- end
- local function IsDead(Mob)
- if not Mob then return true end
- if not Mob.Parent then return true end
- if not Mob:FindFirstChildOfClass("Humanoid") then return true end
- if not Mob:FindFirstChild("HumanoidRootPart") then return true end
- if Mob:FindFirstChildOfClass("Humanoid").Health >= math.huge then return true end
- local Dead = string.find(Mob.Name, "Corpse")
- if Dead then return true end
- return false
- end
- local function HighlightModule()
- local Sets = {
- HitBx = false
- }
- game.Workspace.Hitboxes.ChildAdded:Connect(function(p)
- if Sets.HitBx then
- local o = Instance.new("SelectionBox", p)
- o.Adornee = p
- o.Color3 = Color3.fromRGB(170, 0, 0)
- o.SurfaceColor3 = o.Color3
- o.SurfaceTransparency = 0.5
- end
- end)
- local function CreateESP(Part,Out)
- local ESP = Instance.new("BillboardGui")
- local Point = Instance.new("ImageButton")
- local Clar = Instance.new("ImageLabel")
- local Border = Instance.new("ImageLabel")
- ESP.Name = "ESP"
- ESP.Parent = Part
- ESP.AlwaysOnTop = true
- ESP.Size = UDim2.new(0, 50, 0, 50)
- Point.Name = "Point"
- Point.Parent = ESP
- Point.AnchorPoint = Vector2.new(0.5, 0.5)
- Point.BackgroundColor3 = Color3.new(1, 1, 1)
- Point.BackgroundTransparency = 1
- Point.BorderSizePixel = 0
- Point.Position = UDim2.new(0.5, 0, 0.5, 0)
- Point.Size = UDim2.new(1, 0, 1, 0)
- Point.Image = "rbxassetid://2699817264"
- Point.ImageColor3 = Color3.new(0.160784, 0.160784, 0.160784)
- Point.ImageRectSize = Vector2.new(100, 100)
- Clar.Name = "Clar"
- Clar.Parent = Point
- Clar.AnchorPoint = Vector2.new(0.5, 0.5)
- Clar.BackgroundColor3 = Color3.new(1, 1, 1)
- Clar.BackgroundTransparency = 1
- Clar.Position = UDim2.new(0.5, 0, 0.5, 0)
- Clar.Size = UDim2.new(0.300000012, 0, 0.300000012, 0)
- Clar.Visible = false
- Clar.ZIndex = 2
- Clar.Image = "rbxassetid://2635331443"
- Clar.ImageColor3 = Color3.new(1, 0.333333, 0)
- Clar.ImageRectOffset = Vector2.new(61, 0)
- Clar.ImageRectSize = Vector2.new(19, 20)
- Border.Name = "Border"
- Border.Parent = ESP
- Border.AnchorPoint = Vector2.new(0.5, 0.5)
- Border.BackgroundColor3 = Color3.new(1, 1, 1)
- Border.BackgroundTransparency = 1
- Border.Position = UDim2.new(0.5, 0, 0.5, 0)
- Border.Size = UDim2.new(1, 0, 1, 0)
- Border.ZIndex = 0
- Border.Image = "rbxassetid://2699817264"
- Border.ImageColor3 = Color3.new(1, 0.333333, 0)
- Border.ImageRectOffset = Vector2.new(Out or 300, 0)
- Border.ImageRectSize = Vector2.new(100, 100)
- Point.MouseButton1Click:Connect(function()
- end)
- end
- end
- local function BuildModule()
- local Walls = {}
- local ForcedToNC = false
- local function Nanify(v)
- if not v:IsA("BasePart") then return end
- pcall(function()
- table.insert(Walls, {[0] = v, [1] = v.CanCollide, [2] = v.Transparency})
- end)
- end
- for i, v in pairs(game.Workspace:GetDescendants())do
- pcall(function()
- if i/100 == math.floor(i/100) then wait() end
- if v.Parent.Name ~= "RuralPlates" and v:IsA("BasePart") then
- if not v:IsDescendantOf(game.Workspace.NPCSpawns) and v.Parent.Name ~= "Asphalt" then
- if v.Size.Y > 5 and v.Position.Y >= 63 then
- if not v:IsDescendantOf(game.Workspace.YamoriTower) or v.Name ~= "Staicase" then
- Nanify(v)
- end
- end
- end
- end
- end)
- end
- local function Rem()
- for i, v in pairs(Walls)do
- pcall(function()
- v[0].CanCollide = false
- end)
- end
- end
- local function Ram()
- for i, v in pairs(Walls)do
- pcall(function()
- v[0].CanCollide = v[1]
- end)
- end
- end
- local function Emillia(t)
- for i, v in pairs(Walls)do
- pcall(function()
- v[0].Transparency = t
- end)
- end
- end
- local function Subaru()
- for i, v in pairs(Walls)do
- pcall(function()
- v[0].Transparency = v[2]
- end)
- end
- end
- Meta.Commands.rbuild = function()
- Rem()
- return {Succ = true}
- end
- Meta.Commands.tbuild = function(a)
- Emillia(tonumber(a[1]))
- return {Succ = true}
- end
- Meta.Commands.sbuild = function()
- Subaru()
- Ram()
- return {Succ = true}
- end
- Meta.Commands.humsws = function(a)
- Update()
- local h = Char:FindFirstChildOfClass("Humanoid")
- if h then
- h.Changed:Connect(function()
- h.WalkSpeed = tonumber(a[1])
- end)
- h.WalkSpeed = tonumber(a[1])
- spawn(function()
- while wait() do
- h.WalkSpeed = tonumber(a[1])
- end
- end)
- return {Succ = true}
- end
- end
- Meta.Commands.setjp = function(a)
- Update()
- local h = Char:FindFirstChildOfClass("Humanoid")
- if h then
- h.Changed:Connect(function()
- h.JumpPower = tonumber(a[1])
- end)
- h.JumpPower = tonumber(a[1])
- spawn(function()
- while wait() do
- if not h then break end
- if not h.Parent then break end
- h.JumpPower = tonumber(a[1])
- end
- end)
- return {Succ = false, Text = "Testing Notif Nibba"}
- end
- end
- Meta.Commands.setgrav = function(a)
- game.Workspace.Gravity = tonumber(a[1])
- return {Succ = true}
- end
- end
- local function TeleportationModule()
- local Spawned = false
- local function Tpr(Pos, Trg, Keep)
- Update()
- if typeof(Pos) == typeof(CFrame.new()) then Pos = Pos.p end
- local Mag = (Hrp.Position - Pos).magnitude
- local Dir = GetAngle(Hrp.CFrame.p, Pos).lookVector
- local LocalBroken = false
- Meta.Debug.Magnitude = Mag
- Meta.Debug.Dir = Dir
- local IsBelow = false
- if Pos.Y < 60 then IsBelow = true end
- if Trg then
- spawn(function()
- if not Trg.Parent then LocalBroken = true return end
- while Trg do
- if not Trg.Parent then LocalBroken = true return end
- local Crp = Trg:FindFirstChild("HumanoidRootPart")
- if not Crp then LocalBroken = true return end
- if IsDead(Trg) then LocalBroken = true return end
- if Meta.Targeting.Functions.IsSafe(Crp.Position) then LocalBroken = true return end
- if Keep then
- Mag = (Hrp.Position - Pos).magnitude
- Dir = GetAngle(Hrp.CFrame.p, Pos).lookVector
- Meta.Debug.Magnitude = Mag
- Meta.Debug.Dir = Dir
- end
- wait()
- end
- LocalBroken = true
- end)
- end
- repeat wait()
- pcall(function()
- Update()
- Mag = (Hrp.Position - Pos).magnitude
- Dir = GetAngle(Hrp.CFrame.p, Pos).lookVector
- Hrp.CFrame = Hrp.CFrame + (Dir*Meta.UIS.TPS)
- if not IsBelow and Hrp.Position.Y < 60 then Hrp.CFrame = Hrp.CFrame + Vector3.new(0, 5, 0) end
- end)
- until LocalBroken or Meta.UIS.Broken or Mag <= Meta.UIS.TPS*2
- Update()
- Mag = (Hrp.Position - Pos).magnitude
- if LocalBroken or Meta.UIS.Broken or Mag > Meta.UIS.TPS*2 then return false end
- Hrp.CFrame = CFrame.new(Pos.X, Pos.Y, Pos.Z)
- return true
- end
- local function Tp(Pos, Trg, Keep)
- Update()
- if typeof(Pos) == typeof(CFrame.new()) then Pos = Pos.p end
- Spawned = false
- local Mag = (Hrp.Position - Pos).magnitude
- local Dir = GetAngle(Hrp.CFrame.p, Pos).lookVector
- Meta.Debug.Magnitude = Mag
- Meta.Debug.Dir = Dir
- local IsBelow = false
- if Pos.Y < 60 then IsBelow = true end
- if Trg then spawn(function()
- if not Trg.Parent then return end
- repeat wait()
- if not Trg then Spawned = true break end
- if not Trg.Parent then Spawned = true break end
- if IsDead(Trg) then Spawned = true break end
- if Keep then
- local hhh = Trg:FindFirstChild("HumanoidRootPart")
- if hhh then
- Pos = hhh.Position
- end
- Meta.Debug.Magnitude = Mag
- Meta.Debug.Dir = Dir
- end
- until false
- end)end
- repeat
- if Spawned then return false end
- if Meta.UIS.Broken then return false end
- wait()
- Update()
- local Exec = false
- pcall(function()
- if not IsBelow and Hrp.Position.Y < 60 then Hrp.CFrame = Hrp.CFrame + Vector3.new(0, 5, 0) end
- Mag = (Hrp.Position - Pos).magnitude
- Dir = GetAngle(Hrp.CFrame.p, Pos).lookVector
- Hrp.CFrame = Hrp.CFrame + (Dir*Meta.Teleportation.TpSpeed)
- Exec = true
- Meta.Debug.Magnitude = Mag
- Meta.Debug.Dir = Dir
- end)
- if not Exec then break end
- DebugLog("Comp : "..tostring(Mag).." | "..tostring(2*Meta.Teleportation.TpSpeed).."? "..tostring(Mag <= 2*Meta.Teleportation.TpSpeed))
- until Mag <= 2*Meta.Teleportation.TpSpeed
- Update()
- Hrp.CFrame = CFrame.new(Pos.X, Pos.Y, Pos.Z)
- return true
- end
- Meta.Teleportation = {
- Telep = Tpr
- }
- end
- local function TargetModule()
- Meta.Targeting = {
- DetectionMode = 2
- }
- local SafeZones = {}
- local Mobs = {}
- local Spawns = game.Workspace.NPCSpawns
- local Priority = Meta.UIS.Priority
- for i, v in pairs(game.Workspace.SafeZones:GetChildren())do
- pcall(function()
- table.insert(SafeZones,
- {
- MinPoint = Vector2.new(v.Position.X - (v.Size.X/2), v.Position.Z - (v.Size.Z/2)),
- MaxPoint = Vector2.new(v.Position.X + (v.Size.X/2), v.Position.Z + (v.Size.Z/2))
- }
- )
- end)
- end
- for i, v in pairs(Spawns:GetDescendants())do
- local HuRP = v:FindFirstChild("HumanoidRootPart")
- if HuRP then
- table.insert(Mobs, v)
- end
- end
- Spawns.DescendantAdded:Connect(function(v)
- wait()
- local HuRP = v:FindFirstChild("HumanoidRootPart")
- if v then
- table.insert(Mobs, v)
- end
- end)
- Spawns.DescendantRemoving:Connect(function(v)
- local Offset = 0
- for i, m in pairs(Mobs)do
- if m == v then
- table.remove(Mobs, i - Offset)
- Offset = Offset + 1
- end
- end
- end)
- local function IsSafe(Point)
- if typeof(Point) == "Vector3" then
- Point = Vector2.new(Point.X, Point.Z)
- end
- local Safe = false
- for i, v in pairs(SafeZones)do
- if Point.X > v.MinPoint.X and Point.Y > v.MinPoint.Y then
- if Point.X < v.MaxPoint.X and Point.Y < v.MaxPoint.Y then
- Safe = true
- end
- end
- end
- return Safe
- end
- local function FindTarget(m)
- Priority = Meta.UIS.Priority
- local function CheckMob(Mob)
- local Humanoid = Mob:FindFirstChildOfClass("Humanoid")
- local Crp = Mob:FindFirstChild("HumanoidRootPart")
- if Crp and Humanoid then if not IsDead(Mob) then return not IsSafe(Crp.Position) end end
- return false
- end
- local function RangeFind()
- Update()
- local Selc = nil
- local Closest = nil
- for i, v in pairs(Mobs) do
- if CheckMob(v) then
- local Crp = v:FindFirstChild("HumanoidRootPart")
- local Magnitude = (Hrp.Position - Crp.Position).magnitude
- if not Closest and v.Name ~= "Eto Yoshimura" then Closest = Magnitude Selc = v else
- if Closest > Magnitude and v.Name ~= "Eto Yoshimura" then Closest = Magnitude Selc = v end
- end
- end
- end
- return Selc
- end
- local function AogiriFind()
- Update()
- local Selc = nil
- local Closest = nil
- for i, v in pairs(Mobs) do
- if CheckMob(v) and string.find(v.Name, "Aogiri") then
- local Crp = v:FindFirstChild("HumanoidRootPart")
- local Magnitude = (Hrp.Position - Crp.Position).magnitude
- if not Closest and v.Name ~= "Eto Yoshimura" then Closest = Magnitude Selc = v else
- if Closest > Magnitude and v.Name ~= "Eto Yoshimura" then Closest = Magnitude Selc = v end
- end
- end
- end
- return Selc
- end
- local function ListFind()
- Update()
- local Qualify = {}
- local QualI = nil
- for i = 0, #Priority do
- local v = Priority[i]
- if v then
- if v.Mode then
- for e, c in pairs(Mobs)do
- if c.Name == v.Mob then
- if i ~= QualI and QualI ~= nil then break end
- if CheckMob(c) then QualI = i table.insert(Qualify, c) end
- end
- end
- end
- end
- end
- if #Qualify == 1 then return Qualify[1] end
- local Selc = nil
- local Closest = nil
- for i, v in pairs(Qualify) do
- local Crp = v:FindFirstChild("HumanoidRootPart")
- local Magnitude = (Hrp.Position - Crp.Position).magnitude
- if not Closest then Closest = Magnitude Selc = v else
- if Closest > Magnitude then Closest = Magnitude Selc = v end
- end
- end
- return Selc
- end
- if m and tonumber(m) == 4 then return AogiriFind() end
- if m and tonumber(m) then Meta.Targeting.DetectionMode = tonumber(m) end
- if Meta.Targeting.DetectionMode == 0 then
- for i, v in pairs(Mobs)do
- local Humanoid = v:FindFirstChildOfClass("Humanoid")
- if Humanoid then
- return v
- end
- end
- elseif Meta.Targeting.DetectionMode == 1 then
- return RangeFind()
- elseif Meta.Targeting.DetectionMode == 2 then
- return ListFind()
- end
- end
- local function InV(Key, Action, Location)
- pcall(function()
- Location = Location or CFrame.new()
- KeyEvent = Char.Remotes.KeyEvent
- KeyEvent:FireServer(RemotePassword, Key, Action, Location)
- end)
- end
- local function DetectKey()
- local CDs = {
- Mouse1 = PlayerFolder:FindFirstChild("ClickCD"),
- E = PlayerFolder:FindFirstChild("Special1CD"),
- R = PlayerFolder:FindFirstChild("Special2CD"),
- F = PlayerFolder:FindFirstChild("Special3CD")
- }
- local Arrange = {[2] = "F", [4] = "R", [3] = "E", [1] = "Mouse1"}
- for i = -1, #Arrange do
- local v = Arrange[i]
- if v then
- v = CDs[v]
- if v then
- if v.Value ~= "DownTime" then
- return Arrange[i]
- end
- end
- end
- end
- return "Mouse1"
- end
- local function WeaponExists()
- Update()
- if Char:FindFirstChild("Kagune") then return true end
- local Case = Char:FindFirstChild("Case")
- if Case then
- local Box = Case:FindFirstChild("Box")
- if Box then
- return (Box.Transparency > 0.8)
- else
- for i, v in pairs(Case:GetChildren()) do
- if v:IsA("BasePart") then Box = v end
- end
- end
- if Box then
- return (Box.Transparency > 0.8)
- end
- end
- return false
- end
- local function Masked()
- Update()
- if Char:FindFirstChild("Mask") then return true end
- if Char:FindFirstChild("KakujaMask") then return true end
- return false
- end
- local function Strike(Trg)
- Update()
- if not Trg then Meta.Interception.Target = nil return false end
- if IsDead(Trg) then Meta.Interception.Target = nil return nil end
- if not Trg:FindFirstChild("HumanoidRootPart") then return false end
- if IsSafe(Trg.HumanoidRootPart.Position) then return false end
- if not WeaponExists() then InV(NumericalToWord(Meta.UIS.PrefStg), "Down", Mouse.Hit) end
- if Meta.Interception.Target == Trg then else
- Meta.Teleportation.Telep(Trg.HumanoidRootPart.CFrame, Trg, true)
- end
- Meta.Interception.Target = Trg
- if not WeaponExists() then InV(NumericalToWord(Meta.UIS.PrefStg), "Down", Mouse.Hit) end
- if Meta.UIS.SpMoves then
- InV(DetectKey(), "Down", Mouse.Hit)
- else
- InV("Mouse1", "Down", Mouse.Hit)
- end
- return true
- end
- local function TakeOn(Trg)
- if not Trg then return false end
- local Crp = Trg:FindFirstChild("HumanoidRootPart")
- if not Crp then return false end
- if not Masked() and Meta.UIS.Masked then wait(1) InV("M", "Down", Mouse.Hit) wait(1) end
- local Res = true
- repeat wait(0.1)
- if Meta.UIS.Broken then wait(1) break end
- Res = Strike(Trg)
- until Res == nil or not Res
- Meta.Interception.Target = nil
- if Meta.UIS.Logging then KuraiLog("Killed "..Trg.Name..".") end
- Meta.UIS.StartStats.EK = Meta.UIS.StartStats.EK + 1
- brk = true
- return Res
- end
- local function Devour(Trg)
- if not Trg then return end
- local Cp = nil
- local Head = nil
- for i, v in pairs(Trg:GetDescendants())do
- if v:IsA("ClickDetector") then
- Cp = v.Parent break
- end
- if v.Name == "Head" then
- Head = v
- end
- end
- if not Cp then return end
- local Port = Cp.CFrame + Vector3.new(0, 3, 0)
- local Border = Instance.new("SelectionBox", Cp)
- Meta.Interception.Lock = Port
- Cp.CFrame = Port
- Border.Adornee = Cp
- Border.SurfaceColor3 = Border.Color3
- Border.SurfaceTransparency = 0.5
- if not Cp then return end
- local Camera = game.Workspace.CurrentCamera
- local Subject = Camera.CameraSubject
- local Cf = Camera.CFrame
- local function ImitateClick(n, w, t)
- for i = 0, n do
- Update()
- Cp.CFrame = Port
- Hrp.CFrame = Port
- Camera.CFrame = Cp.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(90), math.rad(-90))
- if w then wait(t) end
- Hrp.CFrame = Port
- if mouse1down then mouse1down() return end
- if Input then Input.LeftClick() return end
- if leftclick then leftclick(1) return end
- Hrp.CFrame = Port
- end
- end
- Camera.CameraSubject = Cp
- ImitateClick(8, true, 1)
- wait()
- Camera.CameraSubject = Subject
- Camera.CFrame = Cf
- spawn(function()
- while wait() do
- if not Cp then KuraiLog("Devoured "..Trg.Name..".") break end
- if Cp.Parent ~= Trg then KuraiLog("Devoured "..Trg.Name..".") break end
- end
- end)
- Meta.Interception.Lock = nil
- return
- end
- Meta.Targeting.Functions = {
- IsSafe = IsSafe,
- FindTarget = FindTarget,
- InV = InV,
- Strike = Strike,
- TakeOn = TakeOn,
- Devour = Devour
- }
- end
- local function Whitelist()
- for i, v in pairs(Data)do
- if string.find(v, tostring(Player.UserId)) then
- Meta.ix = v
- return true
- end
- end
- return false
- end
- local function InterceptionModule()
- Meta.Interception = {
- Target = nil,
- PLock = {},
- Lock = nil
- }
- local PLoc = nil
- local PHlth = nil
- local Magnitude = 0
- local HealthMag = 0
- spawn(function()
- while wait(1) do
- Update()
- if Meta.Interception.Target then
- local Crp = Meta.Interception.Target:FindFirstChild("HumanoidRootPart")
- local Hum = Meta.Interception.Target:FindFirstChildOfClass("Humanoid")
- if Crp then
- if not PLoc then PLoc = Crp.Position else
- Magnitude = (PLoc - Crp.Position).magnitude
- PLoc = Crp.Position
- end
- end
- if Hum then
- if not PHlth then PHlth = Hum.Health else
- HealthMag = math.abs(PHlth - Hum.Health)
- PHlth = Hum.Health
- end
- end
- else
- PLoc = nil
- PHlth = nil
- Magnitude = 0
- HealthMag = 0
- end
- end
- end)
- local function FindMode()
- local Target = Meta.Interception.Target
- if Target then
- local Folder = Target:FindFirstChild("NPCFolder")
- local Humanoid = Target:FindFirstChildOfClass("Humanoid")
- if Folder and Humanoid then
- if Target.Name == "Human" or Target.Name == "Athlete" and Magnitude > 1 then return 2 end
- if Target.Name == "Human" or Target.Name == "Athlete" then return 0 end
- if Target.Name == "Eto Yoshimura" then
- local CD3 = Folder:FindFirstChild("Special3CD")
- if CD3 then
- if CD3.Value == "Ready" or CD3.Value == "Recharge" then
- return 0
- else
- return 3
- end
- end
- end
- if Humanoid.Health < 100 then return 2 end
- if not Folder.IsSprinting.Value then return 0 end
- if Humanoid.MoveDirection.magnitude < 0.2 then return 0 end
- return 0
- elseif Humanoid then
- return 0
- end
- end
- return false
- end
- RunSr.Heartbeat:Connect(function()
- spawn(function()
- local kpl = Meta.UIS.Plate
- local kp = Meta.UIS.KPlate
- Update()
- if Meta.UIS.Farming or Meta.UIS.AttackingPlr then kpl.CFrame = CFrame.new(math.huge, math.huge, math.huge) return end
- if kp then
- kpl.CFrame = Hrp.CFrame - Vector3.new(0, 3.7, 0)
- else
- kpl.CFrame = CFrame.new(math.huge, math.huge, math.huge)
- end
- end)
- spawn(function()
- if #Meta.Interception.PLock > 0 then
- for i, v in pairs(Meta.Interception.PLock)do
- pcall(function()
- v[0].CFrame = v[1]
- end)
- end
- end
- end)
- Update()
- if Meta.Interception.Lock then
- Hrp.CFrame = Meta.Interception.Lock return
- end
- if Meta.UIS.Broken then Meta.Interception.Target = nil return end
- local Mode = FindMode()
- if Mode then
- local Target = Meta.Interception.Target:FindFirstChild("HumanoidRootPart")
- local Humanoid = Char:FindFirstChildOfClass("Humanoid")
- if Target and Humanoid then
- if Mode == 0 then
- local TFrame = Target.CFrame * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
- local Step = 7.5
- TFrame = TFrame - (TFrame.lookVector*Step)
- TFrame = TFrame + (TFrame.upVector * 2)
- TFrame = TFrame + (TFrame.rightVector * 1.5)
- Hrp.CFrame = TFrame
- Humanoid.WalkToPart = Target
- elseif Mode == 1 then
- local TFrame = Target.CFrame * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
- TFrame = TFrame - (TFrame.lookVector*6)
- TFrame = TFrame + (TFrame.upVector * 6)
- Hrp.CFrame = TFrame
- Humanoid.WalkToPart = Target
- elseif Mode == 2 then
- local TFrame = Target.CFrame
- local Step = 4
- local Op = 1
- if HealthMag == 0 then Op = -1 end
- if Magnitude > 2 then Step = 8+(Magnitude*2.5)end
- TFrame = TFrame + (TFrame.lookVector*Step*Op)
- TFrame = TFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(90*(Op+1)), 0)
- Hrp.CFrame = TFrame
- Humanoid.WalkToPart = Target
- elseif Mode == 3 then
- local TFrame = Target.CFrame * CFrame.fromEulerAnglesXYZ(math.rad(90), 0, 0)
- local Step = 35
- TFrame = TFrame - (TFrame.lookVector*Step)
- TFrame = TFrame + (TFrame.upVector * 2)
- TFrame = TFrame + (TFrame.rightVector * 1.5)
- Hrp.CFrame = TFrame
- Humanoid.WalkToPart = Target
- end
- end
- end
- end)
- end
- local function UISToMod()
- local function IndexTarget(Txt)
- if Txt == "List" then return Meta.Targeting.Functions.FindTarget(2)
- elseif Txt == "Range" then return Meta.Targeting.Functions.FindTarget(1)
- elseif Txt == "Auto" then return Meta.Targeting.Functions.FindTarget(0)
- else return Meta.Targeting.Functions.FindTarget(1)
- end
- end
- local function FocalCode(Code)
- if Code == "Durability" then
- return "DurabilityAddButton"
- elseif Code == "Weapon" then
- return "WeaponAddButton"
- elseif Code == "Physical" then
- return "PhysicalAddButton"
- elseif Code == "Speed" then
- return "SpeedAddButton"
- end
- end
- return {
- IndexTarget = IndexTarget,
- FocalCode = FocalCode
- }
- end
- local function UIModule()
- Meta.UI = {
- Kurai = Kurai
- }
- if DebugMode then
- Kurai.Debug.Visible = true
- spawn(function()
- while wait() do
- Kurai.Debug.Text = "Debug : </"..tostring(Meta.Debug.Dir).."></"..tostring(Meta.Debug.Magnitude).."></"..tostring(Meta.Debug.Target)..">?"
- end
- end)
- end
- Meta.UIS.Notiy = function(Text)
- local Notification = Kurai.NotifFrame.NotifSample:Clone()
- local TotalN = #Kurai.NotifFrame:GetChildren()-1
- if TotalN > 4 then wait(3) end
- Notification.Visible = true
- Notification.Name = "Notification"..tostring(TotalN)
- Notification.Text = Text
- Notification.Size = UDim2.new(0, Notification.TextBounds.X, 0, 20)
- Notification.Position = UDim2.new(-1, 0, 0, TotalN*22)
- Tween:Create(Notification, TweenInfo.new(), {Position = UDim2.new(0, 0, 0, TotalN*22)}):Play()
- wait(1)
- wait(#Text/10)
- Tween:Create(Notification, TweenInfo.new(), {Position = UDim2.new(-1, 0, 0, TotalN*22)}):Play()
- wait(1)
- Notification:Remove()
- end
- local TIS = {
- [0] = TweenInfo.new(
- 1,
- Enum.EasingStyle.Sine,
- Enum.EasingDirection.Out,
- 0,
- false,
- 0
- ),
- [1] = TweenInfo.new(
- 1,
- Enum.EasingStyle.Sine,
- Enum.EasingDirection.Out,
- 1000,
- true,
- 0
- ),
- [2] = TweenInfo.new(
- 0.2,
- Enum.EasingStyle.Sine,
- Enum.EasingDirection.Out,
- 0,
- false,
- 0
- )
- }
- local function AnimateGif(Source, Frames, Max, Loop)
- local Size = Source.ImageRectSize
- local Start = Source.ImageRectOffset
- for i = 0, Frames do
- wait()
- Source.ImageRectOffset = Source.ImageRectOffset + Vector2.new(Size.X, 0)
- if Source.ImageRectOffset.X >= Max.X then
- Source.ImageRectOffset = Vector2.new(0, Source.ImageRectOffset.Y + Size.Y)
- end
- end
- if Loop then Source.ImageRectOffset = Start AnimateGif(Source, Frames, Max, Loop) end
- end
- local function SetLoad()
- local Txt = Kurai.LoadingFrame.Process
- local Load = Kurai.LoadingFrame.Loading
- Load.Position = UDim2.new(0.5, -50-Txt.TextBounds.X/2, 0.5, 55)
- end
- Kurai.LoadingFrame.Visible = true
- Tween:Create(Kurai.LoadingFrame.LeftCurtain, TweenInfo.new(), {Position = UDim2.new(0, 0, 0, 0)}):Play()
- Tween:Create(Kurai.LoadingFrame.RightCurtain, TweenInfo.new(), {Position = UDim2.new(0.5, 0, 0, 0)}):Play()
- wait(1)
- Tween:Create(Kurai.LoadingFrame.Logo, TIS[0], {Position = UDim2.new(0.5, -50, 0.5, -100)}):Play()
- Tween:Create(Kurai.LoadingFrame.Title, TIS[0], {Position = UDim2.new(0, 0, 0.5, 0)}):Play()
- wait(1)
- Tween:Create(Kurai.LoadingFrame.Process, TIS[1], {TextTransparency = 0}):Play()
- Kurai.LoadingFrame.Loading.Visible = true
- local LoadD = {
- [0] = {Vector2.new(0, 0), 11, Vector2.new(768, 768), true},
- [1] = {Vector2.new(0, 256), 8, Vector2.new(768, 768), true},
- [2] = {Vector2.new(0, 512), 10, Vector2.new(768, 768), true}
- }
- local RI = math.random(0, 2)
- local Data = LoadD[RI]
- Kurai.LoadingFrame.Loading.ImageRectOffset = Data[1]
- table.remove(Data, 1)
- spawn(function() AnimateGif(Kurai.LoadingFrame.Loading, unpack(Data)) end)
- SetLoad()
- wait(wait())
- if Whitelist() then
- wait(2)
- Kurai.LoadingFrame.Process.Text = "Whitelisted! uwu"
- SetLoad()
- wait(2)
- local function SetProcess(Txt)
- Kurai.LoadingFrame.Process.Text = Txt
- SetLoad()
- end
- local function ChangeSmD(Btn, Prop)
- for i, v in pairs(Btn.SmoothData.Borders:GetChildren())do
- for e, c in pairs(Prop) do
- pcall(function()
- v[e] = c
- end)
- end
- end
- for i, v in pairs(Prop) do
- pcall(function()
- Btn[i] = v
- end)
- end
- end
- local function ChangeBrD(Btn, Prop)
- for i, v in pairs(Btn.SmoothData.Outlines:GetChildren())do
- for e, c in pairs(Prop) do
- pcall(function()
- v[e] = c
- end)
- end
- end
- end
- local function GetBoxValue(Ins)
- if Ins.Bg.Size.X.Scale > 0.1 then return true else return false end
- end
- local function IsExpanded(Ins)
- if Ins.Size.Y.Offset <= 13 then return false end
- return true
- end
- local function GetSwitchValue(Ins)
- for i, v in pairs(Ins:GetChildren())do
- if v:IsA("TextButton") then
- if v.SmoothData.Outlines.Visible then return v.Name end
- end
- end
- end
- local function RegisterCollapse(Ins)
- local InTween = Tween:Create(Ins, TweenInfo.new(), {Size = UDim2.new(1, -32, 0, Ins.Size.Y.Offset)})
- local OutTween = Tween:Create(Ins, TweenInfo.new(), {Size = UDim2.new(1, -32, 0, 12)})
- Ins.Title.Min.MouseButton1Click:Connect(function()
- if IsExpanded(Ins) then
- OutTween:Play()
- Ins.Title.Min.ImageRectOffset = Vector2.new(20, 0)
- wait(wait())
- Ins.List.Visible = false
- else
- InTween:Play()
- Ins.Title.Min.ImageRectOffset = Vector2.new(0, 0)
- wait(wait())
- Ins.List.Visible = true
- end
- end)
- InTween.Parent = Ins
- OutTween.Parent = Ins
- InTween.Name = "InTween"
- OutTween.Name = "OutTween"
- end
- local function RegisterCheckBox(Ins)
- local InTween = Tween:Create(Ins.Bg, TIS[2], {Size = UDim2.new(0.6, 0, 0.6, 0)})
- local OutTween = Tween:Create(Ins.Bg, TIS[2], {Size = UDim2.new(0, 0, 0, 0)})
- Ins.ClickTrigger.MouseButton1Click:Connect(function()
- if GetBoxValue(Ins) then
- OutTween:Play()
- else
- InTween:Play()
- end
- end)
- InTween.Parent = Ins
- OutTween.Parent = Ins
- InTween.Name = "InTween"
- OutTween.Name = "OutTween"
- end
- local function RegisterButton(Ins)
- Ins.MouseEnter:Connect(function()
- ChangeSmD(Ins, {BackgroundColor3 = Color3.fromRGB(25, 25, 25), ImageColor3 = Color3.fromRGB(25, 25, 25)})
- Ins.SmoothData.Outlines.Visible = true
- end)
- Ins.MouseLeave:Connect(function()
- ChangeSmD(Ins, {BackgroundColor3 = Color3.fromRGB(30, 30, 30), ImageColor3 = Color3.fromRGB(30, 30, 30)})
- Ins.SmoothData.Outlines.Visible = true
- end)
- end
- local function LoadingDone()
- SetProcess("Loaded!")
- wait(3)
- Kurai.LoadingFrame.Process.Visible = false
- Kurai.LoadingFrame.Loading.Visible = false
- Tween:Create(Kurai.LoadingFrame.Logo, TIS[0], {Position = UDim2.new(0.5, -50, 0, -200)}):Play()
- Tween:Create(Kurai.LoadingFrame.Title, TIS[0], {Position = UDim2.new(0, 0, 0, -200)}):Play()
- wait(1)
- Kurai.Introduction.Visible = true
- Tween:Create(Kurai.LoadingFrame.LeftCurtain, TweenInfo.new(), {Position = UDim2.new(-0.5, -100, 0, 0)}):Play()
- Tween:Create(Kurai.LoadingFrame.RightCurtain, TweenInfo.new(), {Position = UDim2.new(1, 100, 0, 0)}):Play()
- Kurai.Introduction.Proceed.MouseEnter:Connect(function()
- ChangeSmD(Kurai.Introduction.Proceed, {BackgroundColor3 = Color3.fromRGB(25, 25, 25), ImageColor3 = Color3.fromRGB(25, 25, 25)})
- Kurai.Introduction.Proceed.SmoothData.Outlines.Visible = true
- end)
- Kurai.Introduction.Proceed.MouseLeave:Connect(function()
- ChangeSmD(Kurai.Introduction.Proceed, {BackgroundColor3 = Color3.fromRGB(30, 30, 30), ImageColor3 = Color3.fromRGB(30, 30, 30)})
- Kurai.Introduction.Proceed.SmoothData.Outlines.Visible = false
- end)
- Kurai.Introduction.Proceed.MouseButton1Click:Connect(function()
- Kurai.Introduction:Remove()
- end)
- Kurai.Afterload.MainFrameDrag.Changed:Connect(function()
- local K0 = Kurai.Afterload.MainFrame
- local K1 = Kurai.Afterload.MainFrameDrag.Position
- K0.Position = UDim2.new(K1.X.Scale, K1.X.Offset, K1.Y.Scale, K1.Y.Offset + 20)
- end)
- Kurai.Afterload.MainFrameDrag.Quit.MouseButton1Click:Connect(function()
- Kurai.Afterload.Visible = false
- end)
- local MainFrame = Kurai.Afterload.MainFrame
- local FarmingMenu = MainFrame.FarmingMenu
- local Settings = Kurai.Afterload.MainFrame.Settings.Scrl
- Kurai.Afterload.MainFrameDrag.Settings.MouseButton1Click:Connect(function()
- if Settings.Parent.Visible then
- Settings.Parent.Visible = false
- FarmingMenu.Visible = true
- MainFrame.Credits.Visible = false
- else
- Settings.Parent.Visible = true
- FarmingMenu.Visible = false
- MainFrame.Credits.Visible = false
- end
- end)
- Kurai.Afterload.MainFrameDrag.Credits.MouseButton1Click:Connect(function()
- if MainFrame.Credits.Visible then
- MainFrame.Credits.Visible = false
- Settings.Parent.Visible = false
- FarmingMenu.Visible = true
- else
- MainFrame.Credits.Visible = true
- FarmingMenu.Visible = false
- Settings.Parent.Visible = false
- end
- end)
- local Switches = {
- FarmingMenu.FarmMode,
- FarmingMenu.TargetPick
- }
- local Counters = {
- FarmingMenu.StageUse,
- FarmingMenu.TpSpd,
- Settings.FocalData.List.Weapon,
- Settings.FocalData.List.Physical,
- Settings.FocalData.List.Durability,
- Settings.FocalData.List.Speed
- }
- local Checkboxes = {
- Settings.General.List.Masked,
- Settings.General.List.Term,
- Settings.General.List.SpMoves,
- Settings.General.List.RepFarm,
- Settings.General.List.ProgressShow,
- MainFrame.FarmingMenu.AutoFocus,
- MainFrame.FarmingMenu.DvTrg
- }
- local Expanders = {
- Settings.General,
- Settings.PriList,
- Settings.FocalData
- }
- local function CreatePri(Text, Value, Index)
- local Clone = Settings.PriList.Sample:Clone()
- Clone.Visible = true
- Clone.Parent = Settings.PriList.List
- Clone.Text.Text = Text
- Clone.Text.Rank.Changed:Connect(function()
- Clone.Text.RankLabel.Text = "#"..tostring(Clone.Text.Rank.Value)
- Clone.Position = UDim2.new(0, 5, 0, ((Clone.Text.Rank.Value-1)*25)+5)
- end)
- Clone.Text.Rank.Value = Index
- if Value then Clone.Bg.Size = UDim2.new(0.6, 0, 0.6, 0) end
- RegisterCheckBox(Clone)
- Clone.Text.DownRank.MouseButton1Click:Connect(function()
- local Rank = Clone.Text.Rank
- if Rank.Value == #Clone.Parent:GetChildren() then return end
- Rank.Value = Rank.Value + 1
- for i, v in pairs(Clone.Parent:GetChildren())do
- if v ~= Clone and v.Text.Rank.Value == Rank.Value then
- v.Text.Rank.Value = v.Text.Rank.Value - 1
- end
- end
- end)
- Clone.Text.UpRank.MouseButton1Click:Connect(function()
- local Rank = Clone.Text.Rank
- if Rank.Value == 1 then return end
- Rank.Value = Rank.Value - 1
- for i, v in pairs(Clone.Parent:GetChildren())do
- if v ~= Clone and v.Text.Rank.Value == Rank.Value then
- v.Text.Rank.Value = v.Text.Rank.Value + 1
- end
- end
- end)
- end
- for i, v in pairs(Meta.UIS.Priority) do
- CreatePri(v.Mob, v.Mode, i)
- local List = Settings.PriList.List
- List.CanvasSize = UDim2.new(0, 0, 0, List.CanvasSize.Y.Offset + 25)
- end
- for i, v in pairs(Counters) do
- pcall(function()
- local Value = v.Value
- local Vr = tonumber(Value.Text)
- local Min = Value.Min.Value
- local Max = Value.Max.Value
- if Vr == Min then
- Value.Neg.TextTransparency = 0.5
- end
- if Vr == Max then
- Value.Pos.TextTranspatrency = 0.5
- end
- Value.Neg.MouseEnter:Connect(function()
- ChangeSmD(Value.Neg, {BackgroundColor3 = Color3.fromRGB(25, 25, 25), ImageColor3 = Color3.fromRGB(25, 25, 25)})
- end)
- Value.Pos.MouseEnter:Connect(function()
- ChangeSmD(Value.Pos, {BackgroundColor3 = Color3.fromRGB(25, 25, 25), ImageColor3 = Color3.fromRGB(25, 25, 25)})
- end)
- Value.Neg.MouseLeave:Connect(function()
- ChangeSmD(Value.Neg, {BackgroundColor3 = Color3.fromRGB(30, 30, 30), ImageColor3 = Color3.fromRGB(30, 30, 30)})
- end)
- Value.Pos.MouseLeave:Connect(function()
- ChangeSmD(Value.Pos, {BackgroundColor3 = Color3.fromRGB(30, 30, 30), ImageColor3 = Color3.fromRGB(30, 30, 30)})
- end)
- Value.Neg.MouseButton1Click:Connect(function()
- Vr = tonumber(Value.Text)
- if Vr == Min then return end
- Value.Text = Vr - 1
- if tonumber(Value.Text) == Max then
- Value.Pos.TextTransparency = 0.5
- else
- Value.Pos.TextTransparency = 0
- end
- if tonumber(Value.Text) == Min then
- Value.Neg.TextTransparency = 0.5
- else
- Value.Neg.TextTransparency = 0
- end
- end)
- Value.Pos.MouseButton1Click:Connect(function()
- Vr = tonumber(Value.Text)
- if Vr == Max then return end
- Value.Text = Vr + 1
- if tonumber(Value.Text) == Max then
- Value.Pos.TextTransparency = 0.5
- else
- Value.Pos.TextTransparency = 0
- end
- if tonumber(Value.Text) == Min then
- Value.Neg.TextTransparency = 0.5
- else
- Value.Neg.TextTransparency = 0
- end
- end)
- end)
- end
- local NameBox = FarmingMenu.PlrNm.TextCont
- local NameRefrence = nil
- NameBox.Changed:Connect(function()
- local Pred = NameBox.Prediction
- NameBox.Text = string.lower(NameBox.Text)
- Pred.Text = NameBox.Text
- local Refrence = GetPlayerFromShortName(NameBox.Text)
- if #NameBox.Text >= 3 and Refrence then
- Pred.Text = string.lower(Refrence.Name)
- NameRefrence = Refrence
- end
- end)
- for i, v in pairs(Expanders)do
- RegisterCollapse(v)
- end
- for i, v in pairs(Switches) do
- pcall(function()
- for e, c in pairs(v:GetChildren())do
- if c:IsA("TextButton") then
- c.MouseEnter:Connect(function()
- ChangeSmD(c, {BackgroundColor3 = Color3.fromRGB(25, 25, 25), ImageColor3 = Color3.fromRGB(25, 25, 25)})
- end)
- c.MouseLeave:Connect(function()
- ChangeSmD(c, {BackgroundColor3 = Color3.fromRGB(30, 30, 30), ImageColor3 = Color3.fromRGB(30, 30, 30)})
- end)
- c.MouseButton1Click:Connect(function()
- for n, m in pairs(v:GetChildren())do
- m.SmoothData.Outlines.Visible = false
- end
- c.SmoothData.Outlines.Visible = true
- end)
- end
- end
- end)
- end
- local function CompileMeta()
- Meta.UIS.Targeting = GetSwitchValue(FarmingMenu.TargetPick)
- Meta.UIS.FarmMode = GetSwitchValue(FarmingMenu.FarmMode)
- Meta.UIS.AutoFocus = GetBoxValue(FarmingMenu.AutoFocus)
- Meta.UIS.Devour = GetBoxValue(FarmingMenu.DvTrg)
- Meta.UIS.PrefStg = tonumber(FarmingMenu.StageUse.Value.Text)
- Meta.UIS.TPS = tonumber(FarmingMenu.TpSpd.Value.Text)/3
- Meta.UIS.PlrRefrence = NameRefrence
- Meta.UIS.Masked = GetBoxValue(Settings.General.List.Masked)
- Meta.UIS.RepFarm = GetBoxValue(Settings.General.List.RepFarm)
- Meta.UIS.SpMoves = GetBoxValue(Settings.General.List.SpMoves)
- Meta.UIS.Logging = GetBoxValue(Settings.General.List.Term)
- local FocDat = {}
- for i, v in pairs(Settings.FocalData.List:GetChildren())do
- FocDat[v.Name] = tonumber(v.Value.Text)
- end
- Meta.UIS.FocalData = FocDat
- local Pri = {}
- for i, v in pairs(Settings.PriList.List:GetChildren())do
- Pri[tonumber(v.Text.Rank.Value)] = {
- Mob = v.Text.Text,
- Mode = GetBoxValue(v)
- }
- end
- Meta.UIS.Priority = Pri
- Meta.UIS.StartStats.Lvl = tonumber(Stats.Level.Value)
- Meta.UIS.StartStats.RC = tonumber(Stats.RC.Value)
- Meta.UIS.StartStats.Rep = tonumber(Stats.Reputation.Value)
- Meta.UIS.StartStats.Yen = tonumber(Stats.Yen.Value)
- Meta.UIS.StartStats.Tk = 0
- Meta.UIS.StartStats.EK = 0
- end
- FarmingMenu.AttackBtn.MouseEnter:Connect(function()
- ChangeSmD(FarmingMenu.AttackBtn, {BackgroundColor3 = Color3.fromRGB(25, 25, 25), ImageColor3 = Color3.fromRGB(25, 25, 25)})
- FarmingMenu.AttackBtn.SmoothData.Outlines.Visible = true
- end)
- FarmingMenu.StartBtn.MouseEnter:Connect(function()
- ChangeSmD(FarmingMenu.StartBtn, {BackgroundColor3 = Color3.fromRGB(25, 25, 25), ImageColor3 = Color3.fromRGB(25, 25, 25)})
- FarmingMenu.StartBtn.SmoothData.Outlines.Visible = true
- end)
- FarmingMenu.AttackBtn.MouseLeave:Connect(function()
- ChangeSmD(FarmingMenu.AttackBtn, {BackgroundColor3 = Color3.fromRGB(30, 30, 30), ImageColor3 = Color3.fromRGB(30, 30, 30)})
- FarmingMenu.AttackBtn.SmoothData.Outlines.Visible = false
- end)
- FarmingMenu.StartBtn.MouseLeave:Connect(function()
- ChangeSmD(FarmingMenu.StartBtn, {BackgroundColor3 = Color3.fromRGB(30, 30, 30), ImageColor3 = Color3.fromRGB(30, 30, 30)})
- FarmingMenu.StartBtn.SmoothData.Outlines.Visible = false
- end)
- Kurai.FarmFrame.Main.TermShw.MouseButton1Click:Connect(function()
- if Kurai.FarmFrame.Terminal.Visible then
- Kurai.FarmFrame.Terminal.Visible = false
- Kurai.FarmFrame.Main.TermShw.Text = "Show Terminal"
- else
- Kurai.FarmFrame.Terminal.Visible = true
- Kurai.FarmFrame.Main.TermShw.Text = "Hide Terminal"
- end
- end)
- Kurai.FarmFrame.Terminal.MainDrag.Quit.MouseButton1Click:Connect(function()
- Kurai.FarmFrame.Terminal.Visible = false
- Kurai.FarmFrame.Main.TermShw.Text = "Show Terminal"
- end)
- Kurai.FarmFrame.Terminal.MainDrag.Changed:Connect(function()
- local p = Kurai.FarmFrame.Terminal.MainDrag.Position
- Kurai.FarmFrame.Terminal.Main.Position = UDim2.new(p.X.Scale, p.X.Offset, p.Y.Scale, p.Y.Offset + 20)
- end)
- Kurai.FarmFrame.Terminal.MainDrag.Clear.MouseButton1Click:Connect(function()
- Meta.UI.Kurai.FarmFrame.Terminal.Main.Log.Text.Text = ""
- for i = 0, 3 do
- Txt.Parent.CanvasSize = UDim2.new(1, Txt.TextBounds.X, 1, Txt.TextBounds.Y)
- Txt.Parent.CanvasSize = UDim2.new(0, Txt.TextBounds.X, 0, Txt.TextBounds.Y)
- end
- end)
- RegisterButton(Kurai.FarmFrame.Main.TermShw)
- RegisterButton(Kurai.FarmFrame.Main.BrkTrg)
- RegisterButton(Kurai.FarmFrame.Main.FrmStop)
- RegisterButton(Kurai.PlayerTrgFrame.Main.BrkTrg)
- RegisterButton(Kurai.PlayerTrgFrame.Main.TrgStop)
- local Debounce0 = false
- local Debounce1 = false
- local Debounce2 = false
- local Debounce3 = false
- Kurai.PlayerTrgFrame.Main.TrgStop.MouseButton1Click:Connect(function()
- if not Debounce2 and not Debounce3 then
- Debounce2 = true
- Meta.UIS.Broken = true
- Meta.UIS.AttackingPlr = false wait(wait())
- Meta.Commands.sbuild()
- Kurai.PlayerTrgFrame.Main.BrkTrg.TextTransparency = 0.75
- Kurai.PlayerTrgFrame.Main.TrgStop.TextTransparency = 0.75
- wait(1)
- Kurai.PlayerTrgFrame.Main.BrkTrg.TextTransparency = 0
- Kurai.PlayerTrgFrame.Main.TrgStop.TextTransparency = 0
- Meta.UIS.Broken = false
- Debounce2 = false
- Kurai.Afterload.Visible = true
- Kurai.PlayerTrgFrame.Visible = false
- end
- end)
- Kurai.FarmFrame.Main.BrkTrg.MouseButton1Click:Connect(function()
- if not Debounce2 and not Debounce3 then
- Debounce3 = true
- Meta.UIS.Broken = true
- Kurai.PlayerTrgFrame.Main.BrkTrg.TextTransparency = 0.75
- Kurai.PlayerTrgFrame.Main.TrgStop.TextTransparency = 0.75
- wait(1)
- Kurai.PlayerTrgFrame.Main.BrkTrg.TextTransparency = 0
- Kurai.PlayerTrgFrame.Main.TrgStop.TextTransparency = 0
- Debounce3 = false
- Meta.UIS.Broken = false
- end
- end)
- Kurai.FarmFrame.Main.BrkTrg.MouseButton1Click:Connect(function()
- if not Debounce0 and not Debounce1 then
- Debounce0 = true
- Meta.UIS.Broken = true
- Kurai.FarmFrame.Main.BrkTrg.TextTransparency = 0.75
- Kurai.FarmFrame.Main.FrmStop.TextTransparency = 0.75
- wait(1)
- Kurai.FarmFrame.Main.BrkTrg.TextTransparency = 0
- Kurai.FarmFrame.Main.FrmStop.TextTransparency = 0
- Debounce0 = false
- Meta.UIS.Broken = false
- end
- end)
- Kurai.FarmFrame.Main.FrmStop.MouseButton1Click:Connect(function()
- if not Debounce1 and not Debounce0 then
- Debounce1 = true
- Meta.UIS.Broken = true wait(wait())
- Meta.UIS.Farming = false
- Meta.Commands.sbuild()
- Kurai.FarmFrame.Main.BrkTrg.TextTransparency = 0.75
- Kurai.FarmFrame.Main.FrmStop.TextTransparency = 0.75
- wait(0.2)
- Kurai.FarmFrame.Main.BrkTrg.TextTransparency = 0
- Kurai.FarmFrame.Main.FrmStop.TextTransparency = 0
- Debounce1 = false
- Meta.UIS.Broken = false
- end
- Kurai.FarmFrame.Main.Visible = false
- Kurai.FarmFrame.Visible = false
- Kurai.Afterload.Visible = true
- Kurai.FarmFrame.DevIndic.Visible = false
- end)
- FarmingMenu.AttackBtn.MouseButton1Click:Connect(function()
- CompileMeta()
- if Meta.UIS.PlrRefrence then
- Meta.UIS.AttackingPlr = true
- Meta.Commands.rbuild()
- Kurai.Cmd.Visible = false
- Kurai.Afterload.Visible = false
- Kurai.PlayerTrgFrame.Visible = true
- Kurai.PlayerTrgFrame.Main.Visible = true
- Meta.UIS.Broken = true
- Debounce2 = true
- Debounce3 = true
- Kurai.PlayerTrgFrame.Main.BrkTrg.TextTransparency = 0.75
- Kurai.PlayerTrgFrame.Main.TrgStop.TextTransparency = 0.75
- wait(0.2)
- Meta.UIS.Broken = false
- Debounce2 = false
- Debounce3 = false
- Kurai.PlayerTrgFrame.Main.BrkTrg.TextTransparency = 0
- Kurai.PlayerTrgFrame.Main.TrgStop.TextTransparency = 0
- end
- end)
- FarmingMenu.StartBtn.MouseButton1Click:Connect(function()
- CompileMeta()
- Meta.UIS.Farming = true
- Meta.Commands.rbuild()
- Kurai.Cmd.Visible = false
- Kurai.Afterload.Visible = false
- Kurai.FarmFrame.Visible = true
- local XN = 200
- if GetBoxValue(Settings.General.List.Term) then
- XN = 325
- Kurai.FarmFrame.Main.TermShw.Visible = true
- else
- Kurai.FarmFrame.Main.TermShw.Visible = false
- end
- if GetBoxValue(Settings.General.List.ProgressShow) then
- if XN == 325 then
- XN = 555
- else
- XN = 500
- end
- Kurai.FarmFrame.Main.Progress.Visible = true
- else
- Kurai.FarmFrame.Main.Progress.Visible = false
- end
- Kurai.FarmFrame.Main.Size = UDim2.new(0, XN, 0, 60)
- Kurai.FarmFrame.Main.Visible = true
- Kurai.FarmFrame.DevIndic.Visible = Meta.UIS.Devour
- Debounce0 = true
- Debounce1 = true
- Kurai.FarmFrame.Main.BrkTrg.TextTransparency = 0.75
- Kurai.FarmFrame.Main.FrmStop.TextTransparency = 0.75
- Meta.UIS.Broken = true
- wait(1)
- Meta.UIS.Broken = false
- Debounce0 = false
- Debounce1 = false
- Kurai.FarmFrame.Main.BrkTrg.TextTransparency = 0
- Kurai.FarmFrame.Main.FrmStop.TextTransparency = 0
- end)
- spawn(function()
- while wait() do
- local Prog = Kurai.FarmFrame.Main.Progress
- Prog.REPL.Text = "Rep : "..tostring(tonumber(Stats.Reputation.Value) - Meta.UIS.StartStats.Rep)
- Prog.RCL.Text = "RC : "..tostring(tonumber(Stats.RC.Value) - (Meta.UIS.StartStats.RC))
- Prog.TKL.Text = "Total Kills : "..tostring(Meta.UIS.StartStats.EK)
- Prog.TLS.Text = "Levels : "..tostring(tonumber(Stats.Level.Value) - Meta.UIS.StartStats.Lvl)
- Prog.YenL.Text = "Yen : "..tostring(tonumber(Stats.Yen.Value - Meta.UIS.StartStats.Yen))
- end
- end)
- local CMF = false
- InputS.InputBegan:Connect(function(InP)
- if InP.KeyCode == Enum.KeyCode.K then
- if InputS:IsKeyDown(Enum.KeyCode.LeftControl) then
- local Intro = Kurai:FindFirstChild("Introduction")
- if Intro then Intro:Remove() end
- if Kurai.PlayerTrgFrame.Visible or Kurai.FarmFrame.Visible then else
- Kurai.Afterload.Visible = not Kurai.Afterload.Visible
- end
- end
- elseif InP.KeyCode == Enum.KeyCode.J then
- if InputS:IsKeyDown(Enum.KeyCode.LeftControl) then
- if not Meta.UIS.Farming and not Meta.UIS.AttackingPlr then
- Kurai.Cmd.Visible = true
- Kurai.Cmd:CaptureFocus()
- Kurai.Cmd.Text = ""
- end
- end
- elseif InP.KeyCode == Enum.KeyCode.Return then
- if CMF then
- local Cmd = Kurai.Cmd.Text
- if Cmd ~= "" then
- local Args = StringToArray(Cmd, " ")
- local Func = Meta.Commands[Args[1]]
- if typeof(Func) == "function" then
- table.remove(Args, 1)
- local Res = Func(Args)
- if not Res.Succ then
- Meta.UIS.Notiy(Res.Text)
- end
- end
- end
- end
- end
- end)
- Kurai.Cmd.Focused:Connect(function()
- CMF = true
- end)
- Kurai.Cmd.FocusLost:Connect(function()
- wait()
- CMF = false
- wait()
- Kurai.Cmd.Visible = false
- Kurai.Cmd.Text = ""
- end)
- for i, v in pairs(Checkboxes)do
- RegisterCheckBox(v)
- end
- wait(2)
- Kurai.LoadingFrame:Destroy()
- end
- return {
- [0] = SetProcess,
- [1] = LoadingDone
- }
- else
- wait(2)
- Kurai.LoadingFrame.Process.Text = "You're Not Whitelisted."
- Kurai.LoadingFrame.Loading.Visible = false
- wait(2)
- Kurai:Remove()
- wait(2)
- Player:Kick("Whitelist Failed!")
- return false
- end
- end
- local UISLink = UISToMod()
- local function System()
- Player.CharacterAdded:Connect(function()
- Update() wait()
- local Humanoid = Char:FindFirstChildOfClass("Humanoid")
- Humanoid.Died:Connect(function()
- Meta.UIS.Broken = true
- end)
- wait()
- Meta.UIS.Broken = false
- end)
- local Target = nil
- local TimeLeft = 0
- Update()
- Player.CharacterAdded:Connect(function()
- Update()
- Target = UISLink.IndexTarget(Meta.UIS.Targeting)
- local Hum = Char:FindFirstChildOfClass("Humanoid")
- if not Hum then return end
- Hum.Died:Connect(function()
- Target = nil
- end)
- end)
- local function CheckFocus ()
- local Focus = Stats.Focus.Value
- local FocalMin = 0
- local FocalData = Meta.UIS.FocalData
- Focus = tonumber(Focus)
- for i, v in pairs(FocalData) do
- FocalMin = FocalMin + v
- end
- if Focus >= FocalMin then
- for i, v in pairs(FocalData) do
- local Func = PlayerFolder.StatsFunction
- Func:InvokeServer("Focus", UISLink.FocalCode(i), v)
- end
- end
- end
- local function CheckRep()
- DebugLog("Check Rep Called")
- if game.Workspace.DistributedGameTime >= TimeLeft then
- local Rem = game.ReplicatedStorage.Remotes.ReputationCashOut
- local function Rep()
- local Returnal = "Null"
- pcall(function()
- DebugLog("Rep()Invoked")
- local Rom = nil
- if PlayerFolder.Customization.Team.Value == "Ghoul" then
- Rom = game.Workspace.Spawns.YoshimuraSpawn.Position
- else
- Rom = game.Workspace.Spawns.YoshitokiSpawn.Position
- end
- local Ram = Meta.Teleportation.Telep(Rom)
- DebugLog("Passed Telep!")
- DebugLog(Ram)
- if Meta.UIS.Broken then return end
- if not Ram then Update() return end
- Returnal = Rem:InvokeServer()
- end)
- repeat wait() until Returnal ~= "Null"
- DebugLog("Breaker Past!")
- if Meta.UIS.Logging and string.find(tostring(Returnal), "+") then KuraiLog("Farmed "..tostring(Returnal).." Rep.") end
- return Returnal
- end
- local Ret = Rep()
- if tonumber(Ret) then
- if Meta.UIS.Broken then return end
- return CheckRep()
- else Ret = StringToArray(Ret, ":")
- if #Ret > 1 then
- local Num = game.Workspace.DistributedGameTime + 10
- Num = Num + (tonumber(Ret[1])*3600)
- Num = Num + (tonumber(Ret[2])*60)
- Num = Num + (tonumber(Ret[3]))
- TimeLeft = Num
- end
- end
- end
- end
- local function CheckTask()
- DebugLog("CheckTask Invoked.")
- local function CallTask(n, w, d)
- DebugLog("CallTask Invoked")
- pcall(function()
- local Ram = nil
- local Rom = nil
- if PlayerFolder.Customization.Team.Value == "Ghoul" then
- Ram = game:GetService("ReplicatedStorage").Remotes.Yoshimura.Task
- Rom = game.Workspace.Spawns.YoshimuraSpawn.Position
- else
- Ram = game:GetService("ReplicatedStorage").Remotes.Yoshitoki.Task
- Rom = game.Workspace.Spawns.YoshitokiSpawn.Position
- end
- local Rem = Meta.Teleportation.Telep(Rom)
- if d then wait() end
- if not Rem then Update() return end
- for i = 0, n do
- if w then wait() end
- Ram:InvokeServer()
- end
- DebugLog("Called Task.")
- end)
- end
- Update()
- local Quest = PlayerFolder:FindFirstChild("CurrentQuest")
- if Quest then
- local Current = Quest.Complete:FindFirstChild("Aogiri Member")
- if Current then
- local Max = Current:FindFirstChild("Max")
- Current = Current.Value
- if Max then Max = Max.Value
- if Current == Max then
- KuraiLog("Task Completed.")
- if Meta.UIS.Broken then return end
- CallTask(3, true, true) return true
- else return
- end
- else if Meta.UIS.Broken then return end CallTask(1, true, true)
- end
- else if Meta.UIS.Broken then return end CallTask(1, true, true)
- end
- else if Meta.UIS.Broken then return end CallTask(1, true, true)
- end
- if DebugMode then
- DebugLog("Executed Quest!")
- end
- end
- while wait() do
- Update()
- Meta.Debug.Target = Target
- if Meta.UIS.Farming then
- if Meta.UIS.Broken then Target = nil repeat wait() until not Meta.UIS.Broken wait() end
- if Meta.UIS.AutoFocus then CheckFocus() end
- DebugLog("Primary Checks Past!")
- if Meta.UIS.FarmMode == "Regular" then
- if Meta.UIS.RepFarm then CheckRep() end
- wait(wait())
- if Target then
- if Target.Parent then
- if not IsDead(Target) then
- Meta.Debug.Target = Target
- local Res = Meta.Targeting.Functions.TakeOn(Target)
- if Meta.UIS.Devour then Meta.Targeting.Functions.Devour(Target) Meta.Debug.Target = Target end
- if Res == false then Target = UISLink.IndexTarget(Meta.UIS.Targeting) Meta.Debug.Target = Target end
- if Res == nil then Target = UISLink.IndexTarget(Meta.UIS.Targeting) Meta.Debug.Target = Target end
- end
- end
- else Target = UISLink.IndexTarget(Meta.UIS.Targeting) Meta.Debug.Target = Target
- end
- elseif Meta.UIS.FarmMode == "Task" then
- CheckTask()
- if Meta.UIS.RepFarm then CheckRep() end
- wait(wait())
- if Target then
- if Target.Parent then
- if not IsDead(Target) then
- Meta.Debug.Target = Target
- local Res = Meta.Targeting.Functions.TakeOn(Target)
- if Meta.UIS.Devour then Meta.Targeting.Functions.Devour(Target) Meta.Debug.Target = Target end
- if Res == false then Target = Meta.Targeting.Functions.FindTarget(4) Meta.Debug.Target = Target end
- if Res == nil then Target = Meta.Targeting.Functions.FindTarget(4) Meta.Debug.Target = Target end
- end
- end
- else Target = Meta.Targeting.Functions.FindTarget(4) Meta.Debug.Target = Target
- end
- end
- elseif Meta.UIS.AttackingPlr and Meta.UIS.PlrRefrence then
- Update()
- if Meta.UIS.PlrRefrence.Character then
- Meta.Targeting.Functions.TakeOn(Meta.UIS.PlrRefrence.Character)
- else
- wait(2)
- end
- end
- end
- end
- local function KURAI_NAMESPACE()
- Update()
- local UIM = UIModule()
- UIM[0]("Loading Modules...")
- InterceptionModule()
- TargetModule()
- TeleportationModule()
- spawn(function()
- System()
- end)
- wait(2)
- UIM[0]("Setting Up Commands...(Prepare For Lag.)")
- wait(1)
- BuildModule()
- UIM[1]()
- end
- warn("All setups done.") wait(2)
- KURAI_NAMESPACE()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement