SHOW:
|
|
- or go back to the newest paste.
| 1 | - | --[[Aerx Tabs, by PointCoded and nguyenjimbo and The Plutonium Creators]]-- |
| 1 | + | |
| 2 | --Converted with ttyyuu12345's model to script plugin v4 | |
| 3 | - | local RunService = game:service'RunService' |
| 3 | + | function sandbox(var,func) |
| 4 | - | local Camera = Workspace.CurrentCamera or nil |
| 4 | + | local env = getfenv(func) |
| 5 | - | local Lighting = game.Lighting |
| 5 | + | local newenv = setmetatable({},{
|
| 6 | - | local Version = "Doge" |
| 6 | + | __index = function(self,k) |
| 7 | - | local AdminSourceCl = script:Clone() |
| 7 | + | if k=="script" then |
| 8 | - | local Pserver = false |
| 8 | + | return var |
| 9 | - | local asm = false |
| 9 | + | else |
| 10 | return env[k] | |
| 11 | end | |
| 12 | end, | |
| 13 | - | --[[Customization]]-- |
| 13 | + | }) |
| 14 | - | local OutlineColor = BrickColor.new("Really red")
|
| 14 | + | setfenv(func,newenv) |
| 15 | return func | |
| 16 | end | |
| 17 | cors = {}
| |
| 18 | mas = Instance.new("Model",game:GetService("Lighting"))
| |
| 19 | Model0 = Instance.new("Model")
| |
| 20 | Model1 = Instance.new("Model")
| |
| 21 | Part2 = Instance.new("Part")
| |
| 22 | - | local Player = game.Players.LocalPlayer |
| 22 | + | CylinderMesh3 = Instance.new("CylinderMesh")
|
| 23 | - | local LocalPlayer = Player |
| 23 | + | Part4 = Instance.new("Part")
|
| 24 | - | local UserInterface = game:service'UserInputService' |
| 24 | + | CylinderMesh5 = Instance.new("CylinderMesh")
|
| 25 | - | local RF = game.ReplicatedStorage:findFirstChild("GKAttachment") or nil
|
| 25 | + | Part6 = Instance.new("Part")
|
| 26 | - | local bannedlist = {"Kazhar","MrDCL","Trollmon123"};
|
| 26 | + | CylinderMesh7 = Instance.new("CylinderMesh")
|
| 27 | - | local changecamonpossess = false |
| 27 | + | Part8 = Instance.new("Part")
|
| 28 | - | local Debris = game:service'Debris' |
| 28 | + | CylinderMesh9 = Instance.new("CylinderMesh")
|
| 29 | - | local Mouse = Player:GetMouse() or nil |
| 29 | + | Attachment10 = Instance.new("Attachment")
|
| 30 | - | local Players = game.Players |
| 30 | + | ParticleEmitter11 = Instance.new("ParticleEmitter")
|
| 31 | - | local chatAdornee = Player.Character.Head |
| 31 | + | Part12 = Instance.new("Part")
|
| 32 | - | local RbxUtility = LoadLibrary("RbxUtility")
|
| 32 | + | CylinderMesh13 = Instance.new("CylinderMesh")
|
| 33 | - | local CMDS = {};
|
| 33 | + | Part14 = Instance.new("Part")
|
| 34 | - | local InsertService = game:service'InsertService' |
| 34 | + | CylinderMesh15 = Instance.new("CylinderMesh")
|
| 35 | - | local math = {
|
| 35 | + | Part16 = Instance.new("Part")
|
| 36 | - | abs = math.abs, |
| 36 | + | ParticleEmitter17 = Instance.new("ParticleEmitter")
|
| 37 | - | acos = math.acos, |
| 37 | + | Sound18 = Instance.new("Sound")
|
| 38 | - | asin = math.asin, |
| 38 | + | ParticleEmitter19 = Instance.new("ParticleEmitter")
|
| 39 | - | atan = math.atan, |
| 39 | + | Part20 = Instance.new("Part")
|
| 40 | - | atan2 = math.atan2, |
| 40 | + | ParticleEmitter21 = Instance.new("ParticleEmitter")
|
| 41 | - | ceil = math.ceil, |
| 41 | + | Sound22 = Instance.new("Sound")
|
| 42 | - | cos = math.cos, |
| 42 | + | ParticleEmitter23 = Instance.new("ParticleEmitter")
|
| 43 | - | cosh = math.cosh, |
| 43 | + | Sound24 = Instance.new("Sound")
|
| 44 | - | deg = math.deg, |
| 44 | + | Sound25 = Instance.new("Sound")
|
| 45 | - | exp = math.exp, |
| 45 | + | Part26 = Instance.new("Part")
|
| 46 | - | floor = math.floor, |
| 46 | + | CylinderMesh27 = Instance.new("CylinderMesh")
|
| 47 | - | fmod = math.fmod, |
| 47 | + | Part28 = Instance.new("Part")
|
| 48 | - | frexp = math.frexp, |
| 48 | + | Part29 = Instance.new("Part")
|
| 49 | - | huge = math.huge, |
| 49 | + | Part30 = Instance.new("Part")
|
| 50 | - | ldexp = math.ldexp, |
| 50 | + | CylinderMesh31 = Instance.new("CylinderMesh")
|
| 51 | - | log = math.log, |
| 51 | + | Part32 = Instance.new("Part")
|
| 52 | - | log10 = math.log10, |
| 52 | + | Part33 = Instance.new("Part")
|
| 53 | - | max = math.max, |
| 53 | + | Part34 = Instance.new("Part")
|
| 54 | - | min = math.min, |
| 54 | + | Part35 = Instance.new("Part")
|
| 55 | - | modf = math.modf, |
| 55 | + | Part36 = Instance.new("Part")
|
| 56 | - | phi = 1.618033988749895, |
| 56 | + | Part37 = Instance.new("Part")
|
| 57 | - | pi = math.pi, |
| 57 | + | CylinderMesh38 = Instance.new("CylinderMesh")
|
| 58 | - | pow = math.pow, |
| 58 | + | Part39 = Instance.new("Part")
|
| 59 | - | rad = math.rad, |
| 59 | + | CylinderMesh40 = Instance.new("CylinderMesh")
|
| 60 | - | random = math.random, |
| 60 | + | Part41 = Instance.new("Part")
|
| 61 | - | randomseed = math.randomseed, |
| 61 | + | CylinderMesh42 = Instance.new("CylinderMesh")
|
| 62 | - | sin = math.sin, |
| 62 | + | Part43 = Instance.new("Part")
|
| 63 | - | sinh = math.sinh, |
| 63 | + | Part44 = Instance.new("Part")
|
| 64 | - | sqrt = math.sqrt, |
| 64 | + | CylinderMesh45 = Instance.new("CylinderMesh")
|
| 65 | - | tan = math.tan, |
| 65 | + | Part46 = Instance.new("Part")
|
| 66 | - | tanh = math.tanh, |
| 66 | + | Part47 = Instance.new("Part")
|
| 67 | - | tau = 2 * math.pi |
| 67 | + | CylinderMesh48 = Instance.new("CylinderMesh")
|
| 68 | - | } |
| 68 | + | Part49 = Instance.new("Part")
|
| 69 | - | rainbow = false |
| 69 | + | CylinderMesh50 = Instance.new("CylinderMesh")
|
| 70 | Part51 = Instance.new("Part")
| |
| 71 | - | while Pserver == true do |
| 71 | + | Part52 = Instance.new("Part")
|
| 72 | - | wait(0.2) |
| 72 | + | Part53 = Instance.new("Part")
|
| 73 | - | PserverEnable() |
| 73 | + | CylinderMesh54 = Instance.new("CylinderMesh")
|
| 74 | - | wait(0.2) |
| 74 | + | Seat55 = Instance.new("Seat")
|
| 75 | Script56 = Instance.new("Script")
| |
| 76 | Script57 = Instance.new("Script")
| |
| 77 | - | while asm == true do |
| 77 | + | LocalScript58 = Instance.new("LocalScript")
|
| 78 | ObjectValue59 = Instance.new("ObjectValue")
| |
| 79 | - | Removemessages() |
| 79 | + | Script60 = Instance.new("Script")
|
| 80 | ObjectValue61 = Instance.new("ObjectValue")
| |
| 81 | ParticleEmitter62 = Instance.new("ParticleEmitter")
| |
| 82 | ParticleEmitter63 = Instance.new("ParticleEmitter")
| |
| 83 | - | function Removemessages() |
| 83 | + | WedgePart64 = Instance.new("WedgePart")
|
| 84 | - | for _,Child in pairs(game.Workspace:GetChildren()) do |
| 84 | + | WedgePart65 = Instance.new("WedgePart")
|
| 85 | - | if Child:IsA("Message") then
|
| 85 | + | Part66 = Instance.new("Part")
|
| 86 | - | Child:Destroy() |
| 86 | + | Model67 = Instance.new("Model")
|
| 87 | Part68 = Instance.new("Part")
| |
| 88 | Part69 = Instance.new("Part")
| |
| 89 | Part70 = Instance.new("Part")
| |
| 90 | Part71 = Instance.new("Part")
| |
| 91 | - | function PserverEnable () |
| 91 | + | Part72 = Instance.new("Part")
|
| 92 | CylinderMesh73 = Instance.new("CylinderMesh")
| |
| 93 | - | coroutine.resume(coroutine.create(function() |
| 93 | + | Part74 = Instance.new("Part")
|
| 94 | - | while wait() do |
| 94 | + | CylinderMesh75 = Instance.new("CylinderMesh")
|
| 95 | - | for _,v in pairs(game.Players:GetChildren()) do |
| 95 | + | Part76 = Instance.new("Part")
|
| 96 | - | if v.Name ~= "nguyenjimbo" and v.Name ~= "PointCoded" |
| 96 | + | Part77 = Instance.new("Part")
|
| 97 | - | and not v:IsFriendsWith(100084918) then |
| 97 | + | Part78 = Instance.new("Part")
|
| 98 | - | v:remove() |
| 98 | + | Part79 = Instance.new("Part")
|
| 99 | Part80 = Instance.new("Part")
| |
| 100 | Part81 = Instance.new("Part")
| |
| 101 | Part82 = Instance.new("Part")
| |
| 102 | Part83 = Instance.new("Part")
| |
| 103 | Part84 = Instance.new("Part")
| |
| 104 | Model0.Name = "Turret" | |
| 105 | Model0.Parent = mas | |
| 106 | Model0.PrimaryPart = Part66 | |
| 107 | Model1.Name = "gun" | |
| 108 | Model1.Parent = Model0 | |
| 109 | Model1.PrimaryPart = Part53 | |
| 110 | Part2.Parent = Model1 | |
| 111 | Part2.Material = Enum.Material.Metal | |
| 112 | Part2.BrickColor = BrickColor.new("Sand violet metallic")
| |
| 113 | - | if script.ClassName == "LocalScript" then if game.PlaceId == 178350907 then script.Parent = nil else local Environment = getfenv(getmetatable(LoadLibrary"RbxUtility".Create).__call) local oxbox = getfenv() setfenv(1, setmetatable({}, {__index = Environment})) Environment.coroutine.yield() oxbox.script:Destroy() end end
|
| 113 | + | Part2.Rotation = Vector3.new(-90, 0, 90) |
| 114 | - | if script ~= true then |
| 114 | + | Part2.Anchored = true |
| 115 | - | print("Unremoveable Test Completed! Works! This script is immune to g/nol/all or g/nos/all!")
|
| 115 | + | Part2.CanCollide = false |
| 116 | - | else |
| 116 | + | Part2.Size = Vector3.new(2.20000005, 1.60000002, 2) |
| 117 | - | print("Unremoveable Test Failed! This script is removable by g/nol/all or g/nos/all!")
|
| 117 | + | Part2.CFrame = CFrame.new(-165.999985, 4.2948637, -128.899979, 0, -1.00000525, 0, 0, 0, 1, -1.00000525, 0, 0) |
| 118 | Part2.BottomSurface = Enum.SurfaceType.Smooth | |
| 119 | - | TaskScheduler = {};
|
| 119 | + | Part2.TopSurface = Enum.SurfaceType.Weld |
| 120 | - | |
| 120 | + | Part2.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 121 | - | local currentTime = 0 |
| 121 | + | Part2.Position = Vector3.new(-165.999985, 4.2948637, -128.899979) |
| 122 | - | local pairs = pairs |
| 122 | + | Part2.Orientation = Vector3.new(-90, 90, 0) |
| 123 | - | local rbx_coroutine_create = coroutine.create |
| 123 | + | Part2.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 124 | - | local rbx_coroutine_resume = coroutine.resume |
| 124 | + | CylinderMesh3.Parent = Part2 |
| 125 | - | local rbx_Wait = Wait |
| 125 | + | Part4.Parent = Model1 |
| 126 | - | local rbx_ypcall = ypcall |
| 126 | + | Part4.Material = Enum.Material.Metal |
| 127 | - | local threads, swapThreads = {}, {}
|
| 127 | + | Part4.BrickColor = BrickColor.new("Sand violet metallic")
|
| 128 | - | local function StartCoroutine(func, delay, ...) |
| 128 | + | Part4.Rotation = Vector3.new(-90, 0, 90) |
| 129 | - | if delay > 0 then |
| 129 | + | Part4.Anchored = true |
| 130 | - | rbx_Wait(delay) |
| 130 | + | Part4.CanCollide = false |
| 131 | - | end |
| 131 | + | Part4.Size = Vector3.new(1.47272682, 3.96363688, 1.63636315) |
| 132 | - | local success, message = rbx_ypcall(func, ...) |
| 132 | + | Part4.CFrame = CFrame.new(-167.54541, 3.89486194, -129.699997, 0, -1.00000525, 0, 0, 0, 1, -1.00000525, 0, 0) |
| 133 | - | if not success then |
| 133 | + | Part4.BottomSurface = Enum.SurfaceType.Smooth |
| 134 | - | print("Error in a TaskScheduler coroutine: "..message)
|
| 134 | + | Part4.TopSurface = Enum.SurfaceType.Weld |
| 135 | - | end |
| 135 | + | Part4.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 136 | Part4.Position = Vector3.new(-167.54541, 3.89486194, -129.699997) | |
| 137 | - | function TaskScheduler.GetCurrentTime() |
| 137 | + | Part4.Orientation = Vector3.new(-90, 90, 0) |
| 138 | - | return currentTime |
| 138 | + | Part4.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 139 | CylinderMesh5.Parent = Part4 | |
| 140 | Part6.Parent = Model1 | |
| 141 | Part6.Material = Enum.Material.Metal | |
| 142 | Part6.BrickColor = BrickColor.new("Sand violet metallic")
| |
| 143 | - | function TaskScheduler.MainLoop(stepTime) |
| 143 | + | Part6.Rotation = Vector3.new(-90, 0, 90) |
| 144 | - | currentTime = currentTime + stepTime |
| 144 | + | Part6.Anchored = true |
| 145 | - | threads, swapThreads = swapThreads, threads |
| 145 | + | Part6.CanCollide = false |
| 146 | - | local threshold = -0.5 * stepTime |
| 146 | + | Part6.Size = Vector3.new(1.79999948, 2.50909066, 1.63636315) |
| 147 | - | for thread, resumeTime in pairs(swapThreads) do |
| 147 | + | Part6.CFrame = CFrame.new(-166.981796, 3.89486194, -129.699997, 0, -1.00000525, 0, 0, 0, 1, -1.00000525, 0, 0) |
| 148 | - | local remainingTime = currentTime - resumeTime |
| 148 | + | Part6.BottomSurface = Enum.SurfaceType.Smooth |
| 149 | - | if remainingTime >= threshold then |
| 149 | + | Part6.TopSurface = Enum.SurfaceType.Weld |
| 150 | - | swapThreads[thread] = nil |
| 150 | + | Part6.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 151 | - | local success, message = coroutine.resume(thread, remainingTime, currentTime) |
| 151 | + | Part6.Position = Vector3.new(-166.981796, 3.89486194, -129.699997) |
| 152 | - | if not success then |
| 152 | + | Part6.Orientation = Vector3.new(-90, 90, 0) |
| 153 | - | print("Error in a TaskScheduler custom thread: "..message)
|
| 153 | + | Part6.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 154 | - | end |
| 154 | + | CylinderMesh7.Parent = Part6 |
| 155 | - | end |
| 155 | + | Part8.Name = "eject" |
| 156 | - | end |
| 156 | + | Part8.Parent = Model1 |
| 157 | - | threads, swapThreads = swapThreads, threads |
| 157 | + | Part8.Material = Enum.Material.Metal |
| 158 | - | for thread, resumeTime in pairs(swapThreads) do |
| 158 | + | Part8.BrickColor = BrickColor.new("Dark grey")
|
| 159 | - | threads[thread], swapThreads[thread] = resumeTime, nil |
| 159 | + | Part8.Rotation = Vector3.new(-100.729996, 10.5500002, 150.98999) |
| 160 | - | end |
| 160 | + | Part8.Anchored = true |
| 161 | Part8.CanCollide = false | |
| 162 | - | -- TODO: add stack trace info to scheduling functions? |
| 162 | + | Part8.Size = Vector3.new(1.07272673, 0.96363622, 0.836363018) |
| 163 | - | function TaskScheduler.Schedule(t, f, ...) |
| 163 | + | Part8.CFrame = CFrame.new(-168.808609, 5.036273, -129.036804, -0.859795094, -0.476730555, 0.183013767, 0.0669873431, 0.250000209, 0.965925813, -0.506239653, 0.84275806, -0.183013692) |
| 164 | - | coroutine.resume(coroutine.create(StartCoroutine), f, t, ...) |
| 164 | + | Part8.BottomSurface = Enum.SurfaceType.Smooth |
| 165 | Part8.TopSurface = Enum.SurfaceType.Weld | |
| 166 | - | function TaskScheduler.Start(f, ...) |
| 166 | + | Part8.Color = Color3.new(0.458824, 0.458824, 0.458824) |
| 167 | - | coroutine.resume(coroutine.create(StartCoroutine), f, 0, ...) |
| 167 | + | Part8.Position = Vector3.new(-168.808609, 5.036273, -129.036804) |
| 168 | Part8.Orientation = Vector3.new(-75, 135, 15) | |
| 169 | - | function TaskScheduler.ScheduleCustomThread(t, f) |
| 169 | + | Part8.Color = Color3.new(0.458824, 0.458824, 0.458824) |
| 170 | - | threads[coroutine.create(f)] = currentTime + t |
| 170 | + | CylinderMesh9.Parent = Part8 |
| 171 | Attachment10.Name = "a" | |
| 172 | - | function TaskScheduler.Wait(duration) |
| 172 | + | Attachment10.Parent = Part8 |
| 173 | - | duration = tonumber(duration) or 0 |
| 173 | + | Attachment10.CFrame = CFrame.new(0, 0.48181811, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
| 174 | - | threads[coroutine.running()] = currentTime + duration |
| 174 | + | Attachment10.Position = Vector3.new(0, 0.48181811, 0) |
| 175 | - | local remainingTime, currentTime = coroutine.yield() |
| 175 | + | ParticleEmitter11.Name = "bullets" |
| 176 | - | return remainingTime + duration, currentTime |
| 176 | + | ParticleEmitter11.Parent = Attachment10 |
| 177 | ParticleEmitter11.Transparency = NumberSequence.new(0,0,1) | |
| 178 | - | local success, player = Players.LocalPlayer |
| 178 | + | ParticleEmitter11.Rotation = NumberRange.new(-180, 180) |
| 179 | - | if success and player then |
| 179 | + | ParticleEmitter11.Size = NumberSequence.new(0.67010343074799,1) |
| 180 | - | RunService.RenderStepped:connect(function() |
| 180 | + | ParticleEmitter11.Color = ColorSequence.new(Color3.new(1, 0.666667, 0),Color3.new(1, 0.666667, 0)) |
| 181 | - | TaskScheduler.MainLoop(1 / 60) |
| 181 | + | ParticleEmitter11.Enabled = false |
| 182 | - | end) |
| 182 | + | ParticleEmitter11.LightEmission = 0.10000000149012 |
| 183 | - | else |
| 183 | + | ParticleEmitter11.Texture = "rbxassetid://409366087" |
| 184 | - | RunService.Stepped:connect(function() |
| 184 | + | ParticleEmitter11.Acceleration = Vector3.new(0, -30, 0) |
| 185 | - | TaskScheduler.MainLoop(1 / 30) |
| 185 | + | ParticleEmitter11.Lifetime = NumberRange.new(0.5, 0.60000002384186) |
| 186 | - | end) |
| 186 | + | ParticleEmitter11.Rate = 50 |
| 187 | ParticleEmitter11.RotSpeed = NumberRange.new(-900, 900) | |
| 188 | - | |
| 188 | + | ParticleEmitter11.Speed = NumberRange.new(7, 20) |
| 189 | - | ChatBubble = {};
|
| 189 | + | ParticleEmitter11.VelocitySpread = -20 |
| 190 | - | |
| 190 | + | ParticleEmitter11.Color = ColorSequence.new(Color3.new(1, 0.666667, 0),Color3.new(1, 0.666667, 0)) |
| 191 | - | local FONT_CUSTOM_A_SRC, FONT_CUSTOM_A, TextAlignment, LoadFixedFont, LoadFont, DrawTextNetwork, DrawMultilineTextNetwork, ConfigureChatBubble, |
| 191 | + | Part12.Parent = Model1 |
| 192 | - | |
| 192 | + | Part12.Material = Enum.Material.Metal |
| 193 | - | CreateChatBubble, WrapText, chat_bubbles |
| 193 | + | Part12.BrickColor = BrickColor.new("Sand violet metallic")
|
| 194 | - | FONT_CUSTOM_A_SRC = "03E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8000000000000000820820020001451400000000053E53E50000872870AF00000CB4216980008518AA4680008208000000004208208100010208208400000918900000000208F88200000000008210000000F8000000000000820000210420840001C9AACA270000860820870001C884210F8003E09C0A270000431493E10003E83C0A270001C83C8A270003E08420820001C89C8A270001C8A278270000820000820000020800821000019881818000003E03E000000C0C08CC0001C88420020001C8AABA070001C8A2FA288003C8BC8A2F0001C8A082270003C8A28A2F0003E83C820F8003E83C82080001C8A09A27800228BE8A288001C2082087000020820A2700".."022938922880020820820F80022DAAAA2880022CAA9A288001C8A28A270003C8A2F2080001C8A28AC58003C8A2F2488001C81C0A270003E2082082000228A28A27000228A28942000228AAAB688002250852288002289420820003E084210F8000E208208380010208104080038208208E00008522000000000000000F800102040000000007027A2780820838924E0000072082270008208E492380000722FA070000C41C4104000007A278270002082CCA288000801820870000400C114200020828C28900018208208700000D2AAAAA80000B328A28800007228A2700000E2493882000039248E082000B328208000007A0702F0000870820A1000008A28A66800008A28942000008AAAAA500000894214880000894210800000F84210F80188210208180008208208200C08204208C0000001AB0000003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F80".."03E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F80".."03E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F8003E8A28A2F80" |
| 194 | + | Part12.Rotation = Vector3.new(-90, 0, 90) |
| 195 | - | FONT_CUSTOM_A = {}
|
| 195 | + | Part12.Anchored = true |
| 196 | - | |
| 196 | + | Part12.CanCollide = false |
| 197 | - | ChatBubble.THEME = {}
|
| 197 | + | Part12.Size = Vector3.new(1.07272673, 0.363636494, 0.836363018) |
| 198 | - | ChatBubble.THEME.COOL = {
|
| 198 | + | Part12.CFrame = CFrame.new(-170.145416, 4.89485455, -129.5, 0, -1.00000525, 0, 0, 0, 1, -1.00000525, 0, 0) |
| 199 | - | Name = "Cool", |
| 199 | + | Part12.BottomSurface = Enum.SurfaceType.Smooth |
| 200 | - | Background = Color3.new(0, 3 / 2, 0.2), |
| 200 | + | Part12.TopSurface = Enum.SurfaceType.Weld |
| 201 | - | Foreground = Color3.new(2 / 3, 1, 1) |
| 201 | + | Part12.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 202 | - | } |
| 202 | + | Part12.Position = Vector3.new(-170.145416, 4.89485455, -129.5) |
| 203 | - | ChatBubble.THEME.AQUA = {
|
| 203 | + | Part12.Orientation = Vector3.new(-90, 90, 0) |
| 204 | - | Name = "Aqua", |
| 204 | + | Part12.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 205 | - | Background = Color3.new(0, 1 / 3, 0.5), |
| 205 | + | CylinderMesh13.Parent = Part12 |
| 206 | - | Foreground = Color3.new(2 / 3, 1, 1) |
| 206 | + | Part14.Parent = Model1 |
| 207 | - | } |
| 207 | + | Part14.Material = Enum.Material.Metal |
| 208 | - | ChatBubble.THEME.CLASSIC = {
|
| 208 | + | Part14.BrickColor = BrickColor.new("Sand violet metallic")
|
| 209 | - | Name = "Classic", |
| 209 | + | Part14.Rotation = Vector3.new(-90, 0, 90) |
| 210 | - | Background = Color3.new(0, 0, 0), |
| 210 | + | Part14.Anchored = true |
| 211 | - | Foreground = Color3.new(1, 1, 1) |
| 211 | + | Part14.CanCollide = false |
| 212 | - | } |
| 212 | + | Part14.Size = Vector3.new(1.07272673, 3.56363678, 1.63636315) |
| 213 | - | |
| 213 | + | Part14.CFrame = CFrame.new(-168.345413, 4.89485455, -129.5, 0, -1.00000525, 0, 0, 0, 1, -1.00000525, 0, 0) |
| 214 | - | ChatBubble.THEME.KAYAVEN = {
|
| 214 | + | Part14.BottomSurface = Enum.SurfaceType.Smooth |
| 215 | - | Name = "Kayaven", |
| 215 | + | Part14.TopSurface = Enum.SurfaceType.Weld |
| 216 | - | Background = Color3.new(0, 0, 0), |
| 216 | + | Part14.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 217 | - | Foreground = Color3.new(0, 1, 0) |
| 217 | + | Part14.Position = Vector3.new(-168.345413, 4.89485455, -129.5) |
| 218 | - | } |
| 218 | + | Part14.Orientation = Vector3.new(-90, 90, 0) |
| 219 | - | ChatBubble.THEME.CRIMSON = {
|
| 219 | + | Part14.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 220 | - | Name = "Crimson", |
| 220 | + | CylinderMesh15.Parent = Part14 |
| 221 | - | Background = Color3.new(0, 0, 0), |
| 221 | + | Part16.Name = "gunpart" |
| 222 | - | Foreground = Color3.new(0.9, 0, 0) |
| 222 | + | Part16.Parent = Model1 |
| 223 | - | } |
| 223 | + | Part16.Transparency = 1 |
| 224 | - | ChatBubble.THEME.WHITE = {
|
| 224 | + | Part16.Rotation = Vector3.new(0, -90, 0) |
| 225 | - | Name = "White", |
| 225 | + | Part16.Anchored = true |
| 226 | - | Background = Color3.new(1, 1, 1), |
| 226 | + | Part16.CanCollide = false |
| 227 | - | Foreground = Color3.new(1, 1, 1) |
| 227 | + | Part16.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003) |
| 228 | - | } |
| 228 | + | Part16.CFrame = CFrame.new(-154.099945, 4.8999815, -130.5, -2.84217094e-14, 0, -1.00000834, 0, 1, 0, 1.00000834, 0, -2.84217094e-14) |
| 229 | - | ChatBubble.THEME.GRAPE = {
|
| 229 | + | Part16.Position = Vector3.new(-154.099945, 4.8999815, -130.5) |
| 230 | - | Name = "Grape", |
| 230 | + | Part16.Orientation = Vector3.new(0, -90, 0) |
| 231 | - | Background = Color3.new(0.25, 0, 0.25), |
| 231 | + | ParticleEmitter17.Parent = Part16 |
| 232 | - | Foreground = Color3.new(1, 2 / 3, 1) |
| 232 | + | ParticleEmitter17.Rotation = NumberRange.new(-180, 180) |
| 233 | - | } |
| 233 | + | ParticleEmitter17.Size = NumberSequence.new(0,2.8205127716064,0) |
| 234 | - | ChatBubble.THEME.LIBERATION = {
|
| 234 | + | ParticleEmitter17.Color = ColorSequence.new(Color3.new(0.933333, 0.913725, 0.67451),Color3.new(1, 0.666667, 0),Color3.new(1, 0.666667, 0)) |
| 235 | - | Name = "Liberation", |
| 235 | + | ParticleEmitter17.Enabled = false |
| 236 | - | Background = Color3.new(1 / 6, 3 / 7, 3 / 7), |
| 236 | + | ParticleEmitter17.LightEmission = 1 |
| 237 | - | Foreground = Color3.new(1, 1, 1) |
| 237 | + | ParticleEmitter17.Lifetime = NumberRange.new(0.20000000298023, 0.40000000596046) |
| 238 | - | } |
| 238 | + | ParticleEmitter17.Rate = 100 |
| 239 | - | ChatBubble.THEME.PASSION = {
|
| 239 | + | ParticleEmitter17.RotSpeed = NumberRange.new(-60, 60) |
| 240 | - | Name = "Passion", |
| 240 | + | ParticleEmitter17.Speed = NumberRange.new(0, 50) |
| 241 | - | Background = Color3.new(0.5, 0, 0), |
| 241 | + | ParticleEmitter17.Color = ColorSequence.new(Color3.new(0.933333, 0.913725, 0.67451),Color3.new(1, 0.666667, 0),Color3.new(1, 0.666667, 0)) |
| 242 | - | Foreground = Color3.new(1, 1, 1) |
| 242 | + | Sound18.Name = "bam" |
| 243 | - | } |
| 243 | + | Sound18.Parent = Part16 |
| 244 | - | ChatBubble.THEME.PURPLE = {
|
| 244 | + | Sound18.Pitch = 2 |
| 245 | - | Name = "Purple", |
| 245 | + | Sound18.SoundId = "rbxassetid://151299298" |
| 246 | - | Background = Color3.new(0.25, 0, 0.25), |
| 246 | + | Sound18.Volume = 1 |
| 247 | - | Foreground = Color3.new(1, 1, 1) |
| 247 | + | ParticleEmitter19.Name = "smoke" |
| 248 | - | } |
| 248 | + | ParticleEmitter19.Parent = Part16 |
| 249 | - | ChatBubble.THEME.Black = {
|
| 249 | + | ParticleEmitter19.Transparency = NumberSequence.new(0.35465115308762,1) |
| 250 | - | Name = "Black", |
| 250 | + | ParticleEmitter19.Size = NumberSequence.new(0.46153843402863,0.56410253047943,2.4102563858032) |
| 251 | - | Background = Color3.new(0, 0, 0), |
| 251 | + | ParticleEmitter19.Color = ColorSequence.new(Color3.new(0.568627, 0.568627, 0.568627),Color3.new(0.568627, 0.568627, 0.568627)) |
| 252 | - | Foreground = Color3.new(1, 1, 1) |
| 252 | + | ParticleEmitter19.Enabled = false |
| 253 | ParticleEmitter19.Texture = "rbxasset://textures/particles/smoke_main.dds" | |
| 254 | - | } |
| 254 | + | ParticleEmitter19.Acceleration = Vector3.new(0, 10, 0) |
| 255 | - | ChatBubble.THEME.RAINBOW = {
|
| 255 | + | ParticleEmitter19.Lifetime = NumberRange.new(1, 1) |
| 256 | - | Name = "Rainbow", |
| 256 | + | ParticleEmitter19.RotSpeed = NumberRange.new(0, 20) |
| 257 | - | Background = function(bubble_info) |
| 257 | + | ParticleEmitter19.Speed = NumberRange.new(3, 3) |
| 258 | - | local billboard, frame = bubble_info[5], bubble_info[6] |
| 258 | + | ParticleEmitter19.VelocitySpread = 20 |
| 259 | - | TaskScheduler.Start(function() |
| 259 | + | ParticleEmitter19.Color = ColorSequence.new(Color3.new(0.568627, 0.568627, 0.568627),Color3.new(0.568627, 0.568627, 0.568627)) |
| 260 | - | while billboard:IsDescendantOf(Workspace) do |
| 260 | + | Part20.Name = "effect" |
| 261 | - | local red, green, blue = Utility.GetRainbowRGB(tick()) |
| 261 | + | Part20.Parent = Model1 |
| 262 | - | frame.BackgroundColor3 = Color3.new(0.6 * red, 0.6 * green, 0.65 * blue) |
| 262 | + | Part20.Transparency = 1 |
| 263 | - | RunService.Stepped:wait() |
| 263 | + | Part20.Rotation = Vector3.new(-90, 0, -90) |
| 264 | - | end |
| 264 | + | Part20.Anchored = true |
| 265 | - | end) |
| 265 | + | Part20.CanCollide = false |
| 266 | - | end, |
| 266 | + | Part20.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003) |
| 267 | - | Foreground = Color3.new(1, 1, 1) |
| 267 | + | Part20.CFrame = CFrame.new(-155.499954, 4.8999815, -130.5, 0, 1.00000858, 0, 0, 0, 1, 1.00000858, 0, 0) |
| 268 | - | } |
| 268 | + | Part20.Position = Vector3.new(-155.499954, 4.8999815, -130.5) |
| 269 | - | ChatBubble.THEME.TEAL = {
|
| 269 | + | Part20.Orientation = Vector3.new(-90, -90, 0) |
| 270 | - | Name = "Teal", |
| 270 | + | ParticleEmitter21.Parent = Part20 |
| 271 | - | Background = Color3.new(0, 1 / 3, 0.5), |
| 271 | + | ParticleEmitter21.Rotation = NumberRange.new(-180, 180) |
| 272 | - | Foreground = Color3.new(1, 1, 1) |
| 272 | + | ParticleEmitter21.Size = NumberSequence.new(0,2.8205127716064,0) |
| 273 | - | } |
| 273 | + | ParticleEmitter21.Color = ColorSequence.new(Color3.new(0.933333, 0.913725, 0.67451),Color3.new(1, 0.666667, 0),Color3.new(1, 0.666667, 0)) |
| 274 | - | |
| 274 | + | ParticleEmitter21.Enabled = false |
| 275 | - | function ChatBubble.GetTheme() |
| 275 | + | ParticleEmitter21.LightEmission = 1 |
| 276 | - | return ChatBubble.theme_info |
| 276 | + | ParticleEmitter21.ZOffset = 1 |
| 277 | ParticleEmitter21.Lifetime = NumberRange.new(0.20000000298023, 0.40000000596046) | |
| 278 | - | function ChatBubble.SetTheme(theme_info) |
| 278 | + | ParticleEmitter21.Rate = 200 |
| 279 | - | if type(theme_info) == "string" then |
| 279 | + | ParticleEmitter21.RotSpeed = NumberRange.new(-60, 60) |
| 280 | - | theme_info = string.lower(theme_info) |
| 280 | + | ParticleEmitter21.Speed = NumberRange.new(0, 50) |
| 281 | - | for key, info in pairs(ChatBubble.THEME) do |
| 281 | + | ParticleEmitter21.Color = ColorSequence.new(Color3.new(0.933333, 0.913725, 0.67451),Color3.new(1, 0.666667, 0),Color3.new(1, 0.666667, 0)) |
| 282 | - | if info.Name:lower() == theme_info:lower() then |
| 282 | + | Sound22.Name = "bam" |
| 283 | - | ChatBubble.SetTheme(info) |
| 283 | + | Sound22.Parent = Part20 |
| 284 | - | break |
| 284 | + | Sound22.SoundId = "rbxassetid://172430819" |
| 285 | - | end |
| 285 | + | Sound22.Volume = 1 |
| 286 | - | end |
| 286 | + | Sound22.Looped = true |
| 287 | - | return |
| 287 | + | ParticleEmitter23.Name = "smoke" |
| 288 | - | end |
| 288 | + | ParticleEmitter23.Parent = Part20 |
| 289 | - | ChatBubble.theme_info = theme_info |
| 289 | + | ParticleEmitter23.Transparency = NumberSequence.new(1,0.93023252487183,0.94767439365387,1) |
| 290 | - | ChatBubble.background_color = theme_info.Background |
| 290 | + | ParticleEmitter23.Rotation = NumberRange.new(-100, 100) |
| 291 | - | ChatBubble.font = LoadFont(ChatBubble.FONT_DEFAULT, theme_info.Foreground) |
| 291 | + | ParticleEmitter23.Size = NumberSequence.new(1.2371134757996,1.1340206861496,2.4102563858032) |
| 292 | - | print("Theme has been set to "..theme_info.Name.." in ChatBubble")
|
| 292 | + | ParticleEmitter23.Color = ColorSequence.new(Color3.new(0.568627, 0.568627, 0.568627),Color3.new(0.568627, 0.568627, 0.568627)) |
| 293 | ParticleEmitter23.Enabled = false | |
| 294 | - | |
| 294 | + | ParticleEmitter23.Texture = "rbxasset://textures/particles/smoke_main.dds" |
| 295 | - | do |
| 295 | + | ParticleEmitter23.Acceleration = Vector3.new(0, 10, 0) |
| 296 | - | local floor = math.floor |
| 296 | + | ParticleEmitter23.Lifetime = NumberRange.new(0.5, 1) |
| 297 | - | local max = math.max |
| 297 | + | ParticleEmitter23.RotSpeed = NumberRange.new(0, 20) |
| 298 | - | local asc = string.byte |
| 298 | + | ParticleEmitter23.Speed = NumberRange.new(1, 5) |
| 299 | - | local chr = string.char |
| 299 | + | ParticleEmitter23.VelocitySpread = 20 |
| 300 | - | local find = string.find |
| 300 | + | ParticleEmitter23.Color = ColorSequence.new(Color3.new(0.568627, 0.568627, 0.568627),Color3.new(0.568627, 0.568627, 0.568627)) |
| 301 | - | local gmatch = string.gmatch |
| 301 | + | Sound24.Name = "dend" |
| 302 | - | local sub = string.sub |
| 302 | + | Sound24.Parent = Part20 |
| 303 | - | local insert = table.insert |
| 303 | + | Sound24.SoundId = "rbxassetid://295843191" |
| 304 | - | local type = type |
| 304 | + | Sound24.Volume = 1 |
| 305 | - | local unpack = unpack |
| 305 | + | Sound25.Name = "bstart" |
| 306 | - | |
| 306 | + | Sound25.Parent = Part20 |
| 307 | - | local PopIntegerBit |
| 307 | + | Sound25.Pitch = 2 |
| 308 | - | |
| 308 | + | Sound25.SoundId = "rbxassetid://698823472" |
| 309 | - | TextAlignment = setmetatable({
|
| 309 | + | Sound25.Volume = 1 |
| 310 | - | [0] = 0, |
| 310 | + | Part26.Parent = Model1 |
| 311 | - | [1] = 1, |
| 311 | + | Part26.Material = Enum.Material.Metal |
| 312 | - | [2] = 2, |
| 312 | + | Part26.BrickColor = BrickColor.new("Sand violet metallic")
|
| 313 | - | Left = 0, |
| 313 | + | Part26.Rotation = Vector3.new(-90, 0, 90) |
| 314 | - | Center = 1, |
| 314 | + | Part26.Anchored = true |
| 315 | - | Right = 2 |
| 315 | + | Part26.CanCollide = false |
| 316 | - | }, {
|
| 316 | + | Part26.Size = Vector3.new(1.79999995, 0.199999973, 2) |
| 317 | - | __call = function(self, ...) |
| 317 | + | Part26.CFrame = CFrame.new(-165.099976, 4.2948637, -128.899979, 0, -1.00000525, 0, 0, 0, 1, -1.00000525, 0, 0) |
| 318 | - | local argc = #{...}
|
| 318 | + | Part26.BottomSurface = Enum.SurfaceType.Smooth |
| 319 | - | if argc == 0 then |
| 319 | + | Part26.TopSurface = Enum.SurfaceType.Weld |
| 320 | - | return 0 |
| 320 | + | Part26.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 321 | - | else |
| 321 | + | Part26.Position = Vector3.new(-165.099976, 4.2948637, -128.899979) |
| 322 | - | local arg = (...) |
| 322 | + | Part26.Orientation = Vector3.new(-90, 90, 0) |
| 323 | - | local value = rawget(self, arg) |
| 323 | + | Part26.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 324 | - | if value then |
| 324 | + | CylinderMesh27.Parent = Part26 |
| 325 | - | return value |
| 325 | + | Part28.Parent = Model1 |
| 326 | - | else |
| 326 | + | Part28.Material = Enum.Material.DiamondPlate |
| 327 | - | local arg_type = type(arg) |
| 327 | + | Part28.Rotation = Vector3.new(0, 0, 105) |
| 328 | - | error("Invalid value" .. ((arg_type == "number") and (" " .. arg) or ((arg_type == "string") and (" \"" .. arg .. "\"") or
|
| 328 | + | Part28.Anchored = true |
| 329 | - | |
| 329 | + | Part28.CanCollide = false |
| 330 | - | "")) .. " for enum TextAlignment") |
| 330 | + | Part28.Size = Vector3.new(2.5999999, 0.400000006, 1.79999983) |
| 331 | - | end |
| 331 | + | Part28.CFrame = CFrame.new(-170.825912, 5.29657269, -131.100006, -0.258820057, -0.965931594, 0, 0.965926528, -0.258818686, 0, 0, 0, 1.00000525) |
| 332 | - | end |
| 332 | + | Part28.BottomSurface = Enum.SurfaceType.Smooth |
| 333 | - | end |
| 333 | + | Part28.TopSurface = Enum.SurfaceType.Smooth |
| 334 | - | }) |
| 334 | + | Part28.Position = Vector3.new(-170.825912, 5.29657269, -131.100006) |
| 335 | - | |
| 335 | + | Part28.Orientation = Vector3.new(0, 0, 105) |
| 336 | - | function PopIntegerBit(value, bit) |
| 336 | + | Part29.Parent = Model1 |
| 337 | - | if value >= bit then |
| 337 | + | Part29.Material = Enum.Material.Metal |
| 338 | - | return 1, value - bit |
| 338 | + | Part29.BrickColor = BrickColor.new("Dark grey")
|
| 339 | - | else |
| 339 | + | Part29.Rotation = Vector3.new(15, 0, 0) |
| 340 | - | return 0, value |
| 340 | + | Part29.Anchored = true |
| 341 | - | end |
| 341 | + | Part29.CanCollide = false |
| 342 | Part29.Size = Vector3.new(1.39999986, 0.600000024, 0.600000024) | |
| 343 | - | function MusicList() |
| 343 | + | Part29.CFrame = CFrame.new(-167.500015, 6.29998302, -128.899979, 1.00000525, 7.10542736e-15, 0, 0, 0.965925872, -0.258818984, 0, 0.258820355, 0.965930939) |
| 344 | Part29.BottomSurface = Enum.SurfaceType.Smooth | |
| 345 | Part29.TopSurface = Enum.SurfaceType.Smooth | |
| 346 | - | function LoadFixedFont(dest, src, height, width) |
| 346 | + | Part29.Color = Color3.new(0.458824, 0.458824, 0.458824) |
| 347 | - | local n = #src / 64 - 1 |
| 347 | + | Part29.Position = Vector3.new(-167.500015, 6.29998302, -128.899979) |
| 348 | - | local bit_index = 0 |
| 348 | + | Part29.Orientation = Vector3.new(15, 0, 0) |
| 349 | - | local symbol_bits = width * height |
| 349 | + | Part29.Color = Color3.new(0.458824, 0.458824, 0.458824) |
| 350 | - | for i = 0, 255 do |
| 350 | + | Part30.Parent = Model1 |
| 351 | - | local char_data = {}
|
| 351 | + | Part30.Material = Enum.Material.Metal |
| 352 | - | for j = 1, height do |
| 352 | + | Part30.BrickColor = BrickColor.new("Sand violet metallic")
|
| 353 | - | char_data[j] = {}
|
| 353 | + | Part30.Rotation = Vector3.new(-90, 0, 90) |
| 354 | - | end |
| 354 | + | Part30.Anchored = true |
| 355 | - | dest[i] = char_data |
| 355 | + | Part30.CanCollide = false |
| 356 | - | end |
| 356 | + | Part30.Size = Vector3.new(1.79999995, 0.799999952, 2.20000005) |
| 357 | - | for i = 1, #src do |
| 357 | + | Part30.CFrame = CFrame.new(-168.299988, 4.64997387, -130.449997, -8.16587908e-06, -1.00000727, 0, 0, 0, 1, -1.00000584, -2.53321048e-07, 0) |
| 358 | - | local buffer = tonumber(sub(src, i, i), 16) |
| 358 | + | Part30.BottomSurface = Enum.SurfaceType.Weld |
| 359 | - | for j = 1, 4 do |
| 359 | + | Part30.TopSurface = Enum.SurfaceType.Smooth |
| 360 | - | local code = floor(bit_index / symbol_bits) |
| 360 | + | Part30.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 361 | - | local row = floor(bit_index / width) % height + 1 |
| 361 | + | Part30.Position = Vector3.new(-168.299988, 4.64997387, -130.449997) |
| 362 | - | local column = bit_index % width + 1 |
| 362 | + | Part30.Orientation = Vector3.new(-90, 90, 0) |
| 363 | - | dest[code][row][column], buffer = PopIntegerBit(buffer, 8) |
| 363 | + | Part30.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 364 | - | buffer = buffer * 2 |
| 364 | + | CylinderMesh31.Parent = Part30 |
| 365 | - | bit_index = bit_index + 1 |
| 365 | + | Part32.Parent = Model1 |
| 366 | - | end |
| 366 | + | Part32.Material = Enum.Material.Metal |
| 367 | - | end |
| 367 | + | Part32.BrickColor = BrickColor.new("Dark grey")
|
| 368 | Part32.Anchored = true | |
| 369 | - | function LoadFont(font_data, color) |
| 369 | + | Part32.CanCollide = false |
| 370 | - | local font_obj = {}
|
| 370 | + | Part32.Size = Vector3.new(1.20000005, 0.200000033, 0.5) |
| 371 | - | for character, char_data in pairs(font_data) do |
| 371 | + | Part32.CFrame = CFrame.new(-167.407196, 5.69997692, -132.050018, 1.00000596, 0, 0, 0, 1.00000072, 0, 0, 0, 1.00000525) |
| 372 | - | local code = character |
| 372 | + | Part32.BottomSurface = Enum.SurfaceType.Smooth |
| 373 | - | if type(code) ~= "number" then |
| 373 | + | Part32.TopSurface = Enum.SurfaceType.Smooth |
| 374 | - | code = asc(character) |
| 374 | + | Part32.Color = Color3.new(0.458824, 0.458824, 0.458824) |
| 375 | - | end |
| 375 | + | Part32.Position = Vector3.new(-167.407196, 5.69997692, -132.050018) |
| 376 | - | local height = #char_data |
| 376 | + | Part32.Color = Color3.new(0.458824, 0.458824, 0.458824) |
| 377 | - | local width = #char_data[1] |
| 377 | + | Part33.Parent = Model1 |
| 378 | - | local pixel_h = 1 / height |
| 378 | + | Part33.Material = Enum.Material.Metal |
| 379 | - | local pixel_w = 1 / width |
| 379 | + | Part33.BrickColor = BrickColor.new("Sand violet metallic")
|
| 380 | - | local pixel_size = UDim2.new(pixel_w, 0, pixel_h, 0) |
| 380 | + | Part33.Rotation = Vector3.new(0, 0, 15) |
| 381 | - | local frame = Instance.new("Frame")
|
| 381 | + | Part33.Anchored = true |
| 382 | - | frame.BackgroundTransparency = 1 |
| 382 | + | Part33.CanCollide = false |
| 383 | - | frame.Name = "" |
| 383 | + | Part33.Size = Vector3.new(0.600000024, 1.20000005, 2.00000024) |
| 384 | - | for y = 1, height do |
| 384 | + | Part33.CFrame = CFrame.new(-171.100037, 4.59997845, -131.200012, 0.965930521, -0.258821011, 0, 0.25881964, 0.965925455, 0, 2.84217094e-14, 0, 1.00000525) |
| 385 | - | local row = char_data[y] |
| 385 | + | Part33.BottomSurface = Enum.SurfaceType.Smooth |
| 386 | - | for x = 1, width do |
| 386 | + | Part33.TopSurface = Enum.SurfaceType.Smooth |
| 387 | - | local opacity = row[x] |
| 387 | + | Part33.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 388 | - | if opacity ~= 0 then |
| 388 | + | Part33.Position = Vector3.new(-171.100037, 4.59997845, -131.200012) |
| 389 | - | local pixel = Instance.new("Frame", frame)
|
| 389 | + | Part33.Orientation = Vector3.new(0, 0, 15) |
| 390 | - | pixel.BackgroundColor3 = color |
| 390 | + | Part33.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 391 | - | pixel.BorderSizePixel = 0 |
| 391 | + | Part34.Parent = Model1 |
| 392 | - | pixel.Name = "" |
| 392 | + | Part34.Material = Enum.Material.DiamondPlate |
| 393 | - | pixel.Position = UDim2.new(x * pixel_w, 0, y * pixel_h, 0) - pixel_size |
| 393 | + | Part34.Anchored = true |
| 394 | - | pixel.Size = pixel_size -- + UDim2.new(0, 0, 0, 1) -- correction |
| 394 | + | Part34.CanCollide = false |
| 395 | - | -- ^ never mind that correction, fixed by changing font size to 12x16 instead of 13x17 |
| 395 | + | Part34.Size = Vector3.new(2.39999986, 0.400000006, 1.20000005) |
| 396 | - | if opacity then |
| 396 | + | Part34.CFrame = CFrame.new(-169.400024, 3.99999499, -131.800003, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 397 | - | pixel.BackgroundTransparency = 1 - opacity |
| 397 | + | Part34.BottomSurface = Enum.SurfaceType.Smooth |
| 398 | - | end |
| 398 | + | Part34.TopSurface = Enum.SurfaceType.Smooth |
| 399 | - | end |
| 399 | + | Part34.Position = Vector3.new(-169.400024, 3.99999499, -131.800003) |
| 400 | - | end |
| 400 | + | Part35.Parent = Model1 |
| 401 | - | end |
| 401 | + | Part35.BrickColor = BrickColor.new("Black")
|
| 402 | - | font_obj[code] = {frame, height, width}
|
| 402 | + | Part35.Anchored = true |
| 403 | - | end |
| 403 | + | Part35.CanCollide = false |
| 404 | - | return font_obj |
| 404 | + | Part35.Size = Vector3.new(1.99999976, 0.400000006, 2.19999981) |
| 405 | Part35.CFrame = CFrame.new(-169.400024, 4.3999815, -131.100006, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) | |
| 406 | - | function DrawTextNetwork(text, font, size, delay_offset) |
| 406 | + | Part35.BottomSurface = Enum.SurfaceType.Smooth |
| 407 | - | if #text == 0 then |
| 407 | + | Part35.TopSurface = Enum.SurfaceType.Smooth |
| 408 | - | text = " " |
| 408 | + | Part35.Color = Color3.new(0.105882, 0.164706, 0.207843) |
| 409 | - | end |
| 409 | + | Part35.Position = Vector3.new(-169.400024, 4.3999815, -131.100006) |
| 410 | - | local frame = Instance.new("Frame")
|
| 410 | + | Part35.Color = Color3.new(0.105882, 0.164706, 0.207843) |
| 411 | - | frame.BackgroundTransparency = 1 |
| 411 | + | Part36.Parent = Model1 |
| 412 | - | frame.BorderSizePixel = 0 |
| 412 | + | Part36.Material = Enum.Material.DiamondPlate |
| 413 | - | local objects = {}
|
| 413 | + | Part36.Anchored = true |
| 414 | - | local length = #text |
| 414 | + | Part36.CanCollide = false |
| 415 | - | local height = 0 |
| 415 | + | Part36.Size = Vector3.new(2.39999986, 0.400000006, 1.39999986) |
| 416 | - | local width = 0 |
| 416 | + | Part36.CFrame = CFrame.new(-169.400024, 3.99999499, -130.899994, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 417 | - | for i = 1, length do |
| 417 | + | Part36.BottomSurface = Enum.SurfaceType.Smooth |
| 418 | - | local character = sub(text, i, i) |
| 418 | + | Part36.TopSurface = Enum.SurfaceType.Smooth |
| 419 | - | local code = asc(character) |
| 419 | + | Part36.Position = Vector3.new(-169.400024, 3.99999499, -130.899994) |
| 420 | - | local char_data = assert(font[code] or FONT_SYMBOL_MISSING, "FONT ERROR: '" .. character .. "' (" .. code .. ") not found")
|
| 420 | + | Part37.Parent = Model1 |
| 421 | - | local char_proto, char_h, char_w = unpack(char_data) |
| 421 | + | Part37.Material = Enum.Material.Metal |
| 422 | - | objects[i] = char_data |
| 422 | + | Part37.BrickColor = BrickColor.new("Sand violet metallic")
|
| 423 | - | height = max(char_h, height) |
| 423 | + | Part37.Rotation = Vector3.new(-90, 0, 90) |
| 424 | - | width = width + char_w |
| 424 | + | Part37.Anchored = true |
| 425 | - | end |
| 425 | + | Part37.CanCollide = false |
| 426 | - | local offset = 0 |
| 426 | + | Part37.Size = Vector3.new(1.80000007, 1.60000002, 1.39999986) |
| 427 | - | local punctuation_delay = 0 |
| 427 | + | Part37.CFrame = CFrame.new(-167.199997, 6.39485455, -129.5, 0, -1.00000525, 0, 0, 0, 1, -1.00000525, 0, 0) |
| 428 | - | for i = 1, length do |
| 428 | + | Part37.BottomSurface = Enum.SurfaceType.Smooth |
| 429 | - | delay(delay_offset + (i + punctuation_delay - 1) / 30, function() |
| 429 | + | Part37.TopSurface = Enum.SurfaceType.Weld |
| 430 | - | local char_data = objects[i] |
| 430 | + | Part37.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 431 | - | local char_proto, char_h, char_w = unpack(char_data) |
| 431 | + | Part37.Position = Vector3.new(-167.199997, 6.39485455, -129.5) |
| 432 | - | local char_obj = char_proto:Clone() |
| 432 | + | Part37.Orientation = Vector3.new(-90, 90, 0) |
| 433 | - | char_obj.Position = UDim2.new(offset / width, 0, 0, 0) |
| 433 | + | Part37.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 434 | - | char_obj.Size = UDim2.new(char_w / width, 0, 1, 0) |
| 434 | + | CylinderMesh38.Parent = Part37 |
| 435 | - | char_obj.Parent = frame |
| 435 | + | Part39.Parent = Model1 |
| 436 | - | offset = offset + char_w |
| 436 | + | Part39.Material = Enum.Material.Metal |
| 437 | - | end) |
| 437 | + | Part39.BrickColor = BrickColor.new("Sand violet metallic")
|
| 438 | - | local character = sub(text, i, i) |
| 438 | + | Part39.Rotation = Vector3.new(-90, 0, 0) |
| 439 | - | if character == "." then |
| 439 | + | Part39.Anchored = true |
| 440 | - | punctionation_delay = punctuation_delay + 3 |
| 440 | + | Part39.CanCollide = false |
| 441 | - | elseif character == "?" or character == "!" then |
| 441 | + | Part39.Size = Vector3.new(1.79999995, 0.799999952, 2.20000005) |
| 442 | - | punctionation_delay = punctuation_delay + 2 |
| 442 | + | Part39.CFrame = CFrame.new(-166.900009, 5.49997234, -131.800003, 1.00000525, 0, 0, 0, 0, 1, 0, -1.00000525, 0) |
| 443 | - | elseif character == ";" or character == "~" then |
| 443 | + | Part39.BottomSurface = Enum.SurfaceType.Weld |
| 444 | - | punctionation_delay = punctuation_delay + 1 |
| 444 | + | Part39.TopSurface = Enum.SurfaceType.Smooth |
| 445 | - | end |
| 445 | + | Part39.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 446 | - | end |
| 446 | + | Part39.Position = Vector3.new(-166.900009, 5.49997234, -131.800003) |
| 447 | - | local ratio = (height == 0) and (0) or (width / height) |
| 447 | + | Part39.Orientation = Vector3.new(-90, 0, 0) |
| 448 | - | frame.Size = UDim2.new(size.X.Scale * ratio, size.X.Offset * ratio, size.Y.Scale, size.Y.Offset) |
| 448 | + | Part39.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 449 | - | return frame, height, width, (length + punctuation_delay) / 30 |
| 449 | + | CylinderMesh40.Parent = Part39 |
| 450 | Part41.Parent = Model1 | |
| 451 | - | function DrawMultilineTextNetwork(text, font, size, delay_offset, ...) |
| 451 | + | Part41.Material = Enum.Material.Metal |
| 452 | - | local align = TextAlignment(...) |
| 452 | + | Part41.BrickColor = BrickColor.new("Dark grey")
|
| 453 | - | local frame = Instance.new("Frame")
|
| 453 | + | Part41.Rotation = Vector3.new(-90, 0, 90) |
| 454 | - | frame.BackgroundTransparency = 1 |
| 454 | + | Part41.Anchored = true |
| 455 | - | frame.BorderSizePixel = 0 |
| 455 | + | Part41.CanCollide = false |
| 456 | - | local height = 0 |
| 456 | + | Part41.Size = Vector3.new(1.79999995, 1.39999795, 1.80000019) |
| 457 | - | local width = 0 |
| 457 | + | Part41.CFrame = CFrame.new(-164.099991, 4.8999815, -130.5, 0, -1.00000525, 0, 0, 0, 1, -1.00000525, 0, 0) |
| 458 | - | local objects = {}
|
| 458 | + | Part41.BottomSurface = Enum.SurfaceType.Smooth |
| 459 | - | for line in gmatch(text .. "\n", "([^\n]*)\n") do |
| 459 | + | Part41.TopSurface = Enum.SurfaceType.Weld |
| 460 | - | local line_obj, line_h, line_w, line_delay = DrawTextNetwork(line, font, size, delay_offset) |
| 460 | + | Part41.Color = Color3.new(0.458824, 0.458824, 0.458824) |
| 461 | - | insert(objects, {line_obj, line_h, line_w})
|
| 461 | + | Part41.Position = Vector3.new(-164.099991, 4.8999815, -130.5) |
| 462 | - | height = height + line_h |
| 462 | + | Part41.Orientation = Vector3.new(-90, 90, 0) |
| 463 | - | width = max(line_w, width) |
| 463 | + | Part41.Color = Color3.new(0.458824, 0.458824, 0.458824) |
| 464 | - | delay_offset = delay_offset + line_delay |
| 464 | + | CylinderMesh42.Parent = Part41 |
| 465 | - | end |
| 465 | + | Part43.Parent = Model1 |
| 466 | - | local offset = 0 |
| 466 | + | Part43.Material = Enum.Material.Metal |
| 467 | - | for index, line_data in ipairs(objects) do |
| 467 | + | Part43.BrickColor = BrickColor.new("Sand violet metallic")
|
| 468 | - | local line_obj, line_h, line_w = unpack(line_data) |
| 468 | + | Part43.Anchored = true |
| 469 | - | local align_offset |
| 469 | + | Part43.CanCollide = false |
| 470 | - | if align == TextAlignment.Left then |
| 470 | + | Part43.Size = Vector3.new(1.20000005, 1, 2.60000038) |
| 471 | - | align_offset = 0 |
| 471 | + | Part43.CFrame = CFrame.new(-164.199982, 4.8999815, -130.5, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 472 | - | elseif align == TextAlignment.Center then |
| 472 | + | Part43.BottomSurface = Enum.SurfaceType.Smooth |
| 473 | - | align_offset = 0.5 - line_w / width / 2 |
| 473 | + | Part43.TopSurface = Enum.SurfaceType.Smooth |
| 474 | - | elseif align == TextAlignment.Right then |
| 474 | + | Part43.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 475 | - | align_offset = 1 - line_w / width |
| 475 | + | Part43.Position = Vector3.new(-164.199982, 4.8999815, -130.5) |
| 476 | - | end |
| 476 | + | Part43.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 477 | - | line_obj.Position = UDim2.new(align_offset, 0, offset / height, 0) |
| 477 | + | Part44.Parent = Model1 |
| 478 | - | line_obj.Parent = frame |
| 478 | + | Part44.Material = Enum.Material.Metal |
| 479 | - | offset = offset + line_h |
| 479 | + | Part44.Rotation = Vector3.new(-90, 0, 0) |
| 480 | - | end |
| 480 | + | Part44.Anchored = true |
| 481 | - | local line_count = #objects |
| 481 | + | Part44.CanCollide = false |
| 482 | - | local ratio = (height == 0) and (0) or (line_count * width / height) |
| 482 | + | Part44.Size = Vector3.new(1.39999998, 1.80000007, 1.39999998) |
| 483 | - | frame.Size = UDim2.new(size.X.Scale * ratio, size.X.Offset * ratio, size.Y.Scale * line_count, size.Y.Offset * line_count) |
| 483 | + | Part44.CFrame = CFrame.new(-166.900009, 4.09999371, -128.699997, 1.00000525, 0, 0, 0, 0, 1, 0, -1.00000525, 0) |
| 484 | - | return frame, height, width |
| 484 | + | Part44.BottomSurface = Enum.SurfaceType.Weld |
| 485 | Part44.TopSurface = Enum.SurfaceType.Smooth | |
| 486 | Part44.Position = Vector3.new(-166.900009, 4.09999371, -128.699997) | |
| 487 | - | |
| 487 | + | Part44.Orientation = Vector3.new(-90, 0, 0) |
| 488 | - | LoadFixedFont(FONT_CUSTOM_A, FONT_CUSTOM_A_SRC, 8, 6) |
| 488 | + | CylinderMesh45.Parent = Part44 |
| 489 | - | ChatBubble.FONT_DEFAULT = FONT_CUSTOM_A |
| 489 | + | Part46.Parent = Model1 |
| 490 | - | ChatBubble.SetTheme("Rainbow")
|
| 490 | + | Part46.Material = Enum.Material.Metal |
| 491 | - | |
| 491 | + | Part46.BrickColor = BrickColor.new("Sand violet metallic")
|
| 492 | - | chat_bubbles = {}
|
| 492 | + | Part46.Rotation = Vector3.new(0, 0, -30) |
| 493 | - | |
| 493 | + | Part46.Anchored = true |
| 494 | - | function CreateChatBubble(bubble_info) |
| 494 | + | Part46.CanCollide = false |
| 495 | - | local creation_time, text, backup = bubble_info[1], bubble_info[2], bubble_info[8] |
| 495 | + | Part46.Size = Vector3.new(2.80000043, 1, 0.400000036) |
| 496 | - | local billboard, frame, label |
| 496 | + | Part46.CFrame = CFrame.new(-166.207184, 5.09997845, -131.899994, 0.866030037, 0.500002503, 0, -0.499999911, 0.866025507, 0, 0, 1.42108547e-14, 1.00000525) |
| 497 | - | if backup and false then |
| 497 | + | Part46.BottomSurface = Enum.SurfaceType.Smooth |
| 498 | - | billboard = backup:Clone() |
| 498 | + | Part46.TopSurface = Enum.SurfaceType.Smooth |
| 499 | - | frame = billboard.Frame |
| 499 | + | Part46.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 500 | - | label = frame.Label |
| 500 | + | Part46.Position = Vector3.new(-166.207184, 5.09997845, -131.899994) |
| 501 | - | bubble_info[5] = billboard |
| 501 | + | Part46.Orientation = Vector3.new(0, 0, -30) |
| 502 | - | bubble_info[6] = frame |
| 502 | + | Part46.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 503 | - | bubble_info[7] = label |
| 503 | + | Part47.Parent = Model1 |
| 504 | - | billboard.Parent = Workspace |
| 504 | + | Part47.Material = Enum.Material.Metal |
| 505 | - | else |
| 505 | + | Part47.BrickColor = BrickColor.new("Sand violet metallic")
|
| 506 | - | label = DrawMultilineTextNetwork(text, bubble_info[9], UDim2.new(0, 12, 0, 16), creation_time - time(), "Center") |
| 506 | + | Part47.Rotation = Vector3.new(-90, 0, 0) |
| 507 | - | label.Name = "Label" |
| 507 | + | Part47.Anchored = true |
| 508 | - | label.Position = UDim2.new(0, 16, 0, 16) |
| 508 | + | Part47.CanCollide = false |
| 509 | - | billboard = Instance.new("BillboardGui", Workspace)
|
| 509 | + | Part47.Size = Vector3.new(2.20000005, 0.599999964, 2.60000014) |
| 510 | - | billboard.Adornee = chatAdornee |
| 510 | + | Part47.CFrame = CFrame.new(-166.900009, 5.49997234, -131.700012, 1.00000525, 0, 0, 0, 0, 1, 0, -1.00000525, 0) |
| 511 | - | billboard.AlwaysOnTop = true |
| 511 | + | Part47.BottomSurface = Enum.SurfaceType.Weld |
| 512 | - | billboard.Size = UDim2.new(label.Size.X.Scale, label.Size.X.Offset + 32, label.Size.Y.Scale, label.Size.Y.Offset + 32) |
| 512 | + | Part47.TopSurface = Enum.SurfaceType.Smooth |
| 513 | - | billboard.SizeOffset = Vector2.new(0, 0) |
| 513 | + | Part47.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 514 | - | billboard.StudsOffset = Vector3.new(0, 1, 0) |
| 514 | + | Part47.Position = Vector3.new(-166.900009, 5.49997234, -131.700012) |
| 515 | - | frame = Instance.new("Frame", billboard)
|
| 515 | + | Part47.Orientation = Vector3.new(-90, 0, 0) |
| 516 | - | bubble_info[5] = billboard |
| 516 | + | Part47.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 517 | - | bubble_info[6] = frame |
| 517 | + | CylinderMesh48.Parent = Part47 |
| 518 | - | bubble_info[7] = label |
| 518 | + | Part49.Parent = Model1 |
| 519 | - | local background_color = bubble_info[10] |
| 519 | + | Part49.Material = Enum.Material.Metal |
| 520 | - | if type(background_color) == "function" then |
| 520 | + | Part49.Rotation = Vector3.new(-90, 0, 0) |
| 521 | - | background_color(bubble_info) |
| 521 | + | Part49.Anchored = true |
| 522 | - | else |
| 522 | + | Part49.CanCollide = false |
| 523 | - | frame.BackgroundColor3 = background_color |
| 523 | + | Part49.Size = Vector3.new(1.39999998, 1.80000007, 1.39999998) |
| 524 | - | end |
| 524 | + | Part49.CFrame = CFrame.new(-166.900009, 4.09999371, -132.300018, 1.00000525, 0, 0, 0, 0, 1, 0, -1.00000525, 0) |
| 525 | - | frame.BackgroundTransparency = 0.3 |
| 525 | + | Part49.BottomSurface = Enum.SurfaceType.Weld |
| 526 | - | frame.BorderSizePixel = 0 |
| 526 | + | Part49.TopSurface = Enum.SurfaceType.Smooth |
| 527 | - | frame.ClipsDescendants = true |
| 527 | + | Part49.Position = Vector3.new(-166.900009, 4.09999371, -132.300018) |
| 528 | - | frame.Name = "Frame" |
| 528 | + | Part49.Orientation = Vector3.new(-90, 0, 0) |
| 529 | - | frame.Size = UDim2.new(1, 0, 0, 0) |
| 529 | + | CylinderMesh50.Parent = Part49 |
| 530 | - | label.Parent = frame |
| 530 | + | Part51.Parent = Model1 |
| 531 | - | -- bubble_info[8] = billboard:Clone() |
| 531 | + | Part51.Material = Enum.Material.Metal |
| 532 | - | end |
| 532 | + | Part51.BrickColor = BrickColor.new("Sand violet metallic")
|
| 533 | Part51.Anchored = true | |
| 534 | - | local tween_time = 0.3 |
| 534 | + | Part51.CanCollide = false |
| 535 | - | function ConfigureChatBubble(bubble_info) |
| 535 | + | Part51.Size = Vector3.new(3.40000081, 1.80000019, 2.60000038) |
| 536 | - | local creation_time, destruction_time, billboard, frame = bubble_info[1], bubble_info[3], bubble_info[5], bubble_info[6] |
| 536 | + | Part51.CFrame = CFrame.new(-166.5, 4.8999815, -130.5, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 537 | - | if not billboard or billboard.Parent ~= workspace then |
| 537 | + | Part51.BottomSurface = Enum.SurfaceType.Smooth |
| 538 | - | CreateChatBubble(bubble_info) |
| 538 | + | Part51.TopSurface = Enum.SurfaceType.Smooth |
| 539 | - | billboard, frame = bubble_info[5], bubble_info[6] |
| 539 | + | Part51.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 540 | - | end |
| 540 | + | Part51.Position = Vector3.new(-166.5, 4.8999815, -130.5) |
| 541 | - | if billboard.Adornee ~= chatAdornee then |
| 541 | + | Part51.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 542 | - | billboard.Adornee = chatAdornee |
| 542 | + | Part52.Parent = Model1 |
| 543 | - | end |
| 543 | + | Part52.Material = Enum.Material.Metal |
| 544 | - | local current_time = time() |
| 544 | + | Part52.BrickColor = BrickColor.new("Sand violet metallic")
|
| 545 | - | local elapsed_time = current_time - creation_time |
| 545 | + | Part52.Anchored = true |
| 546 | - | local remaining_time = destruction_time - current_time |
| 546 | + | Part52.CanCollide = false |
| 547 | - | if remaining_time < 0 then |
| 547 | + | Part52.Size = Vector3.new(3.20000029, 1.20000005, 0.600000024) |
| 548 | - | bubble_info[4] = false |
| 548 | + | Part52.CFrame = CFrame.new(-169.800018, 4.59997845, -129.899994, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 549 | - | billboard:Destroy() |
| 549 | + | Part52.BottomSurface = Enum.SurfaceType.Smooth |
| 550 | - | return false |
| 550 | + | Part52.TopSurface = Enum.SurfaceType.Smooth |
| 551 | - | elseif remaining_time < tween_time then |
| 551 | + | Part52.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 552 | - | local tween_progress = math.sin(remaining_time * math.pi / (tween_time * 2)) |
| 552 | + | Part52.Position = Vector3.new(-169.800018, 4.59997845, -129.899994) |
| 553 | - | frame.Size = UDim2.new(1, 0, tween_progress, 0) |
| 553 | + | Part52.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 554 | - | elseif elapsed_time < tween_time then |
| 554 | + | Part53.Name = "base" |
| 555 | - | local tween_progress = math.sin(elapsed_time * math.pi / (tween_time * 2)) |
| 555 | + | Part53.Parent = Model1 |
| 556 | - | frame.Size = UDim2.new(1, 0, tween_progress, 0) |
| 556 | + | Part53.Material = Enum.Material.Metal |
| 557 | - | elseif frame.Size ~= UDim2.new(1, 0, 1, 0) then |
| 557 | + | Part53.Transparency = 1 |
| 558 | - | frame.Size = UDim2.new(1, 0, 1, 0) |
| 558 | + | Part53.Rotation = Vector3.new(0, -90, 0) |
| 559 | - | end |
| 559 | + | Part53.Anchored = true |
| 560 | - | return true |
| 560 | + | Part53.CanCollide = false |
| 561 | Part53.Size = Vector3.new(1.39999998, 1.80000377, 1.39999998) | |
| 562 | - | function ChatBubble.MainLoop() |
| 562 | + | Part53.CFrame = CFrame.new(-165.899994, 4.09999371, -130.5, -4.37116228e-08, 0, -1.00000525, 0, 1, 0, 1.00000525, 0, -4.37116228e-08) |
| 563 | - | local offset = 0 |
| 563 | + | Part53.BottomSurface = Enum.SurfaceType.Weld |
| 564 | - | local removing = {}
|
| 564 | + | Part53.TopSurface = Enum.SurfaceType.Smooth |
| 565 | - | for index, bubble_info in ipairs(chat_bubbles) do |
| 565 | + | Part53.Position = Vector3.new(-165.899994, 4.09999371, -130.5) |
| 566 | - | if not ConfigureChatBubble(bubble_info) then |
| 566 | + | Part53.Orientation = Vector3.new(0, -90, 0) |
| 567 | - | removing[#removing + 1] = index - #removing |
| 567 | + | CylinderMesh54.Parent = Part53 |
| 568 | - | else |
| 568 | + | Seat55.Parent = Model1 |
| 569 | - | local billboard, frame = bubble_info[5], bubble_info[6] |
| 569 | + | Seat55.BrickColor = BrickColor.new("Black")
|
| 570 | - | local billboard_h = billboard.Size.Y.Offset |
| 570 | + | Seat55.Transparency = 1 |
| 571 | - | local bubble_h = frame.Size.Y.Scale * billboard_h |
| 571 | + | Seat55.Rotation = Vector3.new(0, -90, 0) |
| 572 | - | offset = 8 + offset + bubble_h |
| 572 | + | Seat55.CanCollide = false |
| 573 | - | billboard.SizeOffset = Vector2.new(0, offset / billboard_h - 0.5) |
| 573 | + | Seat55.Size = Vector3.new(2.20000005, 0.399999976, 1) |
| 574 | - | end |
| 574 | + | Seat55.CFrame = CFrame.new(-170.100021, 4.19998455, -131.099991, 0, 0, -1.00000525, 0, 1, 0, 1.00000525, 0, 0) |
| 575 | - | end |
| 575 | + | Seat55.Color = Color3.new(0.105882, 0.164706, 0.207843) |
| 576 | - | for index, bubble_index in ipairs(removing) do |
| 576 | + | Seat55.Position = Vector3.new(-170.100021, 4.19998455, -131.099991) |
| 577 | - | table.remove(chat_bubbles, bubble_index) |
| 577 | + | Seat55.Orientation = Vector3.new(0, -90, 0) |
| 578 | - | end |
| 578 | + | Seat55.Color = Color3.new(0.105882, 0.164706, 0.207843) |
| 579 | - | RunService.Stepped:wait() |
| 579 | + | Script56.Name = "FOREVERWELD" |
| 580 | Script56.Parent = Seat55 | |
| 581 | - | function WrapText(text, character_limit, line_length_limit) |
| 581 | + | table.insert(cors,sandbox(Script56,function() |
| 582 | - | if #text > character_limit then |
| 582 | + | |
| 583 | - | text = string.sub(text, 1, character_limit - 3) .. "..." |
| 583 | + | local weld = Instance.new("Weld")
|
| 584 | - | end |
| 584 | + | weld.Part0 = script.Parent |
| 585 | - | local text_length = #text |
| 585 | + | weld.Part1 = script.Parent.Parent["base"] |
| 586 | - | local line_length = 0 |
| 586 | + | weld.C0 = script.Parent.CFrame:inverse() |
| 587 | - | local i = 0 |
| 587 | + | weld.C1 = script.Parent.Parent["base"] .CFrame:inverse() |
| 588 | - | while i <= text_length do |
| 588 | + | weld.Parent = script.Parent |
| 589 | - | i = i + 1 |
| 589 | + | |
| 590 | - | local character = string.sub(text, i, i) |
| 590 | + | |
| 591 | - | if character == "\t" then |
| 591 | + | |
| 592 | - | local tabulation_size = 4 - line_length % 4 |
| 592 | + | |
| 593 | - | line_length = line_length + tabulation_size |
| 593 | + | local a = script.Parent.Weld:clone() |
| 594 | - | if line_length >= line_length_limit then |
| 594 | + | local co=script.Parent.Weld.C0 |
| 595 | - | tabulation_size = line_length - line_length_limit |
| 595 | + | local c1 = script.Parent.Weld.C1 |
| 596 | - | line_length = 0 |
| 596 | + | local p1 = script.Parent.Weld.Part1 |
| 597 | - | text_length = text_length + tabulation_size |
| 597 | + | function poo(part) |
| 598 | - | text = string.sub(text, 1, i - 1) .. string.rep(" ", tabulation_size) .. "\n" .. string.sub(text, i + 1)
|
| 598 | + | if part.Name =="Weld" then |
| 599 | - | i = i + tabulation_size + 1 |
| 599 | + | local b =a:clone() |
| 600 | - | else |
| 600 | + | b.Parent=script.Parent |
| 601 | - | text_length = text_length + tabulation_size - 1 |
| 601 | + | b.C0 = co |
| 602 | - | text = string.sub(text, 1, i - 1) .. string.rep(" ", tabulation_size) .. string.sub(text, i + 1)
|
| 602 | + | b.C1 =c1 |
| 603 | - | i = i + tabulation_size - 1 |
| 603 | + | b.Part1 = p1 |
| 604 | - | end |
| 604 | + | |
| 605 | - | elseif character == "\n" then |
| 605 | + | |
| 606 | - | line_length = 0 |
| 606 | + | script.Parent.ChildRemoved:connect(poo) |
| 607 | - | else |
| 607 | + | |
| 608 | - | line_length = line_length + 1 |
| 608 | + | Script57.Parent = Seat55 |
| 609 | - | if line_length >= line_length_limit then |
| 609 | + | table.insert(cors,sandbox(Script57,function() |
| 610 | - | local k = i - line_length + 1 |
| 610 | + | |
| 611 | - | local success = false |
| 611 | + | function powers() |
| 612 | - | for j = i, k, -1 do |
| 612 | + | if script.Parent.Occupant~= nil then |
| 613 | - | if string.match(string.sub(text, j, j), "[ \t]") then |
| 613 | + | local a = script.Parent.Occupant |
| 614 | - | text = string.sub(text, 1, j - 1) .. "\n" .. string.sub(text, j + 1) |
| 614 | + | local b = game.Players:GetPlayerFromCharacter(a.Parent) |
| 615 | - | text_length = text_length + 1 |
| 615 | + | if b~= nil then |
| 616 | - | success = true |
| 616 | + | if a.Parent:findFirstChild("control") == nil then
|
| 617 | - | break |
| 617 | + | g=script.control:Clone() |
| 618 | - | end |
| 618 | + | print(script.Parent.Parent.Parent) |
| 619 | - | end |
| 619 | + | g.Value.Value=script.Parent.Parent.Parent |
| 620 | - | if not success then |
| 620 | + | g.Parent=b.Character |
| 621 | - | text = string.sub(text, 1, i) .. "\n" .. string.sub(text, i + 1) |
| 621 | + | g.Disabled=false |
| 622 | - | text_length = text_length + 1 |
| 622 | + | end |
| 623 | - | end |
| 623 | + | |
| 624 | - | i = i + 1 |
| 624 | + | |
| 625 | - | line_length = 0 |
| 625 | + | |
| 626 | - | end |
| 626 | + | script.Parent.Changed:connect(powers) |
| 627 | - | end |
| 627 | + | |
| 628 | - | end |
| 628 | + | LocalScript58.Name = "control" |
| 629 | - | if #text > character_limit then |
| 629 | + | LocalScript58.Parent = Script57 |
| 630 | - | text = string.sub(text, 1, character_limit - 3) .. "..." |
| 630 | + | LocalScript58.Disabled = true |
| 631 | - | end |
| 631 | + | table.insert(cors,sandbox(LocalScript58,function() |
| 632 | - | return text |
| 632 | + | |
| 633 | local TARGET_RADIUS = 5 | |
| 634 | - | function ChatBubble.Create(text, theme) |
| 634 | + | local MAX_SPEED = 1750 |
| 635 | - | local text = WrapText(text, 200, 30) |
| 635 | + | local MAX_TORQUE = Vector3.new(4e6, 4e6, 0) |
| 636 | - | local creation_time = time() |
| 636 | + | local MAX_THRUST = 1750 |
| 637 | - | local bubble_info = {creation_time, text, creation_time + 6 + #text / 15, true}
|
| 637 | + | local THRUST_P = 500 |
| 638 | - | local previousTheme |
| 638 | + | local THRUST_D = 500 |
| 639 | - | if theme then |
| 639 | + | md = false |
| 640 | - | previousTheme = ChatBubble.GetTheme() |
| 640 | + | local mouse = game.Players.LocalPlayer:GetMouse() |
| 641 | - | ChatBubble.SetTheme(theme) |
| 641 | + | mouse.TargetFilter = script.Value.Value |
| 642 | - | end |
| 642 | + | local running = false |
| 643 | - | bubble_info[9] = ChatBubble.font |
| 643 | + | local gun=script.Value.Value |
| 644 | - | bubble_info[10] = ChatBubble.background_color |
| 644 | + | local SPAWN = gun.body:GetPrimaryPartCFrame() |
| 645 | - | if previousTheme then |
| 645 | + | local aimpos = Vector3.new(0,0,0) |
| 646 | - | ChatBubble.SetTheme(previousTheme) |
| 646 | + | rs=game:GetService("RunService").RenderStepped
|
| 647 | - | end |
| 647 | + | local canfire = true |
| 648 | - | table.insert(chat_bubbles, 1, bubble_info) |
| 648 | + | local round = 1 |
| 649 | function RAND(Min, Max, Accuracy) | |
| 650 | - | TaskScheduler.Start(function() |
| 650 | + | local Inverse = 1 / (Accuracy or 1) |
| 651 | - | while true do |
| 651 | + | return (math.random(Min * Inverse, Max * Inverse) / Inverse) |
| 652 | - | ChatBubble.MainLoop() |
| 652 | + | |
| 653 | - | end |
| 653 | + | function fire() |
| 654 | - | end) |
| 654 | + | if canfire == true and md == true then |
| 655 | - | |
| 655 | + | canfire=false |
| 656 | - | PyramidCharacter = {};
|
| 656 | + | |
| 657 | - | |
| 657 | + | |
| 658 | - | local stock_triangle = Instance.new("WedgePart")
|
| 658 | + | |
| 659 | - | stock_triangle.Anchored = true |
| 659 | + | local spawnPosition |
| 660 | - | stock_triangle.BottomSurface = "Smooth" |
| 660 | + | local part=gun.gun:findFirstChild("gunpart")
|
| 661 | - | stock_triangle.FormFactor = "Custom" |
| 661 | + | spawnPosition = part.Position + (part.CFrame.lookVector * 5) |
| 662 | - | stock_triangle.Locked = true |
| 662 | + | for i = 1,2 do |
| 663 | - | stock_triangle.TopSurface = "Smooth" |
| 663 | + | local a = Instance.new("Part")
|
| 664 | - | local stock_triangle_mesh = Instance.new("SpecialMesh", stock_triangle)
|
| 664 | + | game:GetService("Debris"):AddItem(a,1)
|
| 665 | - | stock_triangle_mesh.MeshType = "Wedge" |
| 665 | + | |
| 666 | - | local triangles = {}
|
| 666 | + | local spread = 10 |
| 667 | - | function PyramidCharacter.CreateTriangle(v1, v2, v3, properties, parent, index) |
| 667 | + | local antispread = 250 |
| 668 | - | local triangleInfo = triangles[index] |
| 668 | + | local spreada = Vector3.new(math.random(-spread,spread)/antispread,math.random(-spread,spread)/antispread,math.random(-spread,spread)/antispread) |
| 669 | - | local side1 = (v1 - v2).magnitude |
| 669 | + | a.Size = Vector3.new(0.2,0.2,5) |
| 670 | - | local side2 = (v2 - v3).magnitude |
| 670 | + | a.CFrame = CFrame.new(spawnPosition, mouse.Hit.p) |
| 671 | - | local side3 = (v3 - v1).magnitude |
| 671 | + | local direction = ((((mouse.Hit.p - a.Position))).unit)+spreada |
| 672 | - | local sqrside1 = side1 * side1 |
| 672 | + | local boi = a.Position + (direction * 100000000) |
| 673 | - | local sqrside2 = side2 * side2 |
| 673 | + | a.CFrame = CFrame.new(spawnPosition,boi) |
| 674 | - | local sqrside3 = side3 * side3 |
| 674 | + | a.BrickColor=BrickColor.new("Bright yellow")
|
| 675 | - | if sqrside3 + sqrside1 == sqrside2 then |
| 675 | + | a.Material = "Neon" |
| 676 | - | v1, v2, v3 = v1, v2, v3 |
| 676 | + | a.Name = "Bullet" |
| 677 | - | elseif sqrside1 + sqrside2 == sqrside3 then |
| 677 | + | local b=script.bullet:Clone() |
| 678 | - | v1, v2, v3 = v2, v3, v1 |
| 678 | + | b.Parent=a |
| 679 | - | elseif sqrside2 + sqrside3 == sqrside1 then |
| 679 | + | b.Value.Value = part |
| 680 | - | v1, v2, v3 = v3, v1, v2 |
| 680 | + | b.Disabled =false |
| 681 | - | elseif sqrside1 >= sqrside2 and sqrside1 >= sqrside3 then |
| 681 | + | local rocketPropulsion = Instance.new('RocketPropulsion', a)
|
| 682 | - | v1, v2, v3 = v1, v2, v3 |
| 682 | + | rocketPropulsion.CartoonFactor = 1 |
| 683 | - | elseif sqrside2 >= sqrside3 and sqrside2 >= sqrside1 then |
| 683 | + | rocketPropulsion.TargetRadius = TARGET_RADIUS |
| 684 | - | v1, v2, v3 = v2, v3, v1 |
| 684 | + | rocketPropulsion.MaxSpeed = MAX_SPEED |
| 685 | - | else |
| 685 | + | rocketPropulsion.MaxTorque = MAX_TORQUE |
| 686 | - | v1, v2, v3 = v3, v1, v2 |
| 686 | + | rocketPropulsion.MaxThrust = MAX_THRUST |
| 687 | - | end |
| 687 | + | rocketPropulsion.ThrustP = THRUST_P |
| 688 | - | local model, part1, part2, mesh1, mesh2 |
| 688 | + | rocketPropulsion.ThrustD = THRUST_D |
| 689 | - | if triangleInfo then |
| 689 | + | rocketPropulsion.TargetOffset = a.Position + (direction * 100000000) |
| 690 | - | model, part1, part2, mesh1, mesh2 = unpack(triangleInfo) |
| 690 | + | rocketPropulsion:Fire() |
| 691 | - | if not (model.Parent == parent and part1.Parent == model and part2.Parent == model and mesh1.Parent == part1 and mesh2.Parent == part2) then |
| 691 | + | a.CanCollide = false |
| 692 | - | if model.Parent then |
| 692 | + | a.Parent=game.Workspace |
| 693 | - | model:Destroy() |
| 693 | + | |
| 694 | - | end |
| 694 | + | local effecter = gun.gun:findFirstChild("effect")
|
| 695 | - | model = nil |
| 695 | + | game:GetService("Debris"):AddItem(b,3)
|
| 696 | - | end |
| 696 | + | spawn(function() |
| 697 | - | else |
| 697 | + | for i = 1, 10 do |
| 698 | - | triangleInfo = {}
|
| 698 | + | effecter.ParticleEmitter:Emit(5) |
| 699 | - | triangles[index] = triangleInfo |
| 699 | + | rs:Wait() |
| 700 | - | end |
| 700 | + | |
| 701 | - | if not model then |
| 701 | + | end) |
| 702 | - | model = Instance.new("Model")
|
| 702 | + | spawn(function() |
| 703 | - | part1 = stock_triangle:Clone() |
| 703 | + | for i = 1, 20 do |
| 704 | - | part2 = stock_triangle:Clone() |
| 704 | + | effecter.smoke:Emit(1) |
| 705 | - | mesh1 = part1.Mesh |
| 705 | + | |
| 706 | - | mesh2 = part2.Mesh |
| 706 | + | |
| 707 | - | part1.Parent = model |
| 707 | + | end) |
| 708 | - | part2.Parent = model |
| 708 | + | gun.gun.eject.a.bullets:Emit(2) |
| 709 | - | triangleInfo[1] = model |
| 709 | + | |
| 710 | - | triangleInfo[2] = part1 |
| 710 | + | |
| 711 | - | triangleInfo[3] = part2 |
| 711 | + | |
| 712 | - | triangleInfo[4] = mesh1 |
| 712 | + | |
| 713 | - | triangleInfo[5] = mesh2 |
| 713 | + | |
| 714 | - | end |
| 714 | + | |
| 715 | - | for key, value in pairs(properties) do |
| 715 | + | |
| 716 | - | part1[key] = value |
| 716 | + | wait(0.04) |
| 717 | - | part2[key] = value |
| 717 | + | canfire=true |
| 718 | - | end |
| 718 | + | if md == true then |
| 719 | - | local cframe = CFrame.new(v1, v2) |
| 719 | + | fire() |
| 720 | - | local relpos = cframe:pointToObjectSpace(v3) |
| 720 | + | |
| 721 | - | cframe = cframe * CFrame.fromEulerAnglesXYZ(0, 0, -math.atan2(relpos.x, relpos.y)) |
| 721 | + | |
| 722 | - | local rel1 = cframe:pointToObjectSpace(v1) |
| 722 | + | |
| 723 | - | local rel2 = cframe:pointToObjectSpace(v2) |
| 723 | + | function barrel() |
| 724 | - | local rel3 = cframe:pointToObjectSpace(v3) |
| 724 | + | if round == 1 then |
| 725 | - | local height = rel3.y |
| 725 | + | gun.gun.Barrel1.Transparency=0 |
| 726 | - | local width1 = rel3.z |
| 726 | + | gun.gun.Barrel2.Transparency=1 |
| 727 | - | local width2 = rel2.z - rel3.z |
| 727 | + | gun.gun.Barrel3.Transparency=1 |
| 728 | - | local relcenter1 = Vector3.new(0, height / 2, width1 / 2) |
| 728 | + | |
| 729 | - | local center1 = cframe:pointToWorldSpace(relcenter1) |
| 729 | + | |
| 730 | - | local relcenter2 = Vector3.new(0, height / 2, width2 / 2 + width1) |
| 730 | + | if round == 2 then |
| 731 | - | local center2 = cframe:pointToWorldSpace(relcenter2) |
| 731 | + | gun.gun.Barrel1.Transparency=1 |
| 732 | - | height = math.abs(height) |
| 732 | + | gun.gun.Barrel2.Transparency=0 |
| 733 | - | width1 = math.abs(width1) |
| 733 | + | gun.gun.Barrel3.Transparency=1 |
| 734 | - | width2 = math.abs(width2) |
| 734 | + | |
| 735 | - | if not part1.Anchored then |
| 735 | + | |
| 736 | - | part1.Anchored = true |
| 736 | + | if round == 3 then |
| 737 | - | end |
| 737 | + | gun.gun.Barrel1.Transparency=1 |
| 738 | - | part1.Size = Vector3.new(0.2, height, width1) |
| 738 | + | gun.gun.Barrel2.Transparency=1 |
| 739 | - | part1.CFrame = cframe * CFrame.fromEulerAnglesXYZ(0, math.pi, 0) - cframe.p + center1 |
| 739 | + | gun.gun.Barrel3.Transparency=0 |
| 740 | - | mesh1.Scale = Vector3.new(0, height / part1.Size.y, width1 / part1.Size.z) |
| 740 | + | |
| 741 | - | if not part2.Anchored then |
| 741 | + | |
| 742 | - | part2.Anchored = true |
| 742 | + | if round ~=3 then |
| 743 | - | end |
| 743 | + | round = round+1 |
| 744 | - | part2.Size = Vector3.new(0.2, height, width1) |
| 744 | + | else |
| 745 | - | part2.CFrame = cframe - cframe.p + center2 |
| 745 | + | round = 1 |
| 746 | - | mesh2.Scale = Vector3.new(0, height / part1.Size.y, width2 / part2.Size.z) |
| 746 | + | |
| 747 | - | model.Parent = parent |
| 747 | + | |
| 748 | - | return model |
| 748 | + | function poo() |
| 749 | ||
| 750 | - | PyramidCharacter.head_properties = {BrickColor = BrickColor.new(Color3.new(1, 1, 1)), Transparency = 0.5}
|
| 750 | + | mouse.TargetFilter = nil |
| 751 | - | PyramidCharacter.head_radius = math.pi |
| 751 | + | mouse.Icon=oldIcon |
| 752 | - | PyramidCharacter.center = CFrame.new(0, 10, 0) |
| 752 | + | gun.gun.effect.bam:Stop() |
| 753 | - | PyramidCharacter.point1 = Vector3.new() |
| 753 | + | script:remove() |
| 754 | - | PyramidCharacter.point2 = Vector3.new() |
| 754 | + | |
| 755 | - | PyramidCharacter.point3 = Vector3.new() |
| 755 | + | local rn = game:GetService("RunService").RenderStepped
|
| 756 | - | PyramidCharacter.point4 = Vector3.new() |
| 756 | + | function no() |
| 757 | - | PyramidCharacter.core_mesh_scale = Vector3.new(0.833, 0.833, 0.833) |
| 757 | + | if md == false then return end |
| 758 | - | PyramidCharacter.visible = false |
| 758 | + | md = false |
| 759 | - | function PyramidCharacter.Teleport(location) |
| 759 | + | gun.gun.effect.bstart:Stop() |
| 760 | - | PyramidCharacter.point1 = location |
| 760 | + | spawn(function() |
| 761 | - | PyramidCharacter.point2 = location |
| 761 | + | for i = 1, 25 do |
| 762 | - | PyramidCharacter.point3 = location |
| 762 | + | if i > 0 and i < 5 then |
| 763 | - | PyramidCharacter.point4 = location |
| 763 | + | for i = 1,1 do |
| 764 | rn:wait() | |
| 765 | - | local stock_core = Instance.new("Part")
|
| 765 | + | end |
| 766 | - | stock_core.Anchored = true |
| 766 | + | end |
| 767 | - | stock_core.BottomSurface = "Smooth" |
| 767 | + | if i > 4 and i < 10 then |
| 768 | - | stock_core.Color = Color3.new(1, 1, 1) |
| 768 | + | for i = 1,2 do |
| 769 | - | stock_core.FormFactor = "Custom" |
| 769 | + | rn:wait() |
| 770 | - | stock_core.Locked = true |
| 770 | + | end |
| 771 | - | stock_core.Name = "CubePyramid" |
| 771 | + | end |
| 772 | - | stock_core.Size = Vector3.new(0.5, 0.5, 0.5) |
| 772 | + | if i > 10 and i < 15 then |
| 773 | - | stock_core.TopSurface = "Smooth" |
| 773 | + | for i = 1,3 do |
| 774 | - | PyramidCharacter.stock_core = stock_core |
| 774 | + | rn:wait() |
| 775 | - | PyramidCharacter.core = stock_core:Clone() |
| 775 | + | end |
| 776 | - | PyramidCharacter.Archivable = false |
| 776 | + | end |
| 777 | - | PyramidCharacter.core_mesh = Instance.new("BlockMesh", core)
|
| 777 | + | if i > 14 and i < 20 then |
| 778 | - | PyramidCharacter.core_lights = {}
|
| 778 | + | for i = 1,4 do |
| 779 | - | PyramidCharacter.coreLightCount = 1 |
| 779 | + | rn:wait() |
| 780 | - | for index = 1, PyramidCharacter.coreLightCount do |
| 780 | + | end |
| 781 | - | PyramidCharacter.core_lights[index] = Instance.new("PointLight", core)
|
| 781 | + | end |
| 782 | if i > 19 and i < 26 then | |
| 783 | - | PyramidCharacter.camera_distance = (Camera.Focus.p - Camera.CoordinateFrame.p).magnitude |
| 783 | + | for i = 1,6 do |
| 784 | - | PyramidCharacter.camera_position = Vector3.new() |
| 784 | + | rn:wait() |
| 785 | - | Camera.Changed:connect(function(property) |
| 785 | + | end |
| 786 | - | if PyramidCharacter.visible then |
| 786 | + | end |
| 787 | - | if property == "CoordinateFrame" then |
| 787 | + | if md == true then break end |
| 788 | - | local cframe, focus = Camera.CoordinateFrame, Camera.Focus |
| 788 | + | barrel() |
| 789 | - | local eventTime = time() |
| 789 | + | |
| 790 | - | local connection |
| 790 | + | |
| 791 | - | connection = Camera.Changed:connect(function() |
| 791 | + | end) |
| 792 | - | connection:disconnect() |
| 792 | + | |
| 793 | - | if eventTime == time() and Camera.Focus ~= focus then |
| 793 | + | gun.gun.effect.bam:Stop() |
| 794 | - | local camera_distance = PyramidCharacter.camera_distance |
| 794 | + | gun.gun.effect.dend:Play() |
| 795 | - | Camera.Focus = Camera.CoordinateFrame * CFrame.new(0, 0, -camera_distance) |
| 795 | + | gun.gun.effect.dend.TimePosition=0.1 |
| 796 | - | PyramidCharacter.camera_position = (Camera.CoordinateFrame * CFrame.new(0, 0, -camera_distance)).p |
| 796 | + | |
| 797 | - | end |
| 797 | + | |
| 798 | - | end) |
| 798 | + | function mousedown() |
| 799 | - | coroutine.yield() |
| 799 | + | md = true |
| 800 | - | if Camera.Focus == focus then |
| 800 | + | gun.gun.effect.bstart:Play() |
| 801 | - | PyramidCharacter.camera_distance = (focus.p - cframe.p).magnitude |
| 801 | + | for i = 1, 10 do |
| 802 | - | else |
| 802 | + | |
| 803 | - | local camera_distance = PyramidCharacter.camera_distance |
| 803 | + | if i > 0 and i < 5 then |
| 804 | - | Camera.Focus = Camera.CoordinateFrame * CFrame.new(0, 0, -camera_distance) |
| 804 | + | for i = 1,2 do |
| 805 | - | PyramidCharacter.camera_position = (Camera.CoordinateFrame * CFrame.new(0, 0, -camera_distance)).p |
| 805 | + | rn:wait() |
| 806 | - | end |
| 806 | + | end |
| 807 | - | if connection.connected then |
| 807 | + | end |
| 808 | - | connection:disconnect() |
| 808 | + | if i > 4 and i < 11 then |
| 809 | - | end |
| 809 | + | for i = 1,1 do |
| 810 | - | end |
| 810 | + | rn:wait() |
| 811 | - | end |
| 811 | + | end |
| 812 | - | end) |
| 812 | + | end |
| 813 | - | function PyramidCharacter.Animate() |
| 813 | + | if md == false then break end |
| 814 | - | local total_time = time() |
| 814 | + | barrel() |
| 815 | - | local core = PyramidCharacter.core |
| 815 | + | |
| 816 | - | local frame = PyramidCharacter.frame |
| 816 | + | |
| 817 | - | if PyramidCharacter.visible then |
| 817 | + | if md == false then return end |
| 818 | - | local core_mesh = PyramidCharacter.core_mesh |
| 818 | + | gun.gun.effect.bam:Play() |
| 819 | - | local core_lights = PyramidCharacter.core_lights |
| 819 | + | spawn(function() |
| 820 | - | if not frame or frame.Parent ~= core then |
| 820 | + | repeat |
| 821 | - | frame = Instance.new("Model")
|
| 821 | + | rn:wait() |
| 822 | - | frame.Archivable = false |
| 822 | + | barrel() |
| 823 | - | frame.Parent = core |
| 823 | + | until md == false |
| 824 | - | PyramidCharacter.frame = frame |
| 824 | + | end) |
| 825 | - | end |
| 825 | + | fire() |
| 826 | - | if core.Parent ~= Workspace then |
| 826 | + | |
| 827 | - | core = PyramidCharacter.stock_core:Clone() |
| 827 | + | |
| 828 | - | PyramidCharacter.core = core |
| 828 | + | oldIcon = mouse.Icon |
| 829 | - | core.Archivable = false |
| 829 | + | mouse.Icon="http://www.roblox.com/asset/?id=138865017" |
| 830 | - | core.Parent = Workspace |
| 830 | + | person = game.Players.LocalPlayer.Character |
| 831 | - | chatAdornee = core |
| 831 | + | person.Humanoid.Jumping:connect(poo) |
| 832 | - | end |
| 832 | + | mouse.Button1Down:connect(mousedown) -- Run function |
| 833 | - | if core_mesh.Parent ~= core then |
| 833 | + | mouse.Button1Up:connect(no) |
| 834 | - | core_mesh = Instance.new("BlockMesh", core)
|
| 834 | + | while rs:Wait() do |
| 835 | - | PyramidCharacter.core_mesh = core_mesh |
| 835 | + | aimpos = mouse.Hit.p |
| 836 | - | end |
| 836 | + | if (aimpos-gun.base.Position).magnitude>3 then |
| 837 | - | for index, core_light in ipairs(core_lights) do |
| 837 | + | |
| 838 | - | if core_light.Parent ~= core then |
| 838 | + | |
| 839 | - | core_light = Instance.new("PointLight", core)
|
| 839 | + | local c = aimpos |
| 840 | - | core_lights[index] = core_light |
| 840 | + | local x = (gun.gun:GetPrimaryPartCFrame()*CFrame.new(0, 0, -100000)).x |
| 841 | - | end |
| 841 | + | local y = (SPAWN*CFrame.new(0, 0, -100000)).y |
| 842 | - | local vertexColor = Vector3.new(Utility.GetRainbowRGB(total_time)) * 0.25 + Vector3.new(1, 1, 1) * 0.75 |
| 842 | + | local z = (gun.gun:GetPrimaryPartCFrame()*CFrame.new(0, 0, -100000)).z |
| 843 | - | core_light.Color = Color3.new(vertexColor.X, vertexColor.Y, vertexColor.Z) |
| 843 | + | A = Vector3.new(x, |
| 844 | - | core_light.Brightness = 0.85 + 0.15 * math.random() |
| 844 | + | y, |
| 845 | - | if core_light.Range ~= 30 then |
| 845 | + | z |
| 846 | - | core_light.Range = 30 |
| 846 | + | ) |
| 847 | - | end |
| 847 | + | if c then |
| 848 | - | if not core_light.Shadows then |
| 848 | + | gun.gun:SetPrimaryPartCFrame( |
| 849 | - | core_light.Shadows = true |
| 849 | + | CFrame.new(gun.body:GetPrimaryPartCFrame().p, |
| 850 | - | end |
| 850 | + | c) |
| 851 | - | end |
| 851 | + | ) |
| 852 | - | if core_mesh.Offset ~= Vector3.new(0, 0, 0) then |
| 852 | + | gun.body:SetPrimaryPartCFrame( |
| 853 | - | core_mesh.Offset = Vector3.new(0, 0, 0) |
| 853 | + | CFrame.new( |
| 854 | - | end |
| 854 | + | SPAWN.p, |
| 855 | - | if not core.Anchored then |
| 855 | + | A |
| 856 | - | core.Anchored = true |
| 856 | + | ) |
| 857 | - | end |
| 857 | + | ) |
| 858 | - | if core.Transparency ~= 0 then |
| 858 | + | else |
| 859 | - | core.Transparency = 0 |
| 859 | + | gun:SetPrimaryPartCFrame(gun.body:GetPrimaryPartCFrame()) |
| 860 | - | end |
| 860 | + | gun.body:SetPrimaryPartCFrame( |
| 861 | - | local core_mesh_scale = PyramidCharacter.core_mesh_scale |
| 861 | + | CFrame.new( |
| 862 | - | local transition_speed = (math.sin(total_time * math.tau) + 1) / 16 |
| 862 | + | SPAWN.p, |
| 863 | - | core_mesh_scale = core_mesh_scale * (1 - transition_speed) + Vector3.new(math.random() * 0.5 + 0.5, math.random() * 0.5 + 0.5, math.random() |
| 863 | + | A |
| 864 | - | |
| 864 | + | ) |
| 865 | - | * 0.5 + 0.5) * transition_speed |
| 865 | + | ) |
| 866 | - | core_mesh.Scale = core_mesh_scale * 2 |
| 866 | + | |
| 867 | - | local center = CFrame.new(PyramidCharacter.camera_position) * CFrame.Angles(0, total_time * math.tau, 0) |
| 867 | + | |
| 868 | - | local cframe1 = CFrame.new(PyramidCharacter.head_radius, 0, 0) |
| 868 | + | |
| 869 | - | local cframe2 = CFrame.Angles(math.tau / -3, 0, 0) |
| 869 | + | |
| 870 | - | local cframe3 = CFrame.Angles(0, math.tau / 3, 0) |
| 870 | + | |
| 871 | - | local cframe4 = center * cframe3 |
| 871 | + | |
| 872 | - | local desired1 = center * CFrame.new(0, PyramidCharacter.head_radius, 0) |
| 872 | + | ObjectValue59.Parent = LocalScript58 |
| 873 | - | local desired2 = center * cframe2 * cframe1 |
| 873 | + | Script60.Name = "bullet" |
| 874 | - | local desired3 = cframe4 * cframe2 * cframe1 |
| 874 | + | Script60.Parent = LocalScript58 |
| 875 | - | local desired4 = cframe4 * cframe3 * cframe2 * cframe1 |
| 875 | + | Script60.Disabled = true |
| 876 | - | local point1 = (PyramidCharacter.point1 * 3 + desired1.p) / 4 |
| 876 | + | table.insert(cors,sandbox(Script60,function() |
| 877 | - | local point2 = (PyramidCharacter.point2 * 3 + desired2.p) / 4 |
| 877 | + | touched = false |
| 878 | - | local point3 = (PyramidCharacter.point3 * 3 + desired3.p) / 4 |
| 878 | + | local ignore = {}
|
| 879 | - | local point4 = (PyramidCharacter.point4 * 3 + desired4.p) / 4 |
| 879 | + | function hit(hit) |
| 880 | - | PyramidCharacter.point1 = point1 |
| 880 | + | if hit.Name == "debrispart" or hit.Name == "Bullet" then return end |
| 881 | - | PyramidCharacter.point2 = point2 |
| 881 | + | if touched == false then |
| 882 | - | PyramidCharacter.point3 = point3 |
| 882 | + | touched = true |
| 883 | - | PyramidCharacter.point4 = point4 |
| 883 | + | |
| 884 | - | local head_properties = PyramidCharacter.head_properties |
| 884 | + | |
| 885 | - | PyramidCharacter.CreateTriangle(point1, point2, point3, head_properties, frame, 1).Archivable = false |
| 885 | + | local ray = Ray.new(script.Value.Value.Position, (script.Parent.Position - script.Value.Value.Position).unit * 500) |
| 886 | - | PyramidCharacter.CreateTriangle(point2, point3, point4, head_properties, frame, 2).Archivable = false |
| 886 | + | local boi=game.Workspace:GetChildren() |
| 887 | - | PyramidCharacter.CreateTriangle(point3, point4, point1, head_properties, frame, 3).Archivable = false |
| 887 | + | for i = 1,#boi do |
| 888 | - | PyramidCharacter.CreateTriangle(point4, point1, point2, head_properties, frame, 4).Archivable = false |
| 888 | + | if boi[i].Name == "Bullet" then |
| 889 | - | core.CFrame = CFrame.new((point1 + point2 + point3 + point4) / 4) * CFrame.Angles(total_time * math.tau, total_time * math.tau / 2, |
| 889 | + | table.insert(ignore,boi[i]) |
| 890 | - | |
| 890 | + | |
| 891 | - | total_time * math.tau / 3) |
| 891 | + | |
| 892 | - | PyramidCharacter.center = center |
| 892 | + | local parto, positiono = workspace:FindPartOnRayWithIgnoreList(ray,ignore, false, true) |
| 893 | - | else |
| 893 | + | |
| 894 | - | if core.Parent then |
| 894 | + | local part = hit |
| 895 | - | core:Destroy() |
| 895 | + | if part.Anchored == false then |
| 896 | - | end |
| 896 | + | part:BreakJoints() |
| 897 | - | if frame and frame.Parent then |
| 897 | + | local a = part.Position |
| 898 | - | frame:Destroy() |
| 898 | + | local b = script.Value.Value.Position |
| 899 | - | end |
| 899 | + | local dir = (a - b).unit |
| 900 | - | PyramidCharacter.frame = nil |
| 900 | + | |
| 901 | - | end |
| 901 | + | part.Velocity = part.Velocity + dir * math.random(20,30) + Vector3.new(math.random(-10,10),math.random(-10,10),math.random(-10,10)) |
| 902 | ------- extreme math equations | |
| 903 | - | function PyramidCharacter.MainLoop() |
| 903 | + | local v = 30 |
| 904 | - | PyramidCharacter.Animate() |
| 904 | + | local c = 50 |
| 905 | - | RunService.Stepped:wait() |
| 905 | + | local m = part:GetMass() |
| 906 | if m< 20 then | |
| 907 | - | TaskScheduler.Start(function() |
| 907 | + | m = 20 |
| 908 | - | while true do |
| 908 | + | |
| 909 | - | PyramidCharacter.MainLoop() |
| 909 | + | part.RotVelocity =Vector3.new(math.random(-v,v)/(m/c),math.random(-v,v)/(m/c),math.random(-v,v)/(m/c)) |
| 910 | - | end |
| 910 | + | game:GetService("Debris"):AddItem(script.Parent,0.1)--penetration
|
| 911 | - | end) |
| 911 | + | |
| 912 | - | |
| 912 | + | |
| 913 | - | RBXInstance = {};
|
| 913 | + | local a = part.Parent:findFirstChild("Humanoid")
|
| 914 | - | |
| 914 | + | local b = part.Parent.Parent:findFirstChild("Humanoid")
|
| 915 | - | RBXInstance.init_metatable = {}
|
| 915 | + | local debrispart = Instance.new("Part")
|
| 916 | - | function RBXInstance.init_metatable:__call(data) |
| 916 | + | debrispart.Name="debrispart" |
| 917 | - | local instance = Instance.new(self[1]) |
| 917 | + | debrispart.Size = Vector3.new(0.05,0.05,0.05) |
| 918 | - | for key, value in pairs(data) do |
| 918 | + | debrispart.BrickColor = part.BrickColor |
| 919 | - | if type(key) == "number" then |
| 919 | + | debrispart.Anchored=true |
| 920 | - | value.Parent = instance |
| 920 | + | debrispart.CanCollide = false |
| 921 | - | else |
| 921 | + | debrispart.Transparency=1 |
| 922 | - | instance[key] = value |
| 922 | + | debrispart.Position=positiono |
| 923 | - | end |
| 923 | + | debrispart.Parent=game.Workspace |
| 924 | - | end |
| 924 | + | if a == nil and b == nil then |
| 925 | - | return instance |
| 925 | + | local thingy = script.debris:Clone() |
| 926 | thingy.Color=ColorSequence.new(part.Color,part.Color) | |
| 927 | - | function RBXInstance.new(className) |
| 927 | + | thingy.Parent=debrispart |
| 928 | - | return setmetatable({className}, RBXInstance.init_metatable)
|
| 928 | + | spawn(function() |
| 929 | thingy:Emit(10) | |
| 930 | - | |
| 930 | + | end) |
| 931 | - | Utility = {};
|
| 931 | + | |
| 932 | - | |
| 932 | + | if a ~= nil or b ~= nil then |
| 933 | - | function Utility.CleanLighting() |
| 933 | + | local thingy = script.blood:Clone() |
| 934 | - | Lighting.Ambient = Color3.new(0, 0, 0) |
| 934 | + | thingy.Parent=debrispart |
| 935 | - | Lighting.Brightness = 1 |
| 935 | + | spawn(function() |
| 936 | - | Lighting.ColorShift_Bottom = Color3.new(0, 0, 0) |
| 936 | + | thingy:Emit(10) |
| 937 | - | Lighting.ColorShift_Top = Color3.new(0, 0, 0) |
| 937 | + | end) |
| 938 | - | Lighting.FogColor = Color3.new(0.75294125080109, 0.75294125080109, 0.75294125080109) |
| 938 | + | |
| 939 | - | Lighting.FogEnd = 100000 |
| 939 | + | game:GetService("Debris"):AddItem(debrispart,1)
|
| 940 | - | Lighting.FogStart = 0 |
| 940 | + | game:GetService("Debris"):AddItem(script.Parent,0.05)
|
| 941 | - | Lighting.GeographicLatitude = 41.733299255371095 |
| 941 | + | |
| 942 | - | Lighting.GlobalShadows = true |
| 942 | + | --[[if position ~= nil then |
| 943 | - | Lighting.OutdoorAmbient = Color3.new(0.5, 0.5, 0.5) |
| 943 | + | end]]-- |
| 944 | - | Lighting.Outlines = false |
| 944 | + | |
| 945 | - | Lighting.ShadowColor = Color3.new(0.70196080207825, 0.70196080207825, 0.72156864404678) |
| 945 | + | |
| 946 | - | Lighting.TimeOfDay = "14:00:00" |
| 946 | + | |
| 947 | - | for index, child in ipairs(Lighting:GetChildren()) do |
| 947 | + | script.Parent.Touched:connect(hit) |
| 948 | - | if child:IsA("Sky") then
|
| 948 | + | |
| 949 | - | child:Destroy() |
| 949 | + | |
| 950 | - | end |
| 950 | + | ObjectValue61.Parent = Script60 |
| 951 | - | end |
| 951 | + | ParticleEmitter62.Name = "debris" |
| 952 | ParticleEmitter62.Parent = Script60 | |
| 953 | - | |
| 953 | + | ParticleEmitter62.Transparency = NumberSequence.new(0,0,1) |
| 954 | - | function Utility.GetProperty(object, field) |
| 954 | + | ParticleEmitter62.Rotation = NumberRange.new(-180, 180) |
| 955 | - | return object[field] |
| 955 | + | ParticleEmitter62.Size = NumberSequence.new(0.34999999403954,0.34999999403954) |
| 956 | ParticleEmitter62.Enabled = false | |
| 957 | - | |
| 957 | + | ParticleEmitter62.Texture = "rbxassetid://241685484" |
| 958 | - | function Utility.CaseInsensitivePattern(pattern) |
| 958 | + | ParticleEmitter62.Acceleration = Vector3.new(0, -320, 0) |
| 959 | - | return string.gsub(pattern, "(%%?)(.)", Utility.CaseInsensitivePatternReplaceFunc) |
| 959 | + | ParticleEmitter62.Lifetime = NumberRange.new(0.20000000298023, 1) |
| 960 | ParticleEmitter62.Rate = 100 | |
| 961 | - | function Utility.CaseInsensitivePatternReplaceFunc(percent, letter) |
| 961 | + | ParticleEmitter62.RotSpeed = NumberRange.new(-660, 660) |
| 962 | - | if percent ~= "" or not letter:match("%a") then
|
| 962 | + | ParticleEmitter62.Speed = NumberRange.new(0, 120) |
| 963 | - | return percent .. letter |
| 963 | + | ParticleEmitter62.VelocitySpread = 15 |
| 964 | - | else |
| 964 | + | ParticleEmitter63.Name = "blood" |
| 965 | - | return "[" .. string.lower(letter) .. string.upper(letter) .. "]" |
| 965 | + | ParticleEmitter63.Parent = Script60 |
| 966 | - | end |
| 966 | + | ParticleEmitter63.Transparency = NumberSequence.new(0,0,1) |
| 967 | ParticleEmitter63.Rotation = NumberRange.new(-180, 180) | |
| 968 | - | function Utility.FindHumanoidClosestToRay(ray, exlusionList) |
| 968 | + | ParticleEmitter63.Size = NumberSequence.new(0.30000001192093,0.30000001192093) |
| 969 | - | local view = CFrame.new(ray.Origin, ray.Origin + ray.Direction) |
| 969 | + | ParticleEmitter63.Color = ColorSequence.new(Color3.new(1, 0, 0),Color3.new(1, 0, 0)) |
| 970 | - | local inverseView = view:inverse() |
| 970 | + | ParticleEmitter63.Enabled = false |
| 971 | - | local objects = Workspace:GetChildren() |
| 971 | + | ParticleEmitter63.Texture = "rbxassetid://241685484" |
| 972 | - | local numObjects = #objects |
| 972 | + | ParticleEmitter63.Acceleration = Vector3.new(0, -16, 0) |
| 973 | - | local minDistance = math.huge |
| 973 | + | ParticleEmitter63.Lifetime = NumberRange.new(0.20000000298023, 1) |
| 974 | - | local closestHumanoid, closestTorso, closestTorsoPosition |
| 974 | + | ParticleEmitter63.Rate = 100 |
| 975 | - | for index, object in ipairs(objects) do |
| 975 | + | ParticleEmitter63.RotSpeed = NumberRange.new(-660, 660) |
| 976 | - | for index, child in ipairs(object:GetChildren()) do |
| 976 | + | ParticleEmitter63.Speed = NumberRange.new(0, 20) |
| 977 | - | numObjects = numObjects + 1 |
| 977 | + | ParticleEmitter63.VelocitySpread = 360 |
| 978 | - | objects[numObjects] = child |
| 978 | + | ParticleEmitter63.Color = ColorSequence.new(Color3.new(1, 0, 0),Color3.new(1, 0, 0)) |
| 979 | - | end |
| 979 | + | WedgePart64.Parent = Model1 |
| 980 | - | if object.ClassName == "Humanoid" and object.Health > 0 then |
| 980 | + | WedgePart64.Material = Enum.Material.Metal |
| 981 | - | local torso = object.Torso |
| 981 | + | WedgePart64.BrickColor = BrickColor.new("Sand violet metallic")
|
| 982 | - | if torso and not (exlusionList and exlusionList[torso]) then |
| 982 | + | WedgePart64.Rotation = Vector3.new(0, -90, 0) |
| 983 | - | local torsoPosition = torso.Position |
| 983 | + | WedgePart64.Anchored = true |
| 984 | - | local relativePosition = inverseView * torsoPosition |
| 984 | + | WedgePart64.CanCollide = false |
| 985 | - | local distanceZ = -relativePosition.Z |
| 985 | + | WedgePart64.Size = Vector3.new(2.5999999, 0.400000036, 1.19999981) |
| 986 | - | if distanceZ > 0 then |
| 986 | + | WedgePart64.CFrame = CFrame.new(-164.199982, 5.59997845, -130.5, 0, 0, -1.00000525, 0, 1, 0, 1.00000525, 0, 0) |
| 987 | - | local distance = (inverseView * torsoPosition * Vector3.new(1, 1, 0)).magnitude / distanceZ |
| 987 | + | WedgePart64.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 988 | - | if distance < 0.25 and distance < minDistance then |
| 988 | + | WedgePart64.Position = Vector3.new(-164.199982, 5.59997845, -130.5) |
| 989 | - | closestHumanoid = object |
| 989 | + | WedgePart64.Orientation = Vector3.new(0, -90, 0) |
| 990 | - | closestTorso = torso |
| 990 | + | WedgePart64.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 991 | - | closestTorsoPosition = torsoPosition |
| 991 | + | WedgePart65.Parent = Model1 |
| 992 | - | minDistance = distance |
| 992 | + | WedgePart65.Material = Enum.Material.Metal |
| 993 | - | end |
| 993 | + | WedgePart65.BrickColor = BrickColor.new("Sand violet metallic")
|
| 994 | - | end |
| 994 | + | WedgePart65.Rotation = Vector3.new(-180, -90, 0) |
| 995 | - | end |
| 995 | + | WedgePart65.Anchored = true |
| 996 | - | end |
| 996 | + | WedgePart65.CanCollide = false |
| 997 | - | end |
| 997 | + | WedgePart65.Size = Vector3.new(2.5999999, 0.400000036, 1.19999981) |
| 998 | - | return closestHumanoid, closestTorso, closestTorsoPosition, minDistance |
| 998 | + | WedgePart65.CFrame = CFrame.new(-164.199982, 4.19998455, -130.5, 0, 0, -1.00000525, 9.23857442e-07, -1, 0, -1.00000525, -9.23862274e-07, 0) |
| 999 | WedgePart65.Color = Color3.new(0.580392, 0.580392, 0.580392) | |
| 1000 | - | function Utility.FindLocalHead() |
| 1000 | + | WedgePart65.Position = Vector3.new(-164.199982, 4.19998455, -130.5) |
| 1001 | - | if Player then |
| 1001 | + | WedgePart65.Orientation = Vector3.new(0, -90, 180) |
| 1002 | - | local head, position, view |
| 1002 | + | WedgePart65.Color = Color3.new(0.580392, 0.580392, 0.580392) |
| 1003 | - | pcall(function() |
| 1003 | + | Part66.Name = "base" |
| 1004 | - | position = Camera.Focus.p |
| 1004 | + | Part66.Parent = Model0 |
| 1005 | - | view = Camera.CoordinateFrame |
| 1005 | + | Part66.Material = Enum.Material.DiamondPlate |
| 1006 | - | end) |
| 1006 | + | Part66.Rotation = Vector3.new(0, -90, 0) |
| 1007 | - | pcall(function() |
| 1007 | + | Part66.Anchored = true |
| 1008 | - | for _, child in ipairs(Workspace:GetChildren()) do |
| 1008 | + | Part66.Size = Vector3.new(9, 1, 9) |
| 1009 | - | if Players:GetPlayerFromCharacter(child) == Player then |
| 1009 | + | Part66.CFrame = CFrame.new(-166.5, 0.500002623, -130.5, -4.37116228e-08, 0, -1.00000525, 0, 1, 0, 1.00000525, 0, -4.37116228e-08) |
| 1010 | - | for _, child in ipairs(child:GetChildren()) do |
| 1010 | + | Part66.BottomSurface = Enum.SurfaceType.Smooth |
| 1011 | - | if tostring(child) == "Head" and pcall(assert, pcall(Game.IsA, child, "BasePart")) then |
| 1011 | + | Part66.TopSurface = Enum.SurfaceType.Smooth |
| 1012 | - | head = child |
| 1012 | + | Part66.Position = Vector3.new(-166.5, 0.500002623, -130.5) |
| 1013 | - | break |
| 1013 | + | Part66.Orientation = Vector3.new(0, -90, 0) |
| 1014 | - | end |
| 1014 | + | Model67.Name = "body" |
| 1015 | - | end |
| 1015 | + | Model67.Parent = Model0 |
| 1016 | - | break |
| 1016 | + | Model67.PrimaryPart = Part74 |
| 1017 | - | end |
| 1017 | + | Part68.Parent = Model67 |
| 1018 | - | end |
| 1018 | + | Part68.Material = Enum.Material.DiamondPlate |
| 1019 | - | if not head and view then |
| 1019 | + | Part68.Anchored = true |
| 1020 | - | local min_distance = math.huge |
| 1020 | + | Part68.Size = Vector3.new(1.79999971, 0.400000006, 1) |
| 1021 | - | local objects = Workspace:GetChildren() |
| 1021 | + | Part68.CFrame = CFrame.new(-164.099991, 4.19998455, -128.499985, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 1022 | - | for _, object in ipairs(objects) do |
| 1022 | + | Part68.BottomSurface = Enum.SurfaceType.Smooth |
| 1023 | - | local success, is_part = pcall(Game.IsA, object, "BasePart") |
| 1023 | + | Part68.TopSurface = Enum.SurfaceType.Smooth |
| 1024 | - | if success and is_part then |
| 1024 | + | Part68.Position = Vector3.new(-164.099991, 4.19998455, -128.499985) |
| 1025 | - | pcall(function() |
| 1025 | + | Part69.Parent = Model67 |
| 1026 | - | local distance = (view:pointToObjectSpace(object.Position) * Vector3.new(1, 1, 0)).magnitude |
| 1026 | + | Part69.Material = Enum.Material.DiamondPlate |
| 1027 | - | if distance < min_distance and distance < 1 then |
| 1027 | + | Part69.Anchored = true |
| 1028 | - | min_distance = distance |
| 1028 | + | Part69.Size = Vector3.new(1.00000012, 1.60000002, 1) |
| 1029 | - | head = object |
| 1029 | + | Part69.CFrame = CFrame.new(-163.699982, 3.19999957, -132.500015, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 1030 | - | elseif tostring(object) == "Head" and tostring(object.Parent):lower():match("^" .. tostring(Player):lower()) then
|
| 1030 | + | Part69.BottomSurface = Enum.SurfaceType.Smooth |
| 1031 | - | min_distance = 0 |
| 1031 | + | Part69.TopSurface = Enum.SurfaceType.Smooth |
| 1032 | - | head = object |
| 1032 | + | Part69.Position = Vector3.new(-163.699982, 3.19999957, -132.500015) |
| 1033 | - | end |
| 1033 | + | Part70.Parent = Model67 |
| 1034 | - | end) |
| 1034 | + | Part70.Material = Enum.Material.DiamondPlate |
| 1035 | - | if min_distance < 5e-4 then |
| 1035 | + | Part70.Anchored = true |
| 1036 | - | break |
| 1036 | + | Part70.Size = Vector3.new(1.00000012, 1.60000002, 1) |
| 1037 | - | end |
| 1037 | + | Part70.CFrame = CFrame.new(-163.699982, 3.19999957, -128.499985, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 1038 | - | end |
| 1038 | + | Part70.BottomSurface = Enum.SurfaceType.Smooth |
| 1039 | - | pcall(function() |
| 1039 | + | Part70.TopSurface = Enum.SurfaceType.Smooth |
| 1040 | - | if not object:IsA("Camera") then
|
| 1040 | + | Part70.Position = Vector3.new(-163.699982, 3.19999957, -128.499985) |
| 1041 | - | for _, child in ipairs(object:GetChildren()) do |
| 1041 | + | Part71.Parent = Model67 |
| 1042 | - | objects[#objects + 1] = child |
| 1042 | + | Part71.Material = Enum.Material.DiamondPlate |
| 1043 | - | end |
| 1043 | + | Part71.Anchored = true |
| 1044 | - | end |
| 1044 | + | Part71.Size = Vector3.new(5, 0.400000006, 3) |
| 1045 | - | end) |
| 1045 | + | Part71.CFrame = CFrame.new(-167.5, 1.8000133, -130.5, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 1046 | - | end |
| 1046 | + | Part71.BottomSurface = Enum.SurfaceType.Smooth |
| 1047 | - | end |
| 1047 | + | Part71.TopSurface = Enum.SurfaceType.Smooth |
| 1048 | - | end) |
| 1048 | + | Part71.Position = Vector3.new(-167.5, 1.8000133, -130.5) |
| 1049 | - | return head, position, view |
| 1049 | + | Part72.Name = "circle" |
| 1050 | - | end |
| 1050 | + | Part72.Parent = Model67 |
| 1051 | Part72.Material = Enum.Material.DiamondPlate | |
| 1052 | - | function Utility.GetBuildingTools() |
| 1052 | + | Part72.Rotation = Vector3.new(0, -90, 0) |
| 1053 | - | local backpack = Player:FindFirstChild("Backpack")
|
| 1053 | + | Part72.Anchored = true |
| 1054 | - | if backpack then |
| 1054 | + | Part72.Size = Vector3.new(7, 0.600000024, 7) |
| 1055 | - | local moveTool = Instance.new("HopperBin")
|
| 1055 | + | Part72.CFrame = CFrame.new(-166.5, 1.29999804, -130.5, 4.17230325e-07, 0, -1, 0, 1, 0, 1, 0, 4.17230325e-07) |
| 1056 | - | local cloneTool = Instance.new("HopperBin")
|
| 1056 | + | Part72.BottomSurface = Enum.SurfaceType.Smooth |
| 1057 | - | local deleteTool = Instance.new("HopperBin")
|
| 1057 | + | Part72.TopSurface = Enum.SurfaceType.Smooth |
| 1058 | - | moveTool.BinType = Enum.BinType.GameTool |
| 1058 | + | Part72.Position = Vector3.new(-166.5, 1.29999804, -130.5) |
| 1059 | - | cloneTool.BinType = Enum.BinType.Clone |
| 1059 | + | Part72.Orientation = Vector3.new(0, -90, 0) |
| 1060 | - | deleteTool.BinType = Enum.BinType.Hammer |
| 1060 | + | CylinderMesh73.Parent = Part72 |
| 1061 | - | moveTool.Parent = backpack |
| 1061 | + | Part74.Name = "base" |
| 1062 | - | cloneTool.Parent = backpack |
| 1062 | + | Part74.Parent = Model67 |
| 1063 | - | deleteTool.Parent = backpack |
| 1063 | + | Part74.Material = Enum.Material.Metal |
| 1064 | - | end |
| 1064 | + | Part74.Transparency = 1 |
| 1065 | Part74.Rotation = Vector3.new(0, -90, 0) | |
| 1066 | - | function Utility.Rejoin() |
| 1066 | + | Part74.Anchored = true |
| 1067 | - | Workspace.Parent:service'TeleportService':Teleport(Game.PlaceId) |
| 1067 | + | Part74.CanCollide = false |
| 1068 | Part74.Size = Vector3.new(1.39999998, 1.80000377, 1.39999998) | |
| 1069 | - | |
| 1069 | + | Part74.CFrame = CFrame.new(-166.5, 4.09999371, -130.5, -4.37116228e-08, 0, -1.00000525, 0, 1, 0, 1.00000525, 0, -4.37116228e-08) |
| 1070 | - | function Utility.BlockRobloxFilter(text) |
| 1070 | + | Part74.BottomSurface = Enum.SurfaceType.Weld |
| 1071 | - | return string.gsub(text, ".", "%1\143") |
| 1071 | + | Part74.TopSurface = Enum.SurfaceType.Smooth |
| 1072 | Part74.Position = Vector3.new(-166.5, 4.09999371, -130.5) | |
| 1073 | - | |
| 1073 | + | Part74.Orientation = Vector3.new(0, -90, 0) |
| 1074 | - | function Utility.GetTimestamp() |
| 1074 | + | CylinderMesh75.Parent = Part74 |
| 1075 | - | local unix_time = tick() |
| 1075 | + | Part76.Parent = Model67 |
| 1076 | - | local time_secs = math.floor(unix_time % 60) |
| 1076 | + | Part76.Material = Enum.Material.DiamondPlate |
| 1077 | - | local time_mins = math.floor(unix_time / 60 % 60) |
| 1077 | + | Part76.Anchored = true |
| 1078 | - | local time_hours = math.floor(unix_time / 3600 % 24) |
| 1078 | + | Part76.Size = Vector3.new(3.39999962, 0.400000006, 1) |
| 1079 | - | return string.format("%02i:%02i:%02i", time_hours, time_mins, time_secs)
|
| 1079 | + | Part76.CFrame = CFrame.new(-164.899994, 4.19998455, -132.500015, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 1080 | Part76.BottomSurface = Enum.SurfaceType.Smooth | |
| 1081 | - | |
| 1081 | + | Part76.TopSurface = Enum.SurfaceType.Smooth |
| 1082 | - | function Utility.GetRainbowRGB(hue) |
| 1082 | + | Part76.Position = Vector3.new(-164.899994, 4.19998455, -132.500015) |
| 1083 | - | local section = hue % 1 * 3 |
| 1083 | + | Part77.Parent = Model67 |
| 1084 | - | local secondary = 0.5 * math.pi * (section % 1) |
| 1084 | + | Part77.Material = Enum.Material.DiamondPlate |
| 1085 | - | if section < 1 then |
| 1085 | + | Part77.Anchored = true |
| 1086 | - | return 1, 1 - math.cos(secondary), 1 - math.sin(secondary) |
| 1086 | + | Part77.Size = Vector3.new(1, 1.60000002, 1) |
| 1087 | - | elseif section < 2 then |
| 1087 | + | Part77.CFrame = CFrame.new(-166.100006, 3.19999194, -132.500015, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 1088 | - | return 1 - math.sin(secondary), 1, 1 - math.cos(secondary) |
| 1088 | + | Part77.BottomSurface = Enum.SurfaceType.Smooth |
| 1089 | - | else |
| 1089 | + | Part77.TopSurface = Enum.SurfaceType.Smooth |
| 1090 | - | return 1 - math.cos(secondary), 1 - math.sin(secondary), 1 |
| 1090 | + | Part77.Position = Vector3.new(-166.100006, 3.19999194, -132.500015) |
| 1091 | - | end |
| 1091 | + | Part78.Parent = Model67 |
| 1092 | Part78.Material = Enum.Material.DiamondPlate | |
| 1093 | - | |
| 1093 | + | Part78.Anchored = true |
| 1094 | - | function Utility.SetProperty(object, field, value) |
| 1094 | + | Part78.Size = Vector3.new(1.00000012, 1.60000002, 1) |
| 1095 | - | object[field] = value |
| 1095 | + | Part78.CFrame = CFrame.new(-168.500015, 3.19999194, -128.499985, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 1096 | Part78.BottomSurface = Enum.SurfaceType.Smooth | |
| 1097 | - | |
| 1097 | + | Part78.TopSurface = Enum.SurfaceType.Smooth |
| 1098 | - | function Utility.CleanWorkspace() |
| 1098 | + | Part78.Position = Vector3.new(-168.500015, 3.19999194, -128.499985) |
| 1099 | - | for index, child in ipairs(Workspace:GetChildren()) do |
| 1099 | + | Part79.Parent = Model67 |
| 1100 | - | if not (Players:GetPlayerFromCharacter(child) or child.ClassName == "Camera" or child:IsA("Script") or child.ClassName == "Terrain") then
|
| 1100 | + | Part79.Material = Enum.Material.DiamondPlate |
| 1101 | - | pcall(child.Destroy, child) |
| 1101 | + | Part79.Anchored = true |
| 1102 | - | end |
| 1102 | + | Part79.Size = Vector3.new(1.79999971, 0.400000006, 1) |
| 1103 | - | end |
| 1103 | + | Part79.CFrame = CFrame.new(-168.100006, 4.19998455, -128.499985, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 1104 | - | Workspace.Terrain:Clear() |
| 1104 | + | Part79.BottomSurface = Enum.SurfaceType.Smooth |
| 1105 | - | local base = Instance.new("Part")
|
| 1105 | + | Part79.TopSurface = Enum.SurfaceType.Smooth |
| 1106 | - | base.Anchored = true |
| 1106 | + | Part79.Position = Vector3.new(-168.100006, 4.19998455, -128.499985) |
| 1107 | - | base.BrickColor = BrickColor.new("Earth green")
|
| 1107 | + | Part80.Parent = Model67 |
| 1108 | - | base.Locked = true |
| 1108 | + | Part80.Material = Enum.Material.DiamondPlate |
| 1109 | - | base.Name = "Base" |
| 1109 | + | Part80.Anchored = true |
| 1110 | - | base.Size = Vector3.new(512, 1.2, 512) |
| 1110 | + | Part80.Size = Vector3.new(5.80000067, 0.400000006, 1) |
| 1111 | - | base.Parent = Workspace |
| 1111 | + | Part80.CFrame = CFrame.new(-166.099991, 2.19999194, -132.500015, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 1112 | Part80.BottomSurface = Enum.SurfaceType.Smooth | |
| 1113 | - | |
| 1113 | + | Part80.TopSurface = Enum.SurfaceType.Smooth |
| 1114 | - | function Utility.CleanWorkspaceAndScripts() |
| 1114 | + | Part80.Position = Vector3.new(-166.099991, 2.19999194, -132.500015) |
| 1115 | - | for index, child in ipairs(Workspace:GetChildren()) do |
| 1115 | + | Part81.Parent = Model67 |
| 1116 | - | if not (Players:GetPlayerFromCharacter(child) or child.ClassName == "Camera" or child.ClassName == "Terrain") then |
| 1116 | + | Part81.Material = Enum.Material.DiamondPlate |
| 1117 | - | pcall(child.Destroy, child) |
| 1117 | + | Part81.Anchored = true |
| 1118 | - | end |
| 1118 | + | Part81.Size = Vector3.new(1.80000091, 0.400000006, 7) |
| 1119 | - | end |
| 1119 | + | Part81.CFrame = CFrame.new(-164.099976, 1.79999804, -130.5, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 1120 | - | Workspace.Terrain:Clear() |
| 1120 | + | Part81.BottomSurface = Enum.SurfaceType.Smooth |
| 1121 | - | local base = Instance.new("Part")
|
| 1121 | + | Part81.TopSurface = Enum.SurfaceType.Smooth |
| 1122 | - | base.Anchored = true |
| 1122 | + | Part81.Position = Vector3.new(-164.099976, 1.79999804, -130.5) |
| 1123 | - | base.BrickColor = BrickColor.new("Earth green")
|
| 1123 | + | Part82.Parent = Model67 |
| 1124 | - | base.Locked = true |
| 1124 | + | Part82.Material = Enum.Material.DiamondPlate |
| 1125 | - | base.Name = "Base" |
| 1125 | + | Part82.Anchored = true |
| 1126 | - | base.Size = Vector3.new(512, 1.2, 512) |
| 1126 | + | Part82.Size = Vector3.new(5.80000067, 0.400000006, 1) |
| 1127 | - | base.Parent = Workspace |
| 1127 | + | Part82.CFrame = CFrame.new(-166.099991, 2.19999194, -128.499985, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 1128 | Part82.BottomSurface = Enum.SurfaceType.Smooth | |
| 1129 | - | |
| 1129 | + | Part82.TopSurface = Enum.SurfaceType.Smooth |
| 1130 | - | function Utility.CreateDummy(cframe, name, parent) |
| 1130 | + | Part82.Position = Vector3.new(-166.099991, 2.19999194, -128.499985) |
| 1131 | - | local model = Instance.new("Model")
|
| 1131 | + | Part83.Parent = Model67 |
| 1132 | - | model.Archivable = false |
| 1132 | + | Part83.Material = Enum.Material.Metal |
| 1133 | - | model.Name = name |
| 1133 | + | Part83.Rotation = Vector3.new(-180, 0, -180) |
| 1134 | - | local humanoid = Instance.new("Humanoid", model)
|
| 1134 | + | Part83.Anchored = true |
| 1135 | - | local head = Instance.new("Part", model)
|
| 1135 | + | Part83.Size = Vector3.new(0.399999261, 5.79999876, 2.40000081) |
| 1136 | - | local face = Instance.new("Decal", head)
|
| 1136 | + | Part83.CFrame = CFrame.new(-163, 4.59997845, -127.800011, -1.00000525, 0, 0, 0, 1, 0, 0, 0, -1.00000525) |
| 1137 | - | local head_mesh = Instance.new("SpecialMesh", head)
|
| 1137 | + | Part83.BottomSurface = Enum.SurfaceType.Smooth |
| 1138 | - | local torso = Instance.new("Part", model)
|
| 1138 | + | Part83.TopSurface = Enum.SurfaceType.Smooth |
| 1139 | - | local right_arm = Instance.new("Part", model)
|
| 1139 | + | Part83.Position = Vector3.new(-163, 4.59997845, -127.800011) |
| 1140 | - | local left_arm = Instance.new("Part", model)
|
| 1140 | + | Part83.Orientation = Vector3.new(0, 180, 0) |
| 1141 | - | local right_leg = Instance.new("Part", model)
|
| 1141 | + | Part84.Parent = Model67 |
| 1142 | - | local left_leg = Instance.new("Part", model)
|
| 1142 | + | Part84.Material = Enum.Material.Metal |
| 1143 | - | local neck = Instance.new("Motor", torso)
|
| 1143 | + | Part84.Anchored = true |
| 1144 | - | local right_shoulder = Instance.new("Motor", torso)
|
| 1144 | + | Part84.Size = Vector3.new(0.399999261, 5.79999876, 2.40000081) |
| 1145 | - | local left_shoulder = Instance.new("Motor", torso)
|
| 1145 | + | Part84.CFrame = CFrame.new(-163, 4.59997845, -133.199997, 1.00000525, 0, 0, 0, 1, 0, 0, 0, 1.00000525) |
| 1146 | - | local right_hip = Instance.new("Motor", torso)
|
| 1146 | + | Part84.BottomSurface = Enum.SurfaceType.Smooth |
| 1147 | - | local left_hip = Instance.new("Motor", torso)
|
| 1147 | + | Part84.TopSurface = Enum.SurfaceType.Smooth |
| 1148 | - | head.BrickColor = BrickColor.Yellow() |
| 1148 | + | Part84.Position = Vector3.new(-163, 4.59997845, -133.199997) |
| 1149 | - | head.CFrame = cframe * CFrame.new(0, 1.5, 0) |
| 1149 | + | for i,v in pairs(mas:GetChildren()) do |
| 1150 | - | head.FormFactor = "Symmetric" |
| 1150 | + | v.Parent = workspace |
| 1151 | - | head.Locked = true |
| 1151 | + | pcall(function() v:MakeJoints() end) |
| 1152 | - | head.Name = "Head" |
| 1152 | + | |
| 1153 | - | head.Size = Vector3.new(2, 1, 1) |
| 1153 | + | mas:Destroy() |
| 1154 | - | head.TopSurface = "Smooth" |
| 1154 | + | for i,v in pairs(cors) do |
| 1155 | - | face.Texture = "rbxasset://textures/face.png" |
| 1155 | + | spawn(function() |
| 1156 | - | head_mesh.Scale = Vector3.new(1.25, 1.25, 1.25) |
| 1156 | + | pcall(v) |
| 1157 | - | torso.BrickColor = BrickColor.Blue() |
| 1157 | + | end) |
| 1158 | - | torso.CFrame = cframe |
| 1158 | + |