eval

Run Settings
LanguageLua
Language Version
Run Command
do -- Converted using Mokiros's Model to Script Version 3 -- Converted string size: 1480 characters local function Decode(str) local StringLength = #str -- Base64 decoding do local decoder = {} for b64code, char in pairs(('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='):split('')) do decoder[char:byte()] = b64code-1 end local n = StringLength local t,k = table.create(math.floor(n/4)+1),1 local padding = str:sub(-2) == '==' and 2 or str:sub(-1) == '=' and 1 or 0 for i = 1, padding > 0 and n-4 or n, 4 do local a, b, c, d = str:byte(i,i+3) local v = decoder[a]*0x40000 + decoder[b]*0x1000 + decoder[c]*0x40 + decoder[d] t[k] = string.char(bit32.extract(v,16,8),bit32.extract(v,8,8),bit32.extract(v,0,8)) k = k + 1 end if padding == 1 then local a, b, c = str:byte(n-3,n-1) local v = decoder[a]*0x40000 + decoder[b]*0x1000 + decoder[c]*0x40 t[k] = string.char(bit32.extract(v,16,8),bit32.extract(v,8,8)) elseif padding == 2 then local a, b = str:byte(n-3,n-2) local v = decoder[a]*0x40000 + decoder[b]*0x1000 t[k] = string.char(bit32.extract(v,16,8)) end str = table.concat(t) end local Position = 1 local function Parse(fmt) local Values = {string.unpack(fmt,str,Position)} Position = table.remove(Values) return table.unpack(Values) end local Settings = Parse('B') local Flags = Parse('B') Flags = { --[[ValueIndexByteLength]] bit32.extract(Flags,6,2)+1, --[[InstanceIndexByteLength]] bit32.extract(Flags,4,2)+1, --[[ConnectionsIndexByteLength]] bit32.extract(Flags,2,2)+1, --[[MaxPropertiesLengthByteLength]] bit32.extract(Flags,0,2)+1, --[[Use Double instead of Float]] bit32.band(Settings,0b1) > 0 } local ValueFMT = ('I'..Flags[1]) local InstanceFMT = ('I'..Flags[2]) local ConnectionFMT = ('I'..Flags[3]) local PropertyLengthFMT = ('I'..Flags[4]) local ValuesLength = Parse(ValueFMT) local Values = table.create(ValuesLength) local CFrameIndexes = {} local ValueDecoders = { --!!Start [1] = function(Modifier) return Parse('s'..Modifier) end, --!!Split [2] = function(Modifier) return Modifier ~= 0 end, --!!Split [3] = function() return Parse('d') end, --!!Split [4] = function(_,Index) table.insert(CFrameIndexes,{Index,Parse(('I'..Flags[1]):rep(3))}) end, --!!Split [5] = {CFrame.new,Flags[5] and 'dddddddddddd' or 'ffffffffffff'}, --!!Split [6] = {Color3.fromRGB,'BBB'}, --!!Split [7] = {BrickColor.new,'I2'}, --!!Split [8] = function(Modifier) local len = Parse('I'..Modifier) local kpts = table.create(len) for i = 1,len do kpts[i] = ColorSequenceKeypoint.new(Parse('f'),Color3.fromRGB(Parse('BBB'))) end return ColorSequence.new(kpts) end, --!!Split [9] = function(Modifier) local len = Parse('I'..Modifier) local kpts = table.create(len) for i = 1,len do kpts[i] = NumberSequenceKeypoint.new(Parse(Flags[5] and 'ddd' or 'fff')) end return NumberSequence.new(kpts) end, --!!Split [10] = {Vector3.new,Flags[5] and 'ddd' or 'fff'}, --!!Split [11] = {Vector2.new,Flags[5] and 'dd' or 'ff'}, --!!Split [12] = {UDim2.new,Flags[5] and 'di2di2' or 'fi2fi2'}, --!!Split [13] = {Rect.new,Flags[5] and 'dddd' or 'ffff'}, --!!Split [14] = function() local flags = Parse('B') local ids = {"Top","Bottom","Left","Right","Front","Back"} local t = {} for i = 0,5 do if bit32.extract(flags,i,1)==1 then table.insert(t,Enum.NormalId[ids[i+1]]) end end return Axes.new(unpack(t)) end, --!!Split [15] = function() local flags = Parse('B') local ids = {"Top","Bottom","Left","Right","Front","Back"} local t = {} for i = 0,5 do if bit32.extract(flags,i,1)==1 then table.insert(t,Enum.NormalId[ids[i+1]]) end end return Faces.new(unpack(t)) end, --!!Split [16] = {PhysicalProperties.new,Flags[5] and 'ddddd' or 'fffff'}, --!!Split [17] = {NumberRange.new,Flags[5] and 'dd' or 'ff'}, --!!Split [18] = {UDim.new,Flags[5] and 'di2' or 'fi2'}, --!!Split [19] = function() return Ray.new(Vector3.new(Parse(Flags[5] and 'ddd' or 'fff')),Vector3.new(Parse(Flags[5] and 'ddd' or 'fff'))) end --!!End } for i = 1,ValuesLength do local TypeAndModifier = Parse('B') local Type = bit32.band(TypeAndModifier,0b11111) local Modifier = (TypeAndModifier - Type) / 0b100000 local Decoder = ValueDecoders[Type] if type(Decoder)=='function' then Values[i] = Decoder(Modifier,i) else Values[i] = Decoder[1](Parse(Decoder[2])) end end for i,t in pairs(CFrameIndexes) do Values[t[1]] = CFrame.fromMatrix(Values[t[2]],Values[t[3]],Values[t[4]]) end local InstancesLength = Parse(InstanceFMT) local Instances = {} local NoParent = {} for i = 1,InstancesLength do local ClassName = Values[Parse(ValueFMT)] local obj local MeshPartMesh,MeshPartScale if ClassName == "UnionOperation" then obj = DecodeUnion(Values,Flags,Parse) obj.UsePartColor = true elseif ClassName:find("Script") then obj = Instance.new("Folder") Script(obj,ClassName=='ModuleScript') elseif ClassName == "MeshPart" then obj = Instance.new("Part") MeshPartMesh = Instance.new("SpecialMesh") MeshPartMesh.MeshType = Enum.MeshType.FileMesh MeshPartMesh.Parent = obj else obj = Instance.new(ClassName) end local Parent = Instances[Parse(InstanceFMT)] local PropertiesLength = Parse(PropertyLengthFMT) local AttributesLength = Parse(PropertyLengthFMT) Instances[i] = obj for i = 1,PropertiesLength do local Prop,Value = Values[Parse(ValueFMT)],Values[Parse(ValueFMT)] -- ok this looks awful if MeshPartMesh then if Prop == "MeshId" then MeshPartMesh.MeshId = Value continue elseif Prop == "TextureID" then MeshPartMesh.TextureId = Value continue elseif Prop == "Size" then if not MeshPartScale then MeshPartScale = Value else MeshPartMesh.Scale = Value / MeshPartScale end elseif Prop == "MeshSize" then if not MeshPartScale then MeshPartScale = Value MeshPartMesh.Scale = obj.Size / Value else MeshPartMesh.Scale = MeshPartScale / Value end continue end end obj[Prop] = Value end if MeshPartMesh then if MeshPartMesh.MeshId=='' then if MeshPartMesh.TextureId=='' then MeshPartMesh.TextureId = 'rbxasset://textures/meshPartFallback.png' end MeshPartMesh.Scale = obj.Size end end for i = 1,AttributesLength do obj:SetAttribute(Values[Parse(ValueFMT)],Values[Parse(ValueFMT)]) end if not Parent then table.insert(NoParent,obj) else obj.Parent = Parent end end local ConnectionsLength = Parse(ConnectionFMT) for i = 1,ConnectionsLength do local a,b,c = Parse(InstanceFMT),Parse(ValueFMT),Parse(InstanceFMT) Instances[a][Values[b]] = Instances[c] end return NoParent end local Objects = Decode('AABWIQZGb2xkZXIhBE5hbWUhBmFzc2V0cyEEUGFydCEJc2Nhbl9iZWFtIQ1Cb3R0b21TdXJmYWNlAwAAAAAAAAAAIQpCcmlja0NvbG9yB+sDIQZDRnJhbWUEE09QIQVDb2xvcgYREREhCE1hdGVyaWFsAwAAAAAAAJFAIQtPcmllbnRhdGlvbgoAAAAAAAA0QwAAAAAh' ..'CFBvc2l0aW9uCozY3kI/ACBAxHGIwiEIUm90YXRpb24KAAA0QwAAAAAAADRDIQRTaXplCgAAgD8AAIA/AACAPyEKVG9wU3VyZmFjZSEMVHJhbnNwYXJlbmN5AwAAAEAzM+s/IQpBdHRhY2htZW50BB5RUgoAALTCAAC0QgAAAAAKAAAAAAAAAAAAAAC/IQRCZWFtIQtB' ..'dHRhY2htZW50MCELQXR0YWNobWVudDEhDUxpZ2h0RW1pc3Npb24DAAAAAAAA8D8hDkxpZ2h0SW5mbHVlbmNlIQdUZXh0dXJlISpodHRwOi8vd3d3LnJvYmxveC5jb20vYXNzZXQvP2lkPTUzMTEwMTk2OTIpAgAAAAAAAAAAAAAAAAAAgD8AAIA/AAAAACEGV2lkdGgw' ..'AwAAAAAAABBAIQZXaWR0aDEhBWZpZWxkB+kDBDVTUCEKQ2FzdFNoYWRvdwIG+Pj4IQhNYXNzbGVzcyIDAAAAAADAmEAKAAAAAI/CNcAAAAAACg5yecEYFqRBaNjVQAoAAKBAAACgQAAAoEADAAAAAAAAAMAhC1NwZWNpYWxNZXNoIQVTY2FsZQoAAKBAzczMPQAAoEAh' ..'C1ZlcnRleENvbG9yCrCqKj8AAAAAAACAPyEJVGV4dHVyZUlkIRZyYnhhc3NldGlkOi8vMTExODc2NDQ0IQhNZXNoVHlwZQMAAAAAAAAUQCEFcG9pbnQhCEFuY2hvcmVkBEdTUCEKQ2FuQ29sbGlkZSEIQ2FuVG91Y2gDAAAAAAAAcUAKOLx+wZv0jkBjkVVBCs3MzD3N' ..'zMw9zczMPQRUVVYKLDFkNAAAAAAAALTCKAIAAAAAqgD/AACAP6oA/yEXcmJ4YXNzZXRpZDovLzU4ODk4MjIwNDQhDFRleHR1cmVTcGVlZAMAAAAAAAAAQAoAAIC/AAAAAC69O7QKAAAAAAAAgD8AAAAACgAAAAAAAAAAAACAvwoAAIC/AAAAAAAAAAAKiK9/PwAAAAB2' ..'6ko9CgAAAAAAAAAAAAAAAAouvTuzAACAv5zkfrEKAACAPy69O7Nb7TqlCQEAAQACAwQBDAACBQYHCAkKCwwNDg8QERITFBUWFxgHGRobAgMAChwQHRIeHwMGACIjJCMlJhknKCkqKQQBDAACKwgsCi0uLwwwMTIOMxA0EjUUNBY2GTc4BQQAOTo7PD0+P0AEAQ8AAkFC' ..'MggsCkNEL0UvLi8MMDEyDkYQNBJHFDQWSBkjGwcCAApJEEofCAgADEsiIyQjJUxNThknKAcqBwEEIAM=') for _,obj in pairs(Objects) do obj.Parent = script or workspace end end do Tool0 = Instance.new("Tool") Part1 = Instance.new("Part") Part2 = Instance.new("Part") Part3 = Instance.new("Part") Part4 = Instance.new("Part") Part5 = Instance.new("Part") Part6 = Instance.new("Part") Part7 = Instance.new("Part") Part8 = Instance.new("Part") Part9 = Instance.new("Part") Part10 = Instance.new("Part") Part11 = Instance.new("Part") Tool0.Name = "Evaluator" Tool0.Parent = nil Tool0.Grip = CFrame.new(0.444054604, -0.649190664, 0.0195932388, 0.984807611, 1.91822807e-07, -0.173649073, -7.56866783e-08, 1, 6.75419699e-07, 0.173649073, -6.52015501e-07, 0.984807611) Tool0.GripForward = Vector3.new(0.17364907264709473, -6.754196988367767e-07, -0.9848076105117798) Tool0.GripPos = Vector3.new(0.44405460357666016, -0.6491906642913818, 0.019593238830566406) Tool0.GripRight = Vector3.new(0.9848076105117798, -7.568667825808006e-08, 0.17364907264709473) Tool0.GripUp = Vector3.new(1.9182280652785266e-07, 1, -6.520155011457973e-07) Part1.Name = "Handle" Part1.Parent = Tool0 Part1.CFrame = CFrame.new(-15.5, 3.70000148, 13.999999, 1, 0, 0, 0, 1, 0, 0, 0, 1) Part1.Position = Vector3.new(-15.5, 3.7000014781951904, 13.999999046325684) Part1.Color = Color3.new(0.105882, 0.164706, 0.207843) Part1.Size = Vector3.new(0.699999988079071, 1, 0.30000001192092896) Part1.BrickColor = BrickColor.new("Black") Part1.CanCollide = false Part1.Material = Enum.Material.SmoothPlastic Part1.brickColor = BrickColor.new("Black") Part1.FormFactor = Enum.FormFactor.Symmetric Part1.formFactor = Enum.FormFactor.Symmetric Part2.Name = "head" Part2.Parent = Tool0 Part2.CFrame = CFrame.new(-15.5, 4.55000162, 13.999999, 1, 0, 0, 0, 1, 0, 0, 0, 1) Part2.Position = Vector3.new(-15.5, 4.550001621246338, 13.999999046325684) Part2.Color = Color3.new(0.972549, 0.972549, 0.972549) Part2.Size = Vector3.new(0.20000000298023224, 0.20000000298023224, 0.20000000298023224) Part2.BrickColor = BrickColor.new("Institutional white") Part2.CanCollide = false Part2.Material = Enum.Material.Metal Part2.brickColor = BrickColor.new("Institutional white") Part2.FormFactor = Enum.FormFactor.Symmetric Part2.formFactor = Enum.FormFactor.Symmetric Part2.Shape = Enum.PartType.Ball Part3.Parent = Tool0 Part3.CFrame = CFrame.new(-15.5, 4.35000134, 13.999999, -4.37113883e-08, -1, 0, 1, -4.37113883e-08, 0, 0, 0, 0.99999994) Part3.Orientation = Vector3.new(0, 0, 90) Part3.Position = Vector3.new(-15.5, 4.350001335144043, 13.999999046325684) Part3.Rotation = Vector3.new(0, 0, 90) Part3.Color = Color3.new(0.105882, 0.164706, 0.207843) Part3.Size = Vector3.new(0.30000001192092896, 0.10000000149011612, 0.10000000149011612) Part3.BrickColor = BrickColor.new("Black") Part3.CanCollide = false Part3.Material = Enum.Material.SmoothPlastic Part3.brickColor = BrickColor.new("Black") Part3.FormFactor = Enum.FormFactor.Symmetric Part3.formFactor = Enum.FormFactor.Symmetric Part3.Shape = Enum.PartType.Cylinder Part4.Parent = Tool0 Part4.CFrame = CFrame.new(-15.5, 3.65000153, 13.7999992, 1, 0, 0, 0, 1, 0, 0, 0, 1) Part4.Position = Vector3.new(-15.5, 3.6500015258789062, 13.799999237060547) Part4.Color = Color3.new(0.105882, 0.164706, 0.207843) Part4.Size = Vector3.new(0.699999988079071, 0.09999997168779373, 0.09999999403953552) Part4.BrickColor = BrickColor.new("Black") Part4.CanCollide = false Part4.Material = Enum.Material.SmoothPlastic Part4.brickColor = BrickColor.new("Black") Part4.FormFactor = Enum.FormFactor.Symmetric Part4.formFactor = Enum.FormFactor.Symmetric Part5.Parent = Tool0 Part5.CFrame = CFrame.new(-15.5, 4.55000162, 13.999999, -4.37113883e-08, -1, 0, 1, -4.37113883e-08, 0, 0, 0, 0.99999994) Part5.Orientation = Vector3.new(0, 0, 90) Part5.Position = Vector3.new(-15.5, 4.550001621246338, 13.999999046325684) Part5.Rotation = Vector3.new(0, 0, 90) Part5.Color = Color3.new(0.105882, 0.164706, 0.207843) Part5.Size = Vector3.new(0.019999999552965164, 0.20999999344348907, 0.20999999344348907) Part5.BrickColor = BrickColor.new("Black") Part5.CanCollide = false Part5.Material = Enum.Material.SmoothPlastic Part5.brickColor = BrickColor.new("Black") Part5.FormFactor = Enum.FormFactor.Symmetric Part5.formFactor = Enum.FormFactor.Symmetric Part5.Shape = Enum.PartType.Cylinder Part6.Parent = Tool0 Part6.CFrame = CFrame.new(-15.3500004, 3.35000134, 14.1749992, 1, 0, 0, 0, 1, 0, 0, 0, 1) Part6.Position = Vector3.new(-15.350000381469727, 3.350001335144043, 14.174999237060547) Part6.Color = Color3.new(1, 1, 0) Part6.Size = Vector3.new(0.19999995827674866, 0.09999996423721313, 0.04999999329447746) Part6.BrickColor = BrickColor.new("New Yeller") Part6.CanCollide = false Part6.Material = Enum.Material.SmoothPlastic Part6.brickColor = BrickColor.new("New Yeller") Part6.FormFactor = Enum.FormFactor.Symmetric Part6.formFactor = Enum.FormFactor.Symmetric Part7.Parent = Tool0 Part7.CFrame = CFrame.new(-15.6499996, 3.35000134, 14.1749992, 1, 0, 0, 0, 1, 0, 0, 0, 1) Part7.Position = Vector3.new(-15.649999618530273, 3.350001335144043, 14.174999237060547) Part7.Color = Color3.new(1, 1, 0) Part7.Size = Vector3.new(0.19999995827674866, 0.09999996423721313, 0.04999999329447746) Part7.BrickColor = BrickColor.new("New Yeller") Part7.CanCollide = false Part7.Material = Enum.Material.SmoothPlastic Part7.brickColor = BrickColor.new("New Yeller") Part7.FormFactor = Enum.FormFactor.Symmetric Part7.formFactor = Enum.FormFactor.Symmetric Part8.Parent = Tool0 Part8.CFrame = CFrame.new(-15.5, 3.55000138, 14.1749992, 1, 0, 0, 0, 1, 0, 0, 0, 1) Part8.Position = Vector3.new(-15.5, 3.550001382827759, 14.174999237060547) Part8.Color = Color3.new(0.972549, 0.972549, 0.972549) Part8.Size = Vector3.new(0.4999999701976776, 0.09999996423721313, 0.04999999329447746) Part8.BrickColor = BrickColor.new("Institutional white") Part8.CanCollide = false Part8.Material = Enum.Material.SmoothPlastic Part8.brickColor = BrickColor.new("Institutional white") Part8.FormFactor = Enum.FormFactor.Symmetric Part8.formFactor = Enum.FormFactor.Symmetric Part9.Parent = Tool0 Part9.CFrame = CFrame.new(-15.6499996, 3.75000143, 14.1749992, 1, 0, 0, 0, 1, 0, 0, 0, 1) Part9.Position = Vector3.new(-15.649999618530273, 3.7500014305114746, 14.174999237060547) Part9.Color = Color3.new(1, 1, 0) Part9.Size = Vector3.new(0.19999995827674866, 0.09999996423721313, 0.04999999329447746) Part9.BrickColor = BrickColor.new("New Yeller") Part9.CanCollide = false Part9.Material = Enum.Material.SmoothPlastic Part9.brickColor = BrickColor.new("New Yeller") Part9.FormFactor = Enum.FormFactor.Symmetric Part9.formFactor = Enum.FormFactor.Symmetric Part10.Parent = Tool0 Part10.CFrame = CFrame.new(-15.3500004, 3.75000143, 14.1749992, 1, 0, 0, 0, 1, 0, 0, 0, 1) Part10.Position = Vector3.new(-15.350000381469727, 3.7500014305114746, 14.174999237060547) Part10.Color = Color3.new(1, 1, 0) Part10.Size = Vector3.new(0.19999995827674866, 0.09999996423721313, 0.04999999329447746) Part10.BrickColor = BrickColor.new("New Yeller") Part10.CanCollide = false Part10.Material = Enum.Material.SmoothPlastic Part10.brickColor = BrickColor.new("New Yeller") Part10.FormFactor = Enum.FormFactor.Symmetric Part10.formFactor = Enum.FormFactor.Symmetric Part11.Parent = Tool0 Part11.CFrame = CFrame.new(-15.5, 4.05000162, 14.1749992, 1, 0, 0, 0, 1, 0, 0, 0, 1) Part11.Position = Vector3.new(-15.5, 4.050001621246338, 14.174999237060547) Part11.Color = Color3.new(0.686275, 0.866667, 1) Part11.Size = Vector3.new(0.4999999701976776, 0.29999998211860657, 0.04999999329447746) Part11.BrickColor = BrickColor.new("Pastel light blue") Part11.CanCollide = false Part11.Material = Enum.Material.SmoothPlastic Part11.brickColor = BrickColor.new("Pastel light blue") Part11.FormFactor = Enum.FormFactor.Symmetric Part11.formFactor = Enum.FormFactor.Symmetric end local plr = owner local char = plr.Character local hum = char:FindFirstChildOfClass("Humanoid") local assets = script.assets assets.Parent = nil local tool = Tool0 local handle = tool.Handle tool.CanBeDropped = false for i,v in pairs(tool:GetChildren()) do if v:IsA("BasePart") then v.CanCollide = false v.Anchored = false v.Massless = true if v ~= handle then local w = Instance.new("WeldConstraint") w.Part0 = handle w.Part1 = v w.Parent = v end end end tool.Parent = plr.Backpack local current_scan = nil local scan_brick = nil local scan_weld = nil function scan_object(p,root) if p ~= current_scan then if scan_brick then game:GetService("TweenService"):Create(scan_brick,TweenInfo.new(0.1),{ Transparency = 1, }):Play() game:GetService("Debris"):AddItem(scan_brick,0.5) scan_brick = nil end if scan_weld then scan_weld = nil end end current_scan = p if not current_scan then return end if scan_brick then return end local size = Vector3.new(5,0,5) if p:IsA("Model") then if size.X > size.X or size.Z > size.Z then size = p:GetModelSize()*1.5 size = Vector3.new(size.X,0,size.Z) end end size = size+Vector3.new(0,0.1,0) scan_brick = assets.field:Clone() scan_brick.Anchored = false scan_brick.CanCollide = false scan_brick.Massless = true scan_brick.Size = size scan_brick.Mesh.Scale = size local w = Instance.new("Weld") w.Part0 = root w.Part1 = scan_brick w.C0 = CFrame.new(0,0,0) w.Parent = scan_brick scan_weld = w scan_brick.Parent = workspace end local scanning = false local cid = 0 tool.Equipped:Connect(function() end) tool.Activated:Connect(function() if scanning then cid += 1 return end scanning = true cid += 1 local id = cid local finished = false local s = Instance.new("Sound") s.SoundId = 'rbxassetid://9113399643' s.Volume = 0.5 s.Parent = handle s.PlayOnRemove = true s:Destroy() task.wait(0.2) local loop = Instance.new("Sound") loop.SoundId = 'rbxassetid://9126095441' loop.Volume = 0.5 loop.Looped = true loop.Parent = handle loop:Play() local point1 = assets.point.Attachment:Clone() point1.Parent = tool.head local beam = point1.Beam local point2 = assets.point:Clone() point2.Attachment:ClearAllChildren() point2.Transparency = 1 point2.Size = Vector3.new(4,7,6) point2.Anchored = false point2.CanCollide = false point2.Massless = true point2.Parent = tool local base_pos = Vector3.new(0,1.5,-point2.Size.Z/2) point2.Attachment.Position = base_pos local w = Instance.new("Weld") w.Part0 = tool.head w.Part1 = point2 w.C0 = CFrame.new(0,-1.5,-point2.Size.Z/2) w.Parent = point2 beam.Attachment0 = point1 beam.Attachment1 = point2.Attachment game:GetService("TweenService"):Create(beam,TweenInfo.new(0.5),{ Width1 = point2.Size.X, }):Play() local scan_debounce = 0 local scan_dir = 0 repeat task.wait() if point2 then local op = OverlapParams.new() op.FilterType = Enum.RaycastFilterType.Exclude op.RespectCanCollide = false op.BruteForceAllSlow = true op.FilterDescendantsInstances = {char} local objs = workspace:GetPartBoundsInBox(point2.CFrame,point2.Size,op) local to_scan = nil for i,v in pairs(objs) do local targ = {} targ.char = v:FindFirstAncestorOfClass("Model") if targ.char then else continue end targ.hum = targ.char:FindFirstChildOfClass("Humanoid") targ.root = targ.char:FindFirstChild("HumanoidRootPart") or targ.char:FindFirstChild("Torso") or targ.char:FindFirstChild("UpperTorso") if targ.hum and targ.root then to_scan = targ if to_scan.char == current_scan then break end end end if to_scan then scan_object(to_scan.char,to_scan.root) if to_scan.char ~= current_scan then scan_debounce = 0 scan_dir = 0 end if os.clock()-scan_debounce >= 0.5 then local offset = to_scan.root.Position.Y-(point2.Position.Y+base_pos.Y) local d = 3 if scan_dir == 0 then scan_dir = 1 game:GetService("TweenService"):Create(point2.Attachment,TweenInfo.new(0.5),{ Position = base_pos+Vector3.new(0,offset+d,0), }):Play() if scan_weld and scan_weld.Part0 and scan_weld.Part1 then game:GetService("TweenService"):Create(scan_weld,TweenInfo.new(0.5),{ C0 = CFrame.new(0,d,0), }):Play() end elseif scan_dir == 1 then scan_dir = 0 game:GetService("TweenService"):Create(point2.Attachment,TweenInfo.new(0.5),{ Position = base_pos+Vector3.new(0,offset-d,0), }):Play() if scan_weld and scan_weld.Part0 and scan_weld.Part1 then game:GetService("TweenService"):Create(scan_weld,TweenInfo.new(0.5),{ C0 = CFrame.new(0,-d,0), }):Play() end end scan_debounce = os.clock() end else game:GetService("TweenService"):Create(point2.Attachment,TweenInfo.new(0.5),{ Position = base_pos, }):Play() scan_object() end end until cid ~= id or finished local s = Instance.new("Sound") s.SoundId = 'rbxassetid://9125411425' s.Volume = 0.5 s.Parent = handle s.PlayOnRemove = true s:Destroy() if loop then loop:Destroy() end game:GetService("TweenService"):Create(beam,TweenInfo.new(0.8),{ Width1 = 0, }):Play() scan_object() task.wait(1) point1:Destroy() point2:Destroy() scan_object() scanning = false end) tool.Unequipped:Connect(function() scanning = false end)
Editor Settings
Theme
Key bindings
Full width
Lines