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 | + |