SHOW:
|
|
- or go back to the newest paste.
1 | --https://github.com/Mokiros/roblox-FE-compatibility | |
2 | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end | |
3 | local Player,game,owner = owner,game | |
4 | local RealPlayer = Player | |
5 | do | |
6 | print("FE Compatibility code V2 by Mokiros") | |
7 | local RealPlayer = RealPlayer | |
8 | script.Parent = RealPlayer.Character | |
9 | ||
10 | --Fake event to make stuff like Mouse.KeyDown work | |
11 | local Disconnect_Function = function(this) | |
12 | this[1].Functions[this[2]] = nil | |
13 | end | |
14 | local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}} | |
15 | local FakeEvent_Metatable = {__index={ | |
16 | Connect = function(this,f) | |
17 | local i = tostring(math.random(0,10000)) | |
18 | while this.Functions[i] do | |
19 | i = tostring(math.random(0,10000)) | |
20 | end | |
21 | this.Functions[i] = f | |
22 | return setmetatable({this,i},Disconnect_Metatable) | |
23 | end | |
24 | }} | |
25 | FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect | |
26 | local function fakeEvent() | |
27 | return setmetatable({Functions={}},FakeEvent_Metatable) | |
28 | end | |
29 | ||
30 | --Creating fake input objects with fake variables | |
31 | local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()} | |
32 | FakeMouse.keyUp = FakeMouse.KeyUp | |
33 | FakeMouse.keyDown = FakeMouse.KeyDown | |
34 | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} | |
35 | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) | |
36 | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil | |
37 | end} | |
38 | --Merged 2 functions into one by checking amount of arguments | |
39 | CAS.UnbindAction = CAS.BindAction | |
40 | ||
41 | --This function will trigger the events that have been :Connect()'ed | |
42 | local function TriggerEvent(self,ev,...) | |
43 | for _,f in pairs(self[ev].Functions) do | |
44 | f(...) | |
45 | end | |
46 | end | |
47 | FakeMouse.TriggerEvent = TriggerEvent | |
48 | UIS.TriggerEvent = TriggerEvent | |
49 | ||
50 | --Client communication | |
51 | local Event = Instance.new("RemoteEvent") | |
52 | Event.Name = "UserInput_Event" | |
53 | Event.OnServerEvent:Connect(function(plr,io) | |
54 | if plr~=RealPlayer then return end | |
55 | FakeMouse.Target = io.Target | |
56 | FakeMouse.Hit = io.Hit | |
57 | if not io.isMouse then | |
58 | local b = io.UserInputState == Enum.UserInputState.Begin | |
59 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
60 | return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up") | |
61 | end | |
62 | if io.UserInputType == Enum.UserInputType.MouseButton2 then | |
63 | return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up") | |
64 | end | |
65 | for _,t in pairs(CAS.Actions) do | |
66 | for _,k in pairs(t.Keys) do | |
67 | if k==io.KeyCode then | |
68 | t.Function(t.Name,io.UserInputState,io) | |
69 | end | |
70 | end | |
71 | end | |
72 | FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) | |
73 | UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false) | |
74 | end | |
75 | end) | |
76 | Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event") | |
77 | local Mouse = owner:GetMouse() | |
78 | local UIS = game:GetService("UserInputService") | |
79 | local input = function(io,RobloxHandled) | |
80 | if RobloxHandled then return end | |
81 | --Since InputObject is a client-side instance, we create and pass table instead | |
82 | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target}) | |
83 | end | |
84 | UIS.InputBegan:Connect(input) | |
85 | UIS.InputEnded:Connect(input) | |
86 | local h,t | |
87 | --Give the server mouse data every second frame, but only if the values changed | |
88 | --If player is not moving their mouse, client won't fire events | |
89 | local HB = game:GetService("RunService").Heartbeat | |
90 | while true do | |
91 | if h~=Mouse.Hit or t~=Mouse.Target then | |
92 | h,t=Mouse.Hit,Mouse.Target | |
93 | Event:FireServer({isMouse=true,Target=t,Hit=h}) | |
94 | end | |
95 | --Wait 2 frames | |
96 | for i=1,2 do | |
97 | HB:Wait() | |
98 | end | |
99 | end]==],script) | |
100 | ||
101 | ----Sandboxed game object that allows the usage of client-side methods and services | |
102 | --Real game object | |
103 | local RealGame = game | |
104 | ||
105 | --Metatable for fake service | |
106 | local FakeService_Metatable = { | |
107 | __index = function(self,k) | |
108 | local s = rawget(self,"_RealService") | |
109 | if s then | |
110 | return typeof(s[k])=="function" | |
111 | and function(_,...)return s[k](s,...)end or s[k] | |
112 | end | |
113 | end, | |
114 | __newindex = function(self,k,v) | |
115 | local s = rawget(self,"_RealService") | |
116 | if s then s[k]=v end | |
117 | end | |
118 | } | |
119 | local function FakeService(t,RealService) | |
120 | t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService | |
121 | return setmetatable(t,FakeService_Metatable) | |
122 | end | |
123 | ||
124 | --Fake game object | |
125 | local FakeGame = { | |
126 | GetService = function(self,s) | |
127 | return rawget(self,s) or RealGame:GetService(s) | |
128 | end, | |
129 | Players = FakeService({ | |
130 | LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player) | |
131 | },"Players"), | |
132 | UserInputService = FakeService(UIS,"UserInputService"), | |
133 | ContextActionService = FakeService(CAS,"ContextActionService"), | |
134 | RunService = FakeService({ | |
135 | _btrs = {}, | |
136 | RenderStepped = RealGame:GetService("RunService").Heartbeat, | |
137 | BindToRenderStep = function(self,name,_,fun) | |
138 | self._btrs[name] = self.Heartbeat:Connect(fun) | |
139 | end, | |
140 | UnbindFromRenderStep = function(self,name) | |
141 | self._btrs[name]:Disconnect() | |
142 | end, | |
143 | },"RunService") | |
144 | } | |
145 | rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer) | |
146 | FakeGame.service = FakeGame.GetService | |
147 | FakeService(FakeGame,game) | |
148 | --Changing owner to fake player object to support owner:GetMouse() | |
149 | game,owner = FakeGame,FakeGame.Players.LocalPlayer | |
150 | end | |
151 | A = true | |
152 | if A == true then | |
153 | Model = Instance.new("Model") | |
154 | Model.Name = "Weapon" | |
155 | p = Instance.new("Part", Model) | |
156 | p.Name = "Part" | |
157 | p.TopSurface = 0 | |
158 | p.BottomSurface = 0 | |
159 | p.formFactor = "Custom" | |
160 | p.Size = Vector3.new(10, 12, 10) | |
161 | p.CFrame = CFrame.new(35.4000015, 7.0999999, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
162 | p.BrickColor = BrickColor.new("Medium stone grey") | |
163 | p.Transparency = 0 | |
164 | p.Reflectance = .1 | |
165 | p.Material = Enum.Material.Concrete | |
166 | m = Instance.new("CylinderMesh") | |
167 | m.Scale = Vector3.new(1, 1.02999997, 1) | |
168 | m.Parent = p | |
169 | p = Instance.new("Part", Model) | |
170 | p.Name = "Part" | |
171 | p.TopSurface = 0 | |
172 | p.BottomSurface = 0 | |
173 | p.formFactor = "Custom" | |
174 | p.Size = Vector3.new(2, 12.8, 2) | |
175 | p.CFrame = CFrame.new(35.4000015, 7.19999981, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
176 | p.BrickColor = BrickColor.new("Bright yellow") | |
177 | p.Transparency = 0 | |
178 | p.Reflectance = .1 | |
179 | p.Material = Enum.Material.Plastic | |
180 | m = Instance.new("CylinderMesh") | |
181 | m.Scale = Vector3.new(1, 1, 1) | |
182 | m.Parent = p | |
183 | p = Instance.new("Part", Model) | |
184 | p.Name = "Part" | |
185 | p.TopSurface = 0 | |
186 | p.BottomSurface = 0 | |
187 | p.formFactor = "Custom" | |
188 | p.Size = Vector3.new(1.79, 5, 1) | |
189 | p.CFrame = CFrame.new(29.7000179, 8.89999485, 63.3000221, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
190 | p.BrickColor = BrickColor.new("Bright yellow") | |
191 | p.Transparency = 0 | |
192 | p.Reflectance = .1 | |
193 | p.Material = Enum.Material.Plastic | |
194 | p = Instance.new("Part", Model) | |
195 | p.Name = "Part" | |
196 | p.TopSurface = 0 | |
197 | p.BottomSurface = 0 | |
198 | p.formFactor = "Custom" | |
199 | p.Size = Vector3.new(5, 1.40, 0.99) | |
200 | p.CFrame = CFrame.new(29.7000198, 10.4999943, 63.3000031, -1.49008788e-008, -2.3933373e-007, 0.999990225, 6.6675625e-009, 0.99999392, 2.39334668e-007, -0.999994516, 6.66761935e-009, 7.45059765e-008) | |
201 | p.BrickColor = BrickColor.new("Bright yellow") | |
202 | p.Transparency = 0 | |
203 | p.Reflectance = .1 | |
204 | p.Material = Enum.Material.Plastic | |
205 | m = Instance.new("SpecialMesh") | |
206 | m.Scale = Vector3.new(1, 1, 1) | |
207 | m.Parent = p | |
208 | m.MeshType = Enum.MeshType.Wedge | |
209 | p = Instance.new("Part", Model) | |
210 | p.Name = "Center" | |
211 | p.TopSurface = 0 | |
212 | p.BottomSurface = 0 | |
213 | p.formFactor = "Custom" | |
214 | p.Size = Vector3.new(12.5, 5.80, 27.6) | |
215 | p.CFrame = CFrame.new(43.0000076, 9.30000114, 62.8999977, 1.06581131e-014, -8.74229471e-008, 1, -7.10542736e-015, 1, 8.742294e-008, -1, -7.10542736e-015, -4.37113776e-008) | |
216 | p.BrickColor = BrickColor.new("Bright yellow") | |
217 | p.Transparency = 1 | |
218 | p.Reflectance = .1 | |
219 | p.Material = Enum.Material.Plastic | |
220 | p = Instance.new("Part", Model) | |
221 | p.Name = "Part" | |
222 | p.TopSurface = 0 | |
223 | p.BottomSurface = 0 | |
224 | p.formFactor = "Custom" | |
225 | p.Size = Vector3.new(6.80, 1, 6.00) | |
226 | p.CFrame = CFrame.new(51.9999924, 9.06999207, 68.6000443, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
227 | p.BrickColor = BrickColor.new("Bright yellow") | |
228 | p.Transparency = 0 | |
229 | p.Reflectance = .1 | |
230 | p.Material = Enum.Material.Plastic | |
231 | p = Instance.new("Part", Model) | |
232 | p.Name = "Part" | |
233 | p.TopSurface = 0 | |
234 | p.BottomSurface = 0 | |
235 | p.formFactor = "Custom" | |
236 | p.Size = Vector3.new(11, 5.40, 2.79) | |
237 | p.CFrame = CFrame.new(56.5999718, 9.76999664, 63.0000076, 1.49011612e-008, 5.89458523e-007, -0.999990225, -3.49571337e-007, 0.99999392, 5.89460512e-007, 0.999994278, 3.49571422e-007, -4.47034836e-008) | |
238 | p.BrickColor = BrickColor.new("Bright yellow") | |
239 | p.Transparency = 0 | |
240 | p.Reflectance = .1 | |
241 | p.Material = Enum.Material.Plastic | |
242 | m = Instance.new("SpecialMesh") | |
243 | m.Scale = Vector3.new(1, 1, 1) | |
244 | m.Parent = p | |
245 | m.MeshType = Enum.MeshType.Wedge | |
246 | p = Instance.new("Part", Model) | |
247 | p.Name = "Part" | |
248 | p.TopSurface = 0 | |
249 | p.BottomSurface = 0 | |
250 | p.formFactor = "Custom" | |
251 | p.Size = Vector3.new(2.60, 11, 1.99) | |
252 | p.CFrame = CFrame.new(39.4000015, 10.7699995, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
253 | p.BrickColor = BrickColor.new("Bright yellow") | |
254 | p.Transparency = 0 | |
255 | p.Reflectance = .1 | |
256 | p.Material = Enum.Material.Plastic | |
257 | p = Instance.new("Part", Model) | |
258 | p.Name = "Part" | |
259 | p.TopSurface = 0 | |
260 | p.BottomSurface = 0 | |
261 | p.formFactor = "Custom" | |
262 | p.Size = Vector3.new(3.20, 11.0, 5) | |
263 | p.CFrame = CFrame.new(35.9000092, 11.0999928, 63.0000153, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
264 | p.BrickColor = BrickColor.new("Bright yellow") | |
265 | p.Transparency = 0 | |
266 | p.Reflectance = .1 | |
267 | p.Material = Enum.Material.Plastic | |
268 | p = Instance.new("Part", Model) | |
269 | p.Name = "Part" | |
270 | p.TopSurface = 0 | |
271 | p.BottomSurface = 0 | |
272 | p.formFactor = "Custom" | |
273 | p.Size = Vector3.new(1.99, 1, 1) | |
274 | p.CFrame = CFrame.new(51.8999863, 16.6699886, 58.4000015, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
275 | p.BrickColor = BrickColor.new("Mid gray") | |
276 | p.Transparency = 0 | |
277 | p.Reflectance = .1 | |
278 | p.Material = Enum.Material.Plastic | |
279 | p = Instance.new("Part", Model) | |
280 | p.Name = "Part" | |
281 | p.TopSurface = 0 | |
282 | p.BottomSurface = 0 | |
283 | p.formFactor = "Custom" | |
284 | p.Size = Vector3.new(1, 1, 4.59) | |
285 | p.CFrame = CFrame.new(49.099987, 18.1699905, 58.4000015, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
286 | p.BrickColor = BrickColor.new("Mid gray") | |
287 | p.Transparency = 0 | |
288 | p.Reflectance = .1 | |
289 | p.Material = Enum.Material.Plastic | |
290 | p = Instance.new("Part", Model) | |
291 | p.Name = "Part" | |
292 | p.TopSurface = 0 | |
293 | p.BottomSurface = 0 | |
294 | p.formFactor = "Custom" | |
295 | p.Size = Vector3.new(1, 12.6, 9.80) | |
296 | p.CFrame = CFrame.new(40.2999878, 6.77000237, 63.0000038, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
297 | p.BrickColor = BrickColor.new("Bright yellow") | |
298 | p.Transparency = 0 | |
299 | p.Reflectance = .1 | |
300 | p.Material = Enum.Material.Plastic | |
301 | p = Instance.new("Part", Model) | |
302 | p.Name = "Part" | |
303 | p.TopSurface = 0 | |
304 | p.BottomSurface = 0 | |
305 | p.formFactor = "Custom" | |
306 | p.Size = Vector3.new(5.19, 1.39, 2.39) | |
307 | p.CFrame = CFrame.new(32.2000008, 12.5999899, 63.2999992, -1.49008788e-008, -2.3933373e-007, 0.999990225, 6.6675625e-009, 0.99999392, 2.39334668e-007, -0.999994516, 6.66761935e-009, 7.45059765e-008) | |
308 | p.BrickColor = BrickColor.new("Bright yellow") | |
309 | p.Transparency = 0 | |
310 | p.Reflectance = .1 | |
311 | p.Material = Enum.Material.Plastic | |
312 | m = Instance.new("SpecialMesh") | |
313 | m.Scale = Vector3.new(1, 1, 1) | |
314 | m.Parent = p | |
315 | m.MeshType = Enum.MeshType.Wedge | |
316 | p = Instance.new("Part", Model) | |
317 | p.Name = "Part" | |
318 | p.TopSurface = 0 | |
319 | p.BottomSurface = 0 | |
320 | p.formFactor = "Custom" | |
321 | p.Size = Vector3.new(11, 0.60, 1.99) | |
322 | p.CFrame = CFrame.new(39.3999825, 12.3699951, 63.0000267, 1.49008779e-008, 2.39330944e-007, -0.999990225, 6.66761935e-009, 0.99999392, 2.39331769e-007, 0.999994516, -6.66753408e-009, -7.45059765e-008) | |
323 | p.BrickColor = BrickColor.new("Bright yellow") | |
324 | p.Transparency = 0 | |
325 | p.Reflectance = .1 | |
326 | p.Material = Enum.Material.Plastic | |
327 | m = Instance.new("SpecialMesh") | |
328 | m.Scale = Vector3.new(1, 1, 1) | |
329 | m.Parent = p | |
330 | m.MeshType = Enum.MeshType.Wedge | |
331 | p = Instance.new("Part", Model) | |
332 | p.Name = "Part" | |
333 | p.TopSurface = 0 | |
334 | p.BottomSurface = 0 | |
335 | p.formFactor = "Custom" | |
336 | p.Size = Vector3.new(3.20, 11, 5.60) | |
337 | p.CFrame = CFrame.new(50.1999855, 14.0699921, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
338 | p.BrickColor = BrickColor.new("Bright yellow") | |
339 | p.Transparency = 0 | |
340 | p.Reflectance = .1 | |
341 | p.Material = Enum.Material.Plastic | |
342 | p = Instance.new("Part", Model) | |
343 | p.Name = "Part" | |
344 | p.TopSurface = 0 | |
345 | p.BottomSurface = 0 | |
346 | p.formFactor = "Custom" | |
347 | p.Size = Vector3.new(5, 13, 3.79) | |
348 | p.CFrame = CFrame.new(43.2999916, 9.56999779, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
349 | p.BrickColor = BrickColor.new("Bright yellow") | |
350 | p.Transparency = 0 | |
351 | p.Reflectance = .1 | |
352 | p.Material = Enum.Material.Plastic | |
353 | p = Instance.new("Part", Model) | |
354 | p.Name = "Part" | |
355 | p.TopSurface = 0 | |
356 | p.BottomSurface = 0 | |
357 | p.formFactor = "Custom" | |
358 | p.Size = Vector3.new(5.19, 1.39, 2.39) | |
359 | p.CFrame = CFrame.new(39.6000061, 12.599987, 63.2999992, 1.49011612e-008, 5.89458523e-007, -0.999990225, -3.49571337e-007, 0.99999392, 5.89460512e-007, 0.999994278, 3.49571422e-007, -4.47034836e-008) | |
360 | p.BrickColor = BrickColor.new("Bright yellow") | |
361 | p.Transparency = 0 | |
362 | p.Reflectance = .1 | |
363 | p.Material = Enum.Material.Plastic | |
364 | m = Instance.new("SpecialMesh") | |
365 | m.Scale = Vector3.new(1, 1, 1) | |
366 | m.Parent = p | |
367 | m.MeshType = Enum.MeshType.Wedge | |
368 | p = Instance.new("Part", Model) | |
369 | p.Name = "Part" | |
370 | p.TopSurface = 0 | |
371 | p.BottomSurface = 0 | |
372 | p.formFactor = "Custom" | |
373 | p.Size = Vector3.new(5.19, 1, 1) | |
374 | p.CFrame = CFrame.new(46.2999878, 15.069993, 67.5999985, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
375 | p.BrickColor = BrickColor.new("Mid gray") | |
376 | p.Transparency = 0 | |
377 | p.Reflectance = .1 | |
378 | p.Material = Enum.Material.Plastic | |
379 | p = Instance.new("Part", Model) | |
380 | p.Name = "Part" | |
381 | p.TopSurface = 0 | |
382 | p.BottomSurface = 0 | |
383 | p.formFactor = "Custom" | |
384 | p.Size = Vector3.new(3.20, 5, 4) | |
385 | p.CFrame = CFrame.new(32.200016, 9.59999657, 63.3000221, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
386 | p.BrickColor = BrickColor.new("Bright yellow") | |
387 | p.Transparency = 0 | |
388 | p.Reflectance = .1 | |
389 | p.Material = Enum.Material.Plastic | |
390 | p = Instance.new("Part", Model) | |
391 | p.Name = "Part" | |
392 | p.TopSurface = 0 | |
393 | p.BottomSurface = 0 | |
394 | p.formFactor = "Custom" | |
395 | p.Size = Vector3.new(6, 6.79, 2.79) | |
396 | p.CFrame = CFrame.new(51.9999924, 9.06999302, 70.5000458, -1, 0, -4.37113883e-008, 0, 1, 0, 4.37113883e-008, 0, -1) | |
397 | p.BrickColor = BrickColor.new("Bright yellow") | |
398 | p.Transparency = 0 | |
399 | p.Reflectance = .1 | |
400 | p.Material = Enum.Material.Plastic | |
401 | m = Instance.new("SpecialMesh") | |
402 | m.Scale = Vector3.new(1, 1, 1) | |
403 | m.Parent = p | |
404 | m.MeshType = Enum.MeshType.Wedge | |
405 | p = Instance.new("Part", Model) | |
406 | p.Name = "Part" | |
407 | p.TopSurface = 0 | |
408 | p.BottomSurface = 0 | |
409 | p.formFactor = "Custom" | |
410 | p.Size = Vector3.new(0.60, 7.40, 3.79) | |
411 | p.CFrame = CFrame.new(43.2999916, 12.3699942, 63.2000008, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
412 | p.BrickColor = BrickColor.new("Black") | |
413 | p.Transparency = 0 | |
414 | p.Reflectance = .1 | |
415 | p.Material = Enum.Material.Plastic | |
416 | p = Instance.new("Part", Model) | |
417 | p.Name = "Part" | |
418 | p.TopSurface = 0 | |
419 | p.BottomSurface = 0 | |
420 | p.formFactor = "Custom" | |
421 | p.Size = Vector3.new(6.80, 1, 6.00) | |
422 | p.CFrame = CFrame.new(51.9999924, 9.06999588, 57.3999977, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
423 | p.BrickColor = BrickColor.new("Bright yellow") | |
424 | p.Transparency = 0 | |
425 | p.Reflectance = .1 | |
426 | p.Material = Enum.Material.Plastic | |
427 | p = Instance.new("Part", Model) | |
428 | p.Name = "Part" | |
429 | p.TopSurface = 0 | |
430 | p.BottomSurface = 0 | |
431 | p.formFactor = "Custom" | |
432 | p.Size = Vector3.new(11, 3.20, 2.19) | |
433 | p.CFrame = CFrame.new(54.0999756, 14.0699921, 63.0000076, 1.49011612e-008, 5.89458523e-007, -0.999990225, -3.49571337e-007, 0.99999392, 5.89460512e-007, 0.999994278, 3.49571422e-007, -4.47034836e-008) | |
434 | p.BrickColor = BrickColor.new("Bright yellow") | |
435 | p.Transparency = 0 | |
436 | p.Reflectance = .1 | |
437 | p.Material = Enum.Material.Plastic | |
438 | m = Instance.new("SpecialMesh") | |
439 | m.Scale = Vector3.new(1, 1, 1) | |
440 | m.Parent = p | |
441 | m.MeshType = Enum.MeshType.Wedge | |
442 | p = Instance.new("Part", Model) | |
443 | p.Name = "Part" | |
444 | p.TopSurface = 0 | |
445 | p.BottomSurface = 0 | |
446 | p.formFactor = "Custom" | |
447 | p.Size = Vector3.new(2.60, 11, 2.39) | |
448 | p.CFrame = CFrame.new(32.1999741, 10.7699986, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
449 | p.BrickColor = BrickColor.new("Bright yellow") | |
450 | p.Transparency = 0 | |
451 | p.Reflectance = .1 | |
452 | p.Material = Enum.Material.Plastic | |
453 | p = Instance.new("Part", Model) | |
454 | p.Name = "Part" | |
455 | p.TopSurface = 0 | |
456 | p.BottomSurface = 0 | |
457 | p.formFactor = "Custom" | |
458 | p.Size = Vector3.new(5.19, 1, 1) | |
459 | p.CFrame = CFrame.new(46.2999878, 15.0699921, 58.4000015, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
460 | p.BrickColor = BrickColor.new("Mid gray") | |
461 | p.Transparency = 0 | |
462 | p.Reflectance = .1 | |
463 | p.Material = Enum.Material.Plastic | |
464 | p = Instance.new("Part", Model) | |
465 | p.Name = "Part" | |
466 | p.TopSurface = 0 | |
467 | p.BottomSurface = 0 | |
468 | p.formFactor = "Custom" | |
469 | p.Size = Vector3.new(5, 0.80, 0.79) | |
470 | p.CFrame = CFrame.new(30.6000195, 11.5999937, 63.3000107, -1.49008788e-008, -2.3933373e-007, 0.999990225, 6.6675625e-009, 0.99999392, 2.39334668e-007, -0.999994516, 6.66761935e-009, 7.45059765e-008) | |
471 | p.BrickColor = BrickColor.new("Bright yellow") | |
472 | p.Transparency = 0 | |
473 | p.Reflectance = .1 | |
474 | p.Material = Enum.Material.Plastic | |
475 | m = Instance.new("SpecialMesh") | |
476 | m.Scale = Vector3.new(1, 1, 1) | |
477 | m.Parent = p | |
478 | m.MeshType = Enum.MeshType.Wedge | |
479 | p = Instance.new("Part", Model) | |
480 | p.Name = "Part" | |
481 | p.TopSurface = 0 | |
482 | p.BottomSurface = 0 | |
483 | p.formFactor = "Custom" | |
484 | p.Size = Vector3.new(10, 12, 10) | |
485 | p.CFrame = CFrame.new(51.8000298, 7.099998, 63.0000191, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
486 | p.BrickColor = BrickColor.new("Medium stone grey") | |
487 | p.Transparency = 0 | |
488 | p.Reflectance = .1 | |
489 | p.Material = Enum.Material.Concrete | |
490 | m = Instance.new("CylinderMesh") | |
491 | m.Scale = Vector3.new(1, 1.02999997, 1) | |
492 | m.Parent = p | |
493 | p = Instance.new("Part", Model) | |
494 | p.Name = "Part" | |
495 | p.TopSurface = 0 | |
496 | p.BottomSurface = 0 | |
497 | p.formFactor = "Custom" | |
498 | p.Size = Vector3.new(0.60, 5.19, 5) | |
499 | p.CFrame = CFrame.new(35.9000015, 13, 63.2999992, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
500 | p.BrickColor = BrickColor.new("Bright yellow") | |
501 | p.Transparency = 0 | |
502 | p.Reflectance = .1 | |
503 | p.Material = Enum.Material.Plastic | |
504 | p = Instance.new("Part", Model) | |
505 | p.Name = "Part" | |
506 | p.TopSurface = 0 | |
507 | p.BottomSurface = 0 | |
508 | p.formFactor = "Custom" | |
509 | p.Size = Vector3.new(6, 6.79, 2.79) | |
510 | p.CFrame = CFrame.new(51.9999847, 9.06999207, 55.5, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
511 | p.BrickColor = BrickColor.new("Bright yellow") | |
512 | p.Transparency = 0 | |
513 | p.Reflectance = .1 | |
514 | p.Material = Enum.Material.Plastic | |
515 | m = Instance.new("SpecialMesh") | |
516 | m.Scale = Vector3.new(1, 1, 1) | |
517 | m.Parent = p | |
518 | m.MeshType = Enum.MeshType.Wedge | |
519 | p = Instance.new("Part", Model) | |
520 | p.Name = "Part" | |
521 | p.TopSurface = 0 | |
522 | p.BottomSurface = 0 | |
523 | p.formFactor = "Custom" | |
524 | p.Size = Vector3.new(2.79, 7.40, 0.79) | |
525 | p.CFrame = CFrame.new(44.7999916, 14.0699921, 63.2000008, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
526 | p.BrickColor = BrickColor.new("Black") | |
527 | p.Transparency = 0 | |
528 | p.Reflectance = .1 | |
529 | p.Material = Enum.Material.Plastic | |
530 | p = Instance.new("Part", Model) | |
531 | p.Name = "Part" | |
532 | p.TopSurface = 0 | |
533 | p.BottomSurface = 0 | |
534 | p.formFactor = "Custom" | |
535 | p.Size = Vector3.new(5.40, 11, 10) | |
536 | p.CFrame = CFrame.new(50.1999893, 9.76999474, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
537 | p.BrickColor = BrickColor.new("Bright yellow") | |
538 | p.Transparency = 0 | |
539 | p.Reflectance = .1 | |
540 | p.Material = Enum.Material.Plastic | |
541 | p = Instance.new("Part", Model) | |
542 | p.Name = "Part" | |
543 | p.TopSurface = 0 | |
544 | p.BottomSurface = 0 | |
545 | p.formFactor = "Custom" | |
546 | p.Size = Vector3.new(11, 0.60, 2.39) | |
547 | p.CFrame = CFrame.new(32.1999855, 12.3699961, 62.9999733, -1.49008788e-008, -2.3933373e-007, 0.999990225, 6.6675625e-009, 0.99999392, 2.39334668e-007, -0.999994516, 6.66761935e-009, 7.45059765e-008) | |
548 | p.BrickColor = BrickColor.new("Bright yellow") | |
549 | p.Transparency = 0 | |
550 | p.Reflectance = .1 | |
551 | p.Material = Enum.Material.Plastic | |
552 | m = Instance.new("SpecialMesh") | |
553 | m.Scale = Vector3.new(1, 1, 1) | |
554 | m.Parent = p | |
555 | m.MeshType = Enum.MeshType.Wedge | |
556 | p = Instance.new("Part", Model) | |
557 | p.Name = "Part" | |
558 | p.TopSurface = 0 | |
559 | p.BottomSurface = 0 | |
560 | p.formFactor = "Custom" | |
561 | p.Size = Vector3.new(4, 13, 1) | |
562 | p.CFrame = CFrame.new(40.8999939, 10.0700006, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
563 | p.BrickColor = BrickColor.new("Bright yellow") | |
564 | p.Transparency = 0 | |
565 | p.Reflectance = .1 | |
566 | p.Material = Enum.Material.Plastic | |
567 | p = Instance.new("Part", Model) | |
568 | p.Name = "Part" | |
569 | p.TopSurface = 0 | |
570 | p.BottomSurface = 0 | |
571 | p.formFactor = "Custom" | |
572 | p.Size = Vector3.new(10.1, 1, 0.99) | |
573 | p.CFrame = CFrame.new(51.8999825, 18.1699867, 62.9999733, 1.49008796e-008, 2.39336913e-007, -0.999990225, 6.66744882e-009, 0.99999392, 2.39337737e-007, 0.999994516, -6.66736355e-009, -7.45059765e-008) | |
574 | p.BrickColor = BrickColor.new("Mid gray") | |
575 | p.Transparency = 0 | |
576 | p.Reflectance = .1 | |
577 | p.Material = Enum.Material.Plastic | |
578 | m = Instance.new("SpecialMesh") | |
579 | m.Scale = Vector3.new(1, 1, 1) | |
580 | m.Parent = p | |
581 | m.MeshType = Enum.MeshType.Wedge | |
582 | p = Instance.new("Part", Model) | |
583 | p.Name = "Part" | |
584 | p.TopSurface = 0 | |
585 | p.BottomSurface = 0 | |
586 | p.formFactor = "Custom" | |
587 | p.Size = Vector3.new(1, 1, 4.59) | |
588 | p.CFrame = CFrame.new(49.099987, 18.1699944, 67.5999985, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
589 | p.BrickColor = BrickColor.new("Mid gray") | |
590 | p.Transparency = 0 | |
591 | p.Reflectance = .1 | |
592 | p.Material = Enum.Material.Plastic | |
593 | p = Instance.new("Part", Model) | |
594 | p.Name = "Part" | |
595 | p.TopSurface = 0 | |
596 | p.BottomSurface = 0 | |
597 | p.formFactor = "Custom" | |
598 | p.Size = Vector3.new(1.99, 1, 1) | |
599 | p.CFrame = CFrame.new(51.8999863, 16.6699886, 67.5999908, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
600 | p.BrickColor = BrickColor.new("Mid gray") | |
601 | p.Transparency = 0 | |
602 | p.Reflectance = .1 | |
603 | p.Material = Enum.Material.Plastic | |
604 | p = Instance.new("Part", Model) | |
605 | p.Name = "Part" | |
606 | p.TopSurface = 0 | |
607 | p.BottomSurface = 0 | |
608 | p.formFactor = "Custom" | |
609 | p.Size = Vector3.new(1, 1, 4.59) | |
610 | p.CFrame = CFrame.new(49.099987, 18.1699867, 63.0000153, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) | |
611 | p.BrickColor = BrickColor.new("Mid gray") | |
612 | p.Transparency = 0 | |
613 | p.Reflectance = .1 | |
614 | p.Material = Enum.Material.Plastic | |
615 | p = Instance.new("Part", Model) | |
616 | p.Name = "Part" | |
617 | p.TopSurface = 0 | |
618 | p.BottomSurface = 0 | |
619 | p.formFactor = "Custom" | |
620 | p.Size = Vector3.new(10.1, 1, 0.99) | |
621 | p.CFrame = CFrame.new(46.2999916, 18.1699886, 63.0000229, -1.49008823e-008, -2.39345496e-007, 0.999990225, 6.66727829e-009, 0.99999392, 2.39346434e-007, -0.999994516, 6.66733513e-009, 7.45059765e-008) | |
622 | p.BrickColor = BrickColor.new("Mid gray") | |
623 | p.Transparency = 0 | |
624 | p.Reflectance = .1 | |
625 | p.Material = Enum.Material.Plastic | |
626 | m = Instance.new("SpecialMesh") | |
627 | m.Scale = Vector3.new(1, 1, 1) | |
628 | m.Parent = p | |
629 | m.MeshType = Enum.MeshType.Wedge | |
630 | ||
631 | Spawn = function() | |
632 | Modelc = Model:clone() | |
633 | for _, v in pairs(Modelc:children()) do | |
634 | if v.className == "Part" then | |
635 | if v.Name ~= "Center" then | |
636 | w = Instance.new("Weld") | |
637 | w.Part0 = Modelc.Center | |
638 | w.Part1 = v | |
639 | w.C1 = v.CFrame:inverse() * CFrame.new(v.Position) | |
640 | w.C0 = Modelc.Center.CFrame:inverse() * CFrame.new(v.Position) | |
641 | w.Parent = w.Part0 | |
642 | end | |
643 | end | |
644 | end | |
645 | return Modelc | |
646 | end | |
647 | ||
648 | CameraRadius = 66 | |
649 | TimeStopRadius = 66 | |
650 | ||
651 | RightShoulderC0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
652 | RightShoulderC1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
653 | LeftShoulderC0 = CFrame.new(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
654 | LeftShoulderC1 = CFrame.new(0.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
655 | RightHipC0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
656 | RightHipC1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
657 | LeftHipC0 = CFrame.new(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
658 | LeftHipC1 = CFrame.new(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
659 | NeckC0 = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
660 | NeckC1 = CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
661 | RootJointC0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
662 | RootJointC1 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) | |
663 | ||
664 | getWelds = function(c) --designate weld variables | |
665 | local t = c.Torso | |
666 | local hrp = c.HumanoidRootPart.RootJoint | |
667 | RightShoulder = t:FindFirstChild("Right Shoulder") | |
668 | LeftShoulder = t:FindFirstChild("Left Shoulder") | |
669 | RightHip = t:FindFirstChild("Right Hip") | |
670 | LeftHip = t:FindFirstChild("Left Hip") | |
671 | RootJoint = hrp | |
672 | Neck = t:FindFirstChild("Neck") | |
673 | end | |
674 | resetWelds = function(ext, occ) --extent 1-3; occlusion | |
675 | --1 == reset desiredangle/currentangle | |
676 | --2 == reset C0/C1 | |
677 | --3 == reset both des/cur/c0/c1 | |
678 | local r = { | |
679 | RightShoulder, | |
680 | LeftShoulder, | |
681 | RightHip, | |
682 | LeftHip, | |
683 | RootJoint, | |
684 | Neck, | |
685 | Grip | |
686 | } | |
687 | for _, v in pairs(r) do | |
688 | for i = 1, #occ do | |
689 | if occ[i] == v then | |
690 | table.remove(r, _) | |
691 | end | |
692 | end | |
693 | end | |
694 | for _, v in pairs(r) do | |
695 | if v.Name == "Right Shoulder" then | |
696 | if ext == 1 then | |
697 | v.DesiredAngle = 0 | |
698 | v.CurrentAngle = 0 | |
699 | elseif ext == 2 then | |
700 | v.C0 = RightShoulderC0 | |
701 | v.C1 = RightShoulderC1 | |
702 | elseif ext == 3 then | |
703 | v.DesiredAngle = 0 | |
704 | v.CurrentAngle = 0 | |
705 | v.C0 = RightShoulderC0 | |
706 | v.C1 = RightShoulderC1 | |
707 | end | |
708 | elseif v.Name == "Left Shoulder" then | |
709 | if ext == 1 then | |
710 | v.DesiredAngle = 0 | |
711 | v.CurrentAngle = 0 | |
712 | elseif ext == 2 then | |
713 | v.C0 = LeftShoulderC0 | |
714 | v.C1 = LeftShoulderC1 | |
715 | elseif ext == 3 then | |
716 | v.DesiredAngle = 0 | |
717 | v.CurrentAngle = 0 | |
718 | v.C0 = LeftShoulderC0 | |
719 | v.C1 = LeftShoulderC1 | |
720 | end | |
721 | elseif v.Name == "Right Hip" then | |
722 | if ext == 1 then | |
723 | v.DesiredAngle = 0 | |
724 | v.CurrentAngle = 0 | |
725 | elseif ext == 2 then | |
726 | v.C0 = RightHipC0 | |
727 | v.C1 = RightHipC1 | |
728 | elseif ext == 3 then | |
729 | v.DesiredAngle = 0 | |
730 | v.CurrentAngle = 0 | |
731 | v.C0 = RightHipC0 | |
732 | v.C1 = RightHipC1 | |
733 | end | |
734 | elseif v.Name == "Left Hip" then | |
735 | if ext == 1 then | |
736 | v.DesiredAngle = 0 | |
737 | v.CurrentAngle = 0 | |
738 | elseif ext == 2 then | |
739 | v.C0 = LeftHipC0 | |
740 | v.C1 = LeftHipC1 | |
741 | elseif ext == 3 then | |
742 | v.DesiredAngle = 0 | |
743 | v.CurrentAngle = 0 | |
744 | v.C0 = LeftHipC0 | |
745 | v.C1 = LeftHipC1 | |
746 | end | |
747 | elseif v.Name == "Neck" then | |
748 | if ext == 1 then | |
749 | v.DesiredAngle = 0 | |
750 | v.CurrentAngle = 0 | |
751 | elseif ext == 2 then | |
752 | v.C0 = NeckC0 | |
753 | v.C1 = NeckC1 | |
754 | elseif ext == 3 then | |
755 | v.DesiredAngle = 0 | |
756 | v.CurrentAngle = 0 | |
757 | v.C0 = NeckC0 | |
758 | v.C1 = NeckC1 | |
759 | end | |
760 | elseif v.Name == "RootJoint" then | |
761 | if ext == 1 then | |
762 | v.DesiredAngle = 0 | |
763 | v.CurrentAngle = 0 | |
764 | elseif ext == 2 then | |
765 | v.C0 = RootJointC0 | |
766 | v.C1 = RootJointC1 | |
767 | elseif ext == 3 then | |
768 | v.DesiredAngle = 0 | |
769 | v.CurrentAngle = 0 | |
770 | v.C0 = RootJointC0 | |
771 | v.C1 = RootJointC1 | |
772 | end | |
773 | elseif v.Name == "RightGrip" then | |
774 | if ext == 1 then | |
775 | elseif ext == 2 then | |
776 | Grip.C0 = nGrip.C0 | |
777 | Grip.C1 = nGrip.C1 | |
778 | elseif ext == 3 then | |
779 | Grip.C0 = nGrip.C0 | |
780 | Grip.C1 = nGrip.C1 | |
781 | end | |
782 | end | |
783 | end | |
784 | end | |
785 | ||
786 | ||
787 | doitdocdoit = function() | |
788 | if deb == false then | |
789 | return | |
790 | end | |
791 | deb = false | |
792 | ||
793 | vPlayer = game.Players.LocalPlayer | |
794 | cPlayer = vPlayer.Character | |
795 | Anim = cPlayer.Animate | |
796 | Anim.Disabled = true | |
797 | Hum = cPlayer.Humanoid | |
798 | Hum.Name = "NOPE" | |
799 | Hum.WalkSpeed = 0 | |
800 | getWelds(cPlayer) | |
801 | resetWelds(3, {}) | |
802 | ||
803 | bodypos = Instance.new("BodyPosition") | |
804 | bodypos.P = 4000 | |
805 | bodypos.maxForce = Vector3.new(5000000, 50000000, 5000000) * 5000 | |
806 | bodypos.position = cPlayer.Torso.Position + Vector3.new(0, .5, 0) | |
807 | bodypos.Parent = cPlayer.Torso | |
808 | ||
809 | dir = cPlayer.HumanoidRootPart.CFrame.lookVector | |
810 | CPlayer = cPlayer | |
811 | partpos = Instance.new("Part", workspace) | |
812 | partpos.Transparency = 1 | |
813 | partpos.CanCollide = false | |
814 | partpos.Anchored = true | |
815 | partpos.CFrame = cPlayer.Torso.CFrame | |
816 | ||
817 | sound = Instance.new("Sound") | |
818 | sound.Parent = partpos | |
819 | sound.Volume = 1 | |
820 | sound.SoundId = "http://www.roblox.com/asset/?id=468760371" | |
821 | -- sound.SoundId="http://www.roblox.com/asset/?id=168009623" | |
822 | sound2 = Instance.new("Sound") | |
823 | sound2.Parent = workspace.CurrentCamera | |
824 | sound2.Volume = 1 | |
825 | sound2.SoundId = "http://www.roblox.com/asset/?id=468760371" | |
826 | -- sound2.SoundId="http://www.roblox.com/asset/?id=168009623" | |
827 | sound:Play() | |
828 | sound2:Play() | |
829 | expected = 10 | |
830 | did = false | |
831 | pooted = 0 | |
832 | sos = game:GetService("RunService").Stepped:connect(function() | |
833 | pooted = pooted + 1 | |
834 | if pooted >= expected + 1 then | |
835 | sos:disconnect() | |
836 | did = true | |
837 | return | |
838 | end | |
839 | resetWelds(3, {}) | |
840 | RightShoulder.C0 = RightShoulder.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted), math.rad(0), math.rad(0)) | |
841 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted), math.rad(0), math.rad(0)) | |
842 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted), math.rad(0), math.rad(0)) | |
843 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted), math.rad(0), math.rad(0)) | |
844 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) | |
845 | RootJoint.C0 = RootJoint.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) | |
846 | end) | |
847 | --[[sound=Instance.new("Sound") | |
848 | sound.Parent=cPlayer.Torso | |
849 | sound.Volume=1 | |
850 | sound.SoundId="http://www.roblox.com/asset/?id=316900066" | |
851 | sound:Play()]]-- | |
852 | while did == false do | |
853 | wait() | |
854 | end | |
855 | ||
856 | expected = 10 | |
857 | did = false | |
858 | pooted = 0 | |
859 | sos = game:GetService("RunService").Stepped:connect(function() | |
860 | pooted = pooted + 1 | |
861 | if pooted >= expected + 1 then | |
862 | sos:disconnect() | |
863 | did = true | |
864 | return | |
865 | end | |
866 | resetWelds(3, {}) | |
867 | RightShoulder.C0 = RightShoulder.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-12 - pooted * 8), math.rad(0), math.rad(pooted)) | |
868 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, pooted * .1) * CFrame.fromEulerAnglesXYZ(math.rad(-12 - pooted * 9), math.rad(pooted * 9), math.rad(0)) | |
869 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-12), math.rad(0), math.rad(0)) | |
870 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-12), math.rad(0), math.rad(0)) | |
871 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(pooted / 2), math.rad(0), math.rad(-pooted * 9)) | |
872 | RootJoint.C0 = RootJoint.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted), math.rad(pooted / 3), math.rad(pooted * 10)) | |
873 | end) | |
874 | while did == false do | |
875 | wait() | |
876 | end | |
877 | wait(.2) | |
878 | expected = 5 | |
879 | did = false | |
880 | pooted = 0 | |
881 | nubhit = nil | |
882 | sos = game:GetService("RunService").Stepped:connect(function() | |
883 | pooted = pooted + 1 | |
884 | if pooted >= expected + 1 then | |
885 | sos:disconnect() | |
886 | did = true | |
887 | return | |
888 | end | |
889 | resetWelds(3, {}) | |
890 | RightShoulder.C0 = RightShoulder.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-12 - pooted * 8), math.rad(0), math.rad(pooted)) | |
891 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, pooted * .1) * CFrame.fromEulerAnglesXYZ(math.rad(-12 - pooted * 9), math.rad(pooted * 9), math.rad(0)) | |
892 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-12), math.rad(0), math.rad(0)) | |
893 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-12), math.rad(0), math.rad(0)) | |
894 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(5), math.rad(0), math.rad(-90 + pooted * 40)) | |
895 | RootJoint.C0 = RootJoint.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-10 + pooted * 4), math.rad(3.3), math.rad(90 - pooted * 34)) | |
896 | if nubhit == nil then | |
897 | bodypos.position = bodypos.position + dir * 4 | |
898 | cPlayer.Torso.CFrame = CFrame.new(bodypos.position + dir * 4, bodypos.position + dir * 20) | |
899 | --bodypos.position=bodypos.position + dir*9 | |
900 | --cPlayer.Torso.CFrame=CFrame.new(bodypos.position+dir*9,bodypos.position+dir*20) | |
901 | end | |
902 | if nubhit == nil and pooted >= 2 then | |
903 | pos = bodypos.position + dir * 2 | |
904 | radi = 6 | |
905 | for _, v in pairs(workspace:children()) do | |
906 | h = v:FindFirstChild("Humanoid") | |
907 | t = v:FindFirstChild("Torso") | |
908 | if h ~= nil and t ~= nil and v ~= cPlayer then | |
909 | if (t.Position - pos).magnitude <= radi then | |
910 | print(":>") | |
911 | nubhit = v | |
912 | break | |
913 | end | |
914 | end | |
915 | end | |
916 | end | |
917 | if nubhit ~= nil then | |
918 | if nubhit.Torso:FindFirstChild("PART1") == nil then | |
919 | v = Instance.new("BodyVelocity") | |
920 | v.P = 4000 | |
921 | v.maxForce = Vector3.new(500000000000, 500000000000, 500000000000) | |
922 | v.velocity = dir * 4 + Vector3.new(0, 4, 0) | |
923 | v.Name = "PART1" | |
924 | v.Parent = nubhit.Torso | |
925 | game:GetService("Debris"):AddItem(v, 5) | |
926 | coroutine.resume(coroutine.create(function(v) | |
927 | for i = 1, 100 do | |
928 | v.velocity = v.velocity - Vector3.new(0, .07, 0) | |
929 | wait() | |
930 | end | |
931 | end), v) | |
932 | v = Instance.new("BodyGyro") | |
933 | v.P = 20 | |
934 | v.D = 30 | |
935 | v.maxTorque = Vector3.new(5000000, 5000000, 5000000) | |
936 | v.cframe = CPlayer.Torso.CFrame * CFrame.fromEulerAnglesXYZ(math.pi / 2, math.pi, 0) | |
937 | v.Name = "PART1" | |
938 | v.Parent = nubhit.Torso | |
939 | game:GetService("Debris"):AddItem(v, 5) | |
940 | end | |
941 | end | |
942 | end) | |
943 | while did == false do | |
944 | wait() | |
945 | end | |
946 | if nubhit == nil then | |
947 | sound:Stop() | |
948 | wait(.5) | |
949 | sound2:Stop() | |
950 | else | |
951 | expected = 32 | |
952 | did = false | |
953 | pooted = 0 | |
954 | sos = game:GetService("RunService").Stepped:connect(function() | |
955 | pooted = pooted + 1 | |
956 | if pooted >= expected + 1 then | |
957 | sos:disconnect() | |
958 | did = true | |
959 | return | |
960 | end | |
961 | RightShoulder.C0 = RightShoulder.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-.03), math.rad(0), math.rad(.03)) | |
962 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, .02) * CFrame.fromEulerAnglesXYZ(math.rad(-.05), math.rad(.08), math.rad(0)) | |
963 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-.04), math.rad(0), math.rad(0)) | |
964 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-.04), math.rad(0), math.rad(0)) | |
965 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(.05), math.rad(0), math.rad(.1)) | |
966 | RootJoint.C0 = RootJoint.C0 * CFrame.fromEulerAnglesXYZ(math.rad(.2), math.rad(0.05), math.rad(-.05)) | |
967 | bodypos.position = bodypos.position + dir * .05 | |
968 | cPlayer.Torso.CFrame = CFrame.new(bodypos.position + dir * .05, bodypos.position + dir * 20) | |
969 | end) | |
970 | while did == false do | |
971 | wait() | |
972 | end | |
973 | bodypos.Parent = nil | |
974 | expected = 12 | |
975 | did = false | |
976 | pooted = 0 | |
977 | sos = game:GetService("RunService").Stepped:connect(function() | |
978 | pooted = pooted + 1 | |
979 | if pooted >= expected + 1 then | |
980 | sos:disconnect() | |
981 | did = true | |
982 | return | |
983 | end | |
984 | RightShoulder.C0 = RightShoulder.C0 * CFrame.fromEulerAnglesXYZ(math.rad(4.5), math.rad(0), math.rad(-.15)) | |
985 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, -.07) * CFrame.fromEulerAnglesXYZ(math.rad(5.6), math.rad(-4.5), math.rad(1.25)) | |
986 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1.24), math.rad(0), math.rad(0)) | |
987 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1.24), math.rad(0), math.rad(0)) | |
988 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1), math.rad(-2.5), math.rad(-8)) | |
989 | RootJoint.C0 = RootJoint.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-.5), math.rad(-.5), math.rad(7)) | |
990 | end) | |
991 | ||
992 | while did == false do | |
993 | wait() | |
994 | end | |
995 | expected = 6 | |
996 | did = false | |
997 | pooted = 0 | |
998 | sos = game:GetService("RunService").Stepped:connect(function() | |
999 | pooted = pooted + 1 | |
1000 | if pooted >= expected + 1 then | |
1001 | sos:disconnect() | |
1002 | did = true | |
1003 | return | |
1004 | end | |
1005 | resetWelds(3, {}) | |
1006 | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 5), math.rad(0), math.rad(pooted * 18)) | |
1007 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 5), math.rad(0), math.rad(-pooted * 18)) | |
1008 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(pooted * 6)) | |
1009 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(-pooted * 6)) | |
1010 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(20 + pooted * 5), math.rad(0), math.rad(0)) | |
1011 | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, pooted * .03, -pooted * .1) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 6), math.rad(0), math.rad(pooted * 1)) | |
1012 | print(":(") | |
1013 | end) | |
1014 | wait(.3) | |
1015 | while did == false do | |
1016 | wait() | |
1017 | end | |
1018 | resetWelds(3, { | |
1019 | "Neck" | |
1020 | }) | |
1021 | expected = 5 | |
1022 | did = false | |
1023 | pooted = 0 | |
1024 | p = Instance.new("Part", workspace) | |
1025 | p.Name = "ORB" | |
1026 | p.TopSurface = 0 | |
1027 | p.BottomSurface = 0 | |
1028 | p.formFactor = "Custom" | |
1029 | p.CFrame = cPlayer.Torso.CFrame | |
1030 | m = Instance.new("SpecialMesh", p) | |
1031 | m.MeshType = "Sphere" | |
1032 | p.BrickColor = BrickColor:White() | |
1033 | p.Size = Vector3.new(1, 1, 1) | |
1034 | p.CanCollide = false | |
1035 | p.Anchored = true | |
1036 | game:GetService("Debris"):AddItem(p, 5) | |
1037 | coroutine.resume(coroutine.create(function(p) | |
1038 | nubhit.Torso.Anchored = true | |
1039 | for i = 1, 10 do | |
1040 | p.Mesh.Scale = p.Mesh.Scale + Vector3.new(5, 5, 5) | |
1041 | p.Transparency = .5 + i / 20 | |
1042 | wait() | |
1043 | end | |
1044 | p:Remove() | |
1045 | end), p) | |
1046 | sos = game:GetService("RunService").Stepped:connect(function() | |
1047 | pooted = pooted + 1 | |
1048 | if pooted >= expected + 1 then | |
1049 | sos:disconnect() | |
1050 | did = true | |
1051 | return | |
1052 | end | |
1053 | resetWelds(3, {}) | |
1054 | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 10), math.rad(-pooted * 12), math.rad(pooted * 10)) | |
1055 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 10), math.rad(pooted * 12), math.rad(-pooted * 10)) | |
1056 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(-pooted * 10)) | |
1057 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(pooted * 9)) | |
1058 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(20 - pooted * 6), math.rad(0), math.rad(0)) | |
1059 | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, pooted * .03, -pooted * .1) * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 9.5), math.rad(0), math.rad(pooted * .2)) | |
1060 | print(":(") | |
1061 | end) | |
1062 | ||
1063 | while did == false do | |
1064 | wait() | |
1065 | end | |
1066 | wait(1) | |
1067 | expected = 5 | |
1068 | did = false | |
1069 | pooted = 0 | |
1070 | sos = game:GetService("RunService").Stepped:connect(function() | |
1071 | pooted = pooted + 1 | |
1072 | if pooted >= expected + 1 then | |
1073 | sos:disconnect() | |
1074 | did = true | |
1075 | return | |
1076 | end | |
1077 | resetWelds(3, {}) | |
1078 | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0.05 * pooted, 0) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 2), math.rad(0), math.rad(pooted * 6)) | |
1079 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 2), math.rad(0), math.rad(-pooted * 6)) | |
1080 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(-57 + pooted * 20)) | |
1081 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(57 - pooted * 20)) | |
1082 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 4), math.rad(0), math.rad(0)) | |
1083 | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, -.1 * pooted) * CFrame.fromEulerAnglesXYZ(math.rad(-57 + pooted * 20), math.rad(0), math.rad(0)) | |
1084 | print(":(") | |
1085 | end) | |
1086 | while did == false do | |
1087 | wait() | |
1088 | end | |
1089 | wait(.8) | |
1090 | expected = 5 | |
1091 | did = false | |
1092 | pooted = 0 | |
1093 | bodypos.Parent = cPlayer.Torso | |
1094 | workspace.CurrentCamera.CameraType = "Follow" | |
1095 | sos = game:GetService("RunService").Stepped:connect(function() | |
1096 | pooted = pooted + 1 | |
1097 | if pooted >= expected + 1 then | |
1098 | sos:disconnect() | |
1099 | did = true | |
1100 | return | |
1101 | end | |
1102 | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-2), math.rad(0), math.rad(-3)) | |
1103 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(2), math.rad(0), math.rad(3)) | |
1104 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1), math.rad(0), math.rad(-8)) | |
1105 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1), math.rad(0), math.rad(8)) | |
1106 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-14), math.rad(0), math.rad(0)) | |
1107 | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, .05) * CFrame.fromEulerAnglesXYZ(math.rad(-7), math.rad(0), math.rad(0)) | |
1108 | ||
1109 | bodypos.position = bodypos.position + Vector3.new(0, 240, 0) | |
1110 | cPlayer.Torso.CFrame = cPlayer.Torso.CFrame + Vector3.new(0, 240, 0) | |
1111 | ||
1112 | print(":(") | |
1113 | end) | |
1114 | local DIOPLS = Instance.new("Sound", cPlayer.Torso) | |
1115 | DIOPLS.SoundId = "rbxassetid://316900066" | |
1116 | DIOPLS.Volume = 1 | |
1117 | DIOPLS:Play() | |
1118 | Instance.new("DistortionSoundEffect", DIOPLS).Level = 1 | |
1119 | game:GetService("Debris"):AddItem(DIOPLS, 19) | |
1120 | while did == false do | |
1121 | wait() | |
1122 | end | |
1123 | wait(.8) | |
1124 | LOL = Spawn() | |
1125 | LOL.Parent = workspace | |
1126 | LOL:MakeJoints() | |
1127 | LOL:MoveTo(cPlayer.Torso.CFrame.p) | |
1128 | C = LOL.Center | |
1129 | C.CFrame = CFrame.new(nubhit.Torso.Position + Vector3.new(0, 1200, 0)) * CFrame.new(8, 0, 0) | |
1130 | ||
1131 | bb = Instance.new("BodyPosition") | |
1132 | bb.Parent = C | |
1133 | bb.maxForce = Vector3.new(50000000000000000, 50000000000000000, 50000000000000000) | |
1134 | bb.position = bb.Parent.Position | |
1135 | C.CFrame = CFrame.new(bb.position) | |
1136 | orig = bb.position | |
1137 | ||
1138 | gg = Instance.new("BodyGyro") | |
1139 | gg.P = 15000 | |
1140 | gg.D = 100 | |
1141 | gg.maxTorque = Vector3.new(500000000, 500000000, 500000000) | |
1142 | gg.cframe = CFrame.new(C.Position, Vector3.new(nubhit.Torso.Position.x, C.Position.y, nubhit.Torso.Position.z)) * CFrame.fromEulerAnglesXYZ(-math.rad(10), math.rad(10), 0) | |
1143 | gg.Parent = C | |
1144 | ||
1145 | expected = 80 | |
1146 | did = false | |
1147 | pooted = 0 | |
1148 | ||
1149 | resetWelds(3, {}) | |
1150 | ||
1151 | Hum.PlatformStand = true | |
1152 | ||
1153 | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, .4, 0) * CFrame.fromEulerAnglesXYZ(math.rad(30), math.rad(0), math.rad(180)) | |
1154 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, .4, 0) * CFrame.fromEulerAnglesXYZ(math.rad(30), math.rad(0), math.rad(-180)) | |
1155 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-8), math.rad(0), math.rad(-8)) | |
1156 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-8), math.rad(0), math.rad(8)) | |
1157 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-45), math.rad(0), math.rad(0)) | |
1158 | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) | |
1159 | ||
1160 | bodypos.Parent = nil | |
1161 | w = Instance.new("Weld") | |
1162 | w.Part0 = C | |
1163 | w.Part1 = cPlayer.Torso | |
1164 | w.C0 = CFrame.new(.3, 5.6, -7) * CFrame.fromEulerAnglesXYZ(math.pi / .9, math.pi / 10, 0) | |
1165 | w.C0 = w.C0 * CFrame.fromEulerAnglesXYZ(0, 0, 0) | |
1166 | w.Parent = w.Part0 | |
1167 | ||
1168 | sos = game:GetService("RunService").Stepped:connect(function() | |
1169 | pooted = pooted + 1 | |
1170 | if pooted >= expected + 1 then | |
1171 | sos:disconnect() | |
1172 | did = true | |
1173 | return | |
1174 | end | |
1175 | ||
1176 | bb.position = orig - Vector3.new(0, 1202 / 80 * pooted, 0) | |
1177 | C.CFrame = C.CFrame - Vector3.new(0, 1202 / 80, 0) | |
1178 | print(":(") | |
1179 | end) | |
1180 | ||
1181 | while did == false do | |
1182 | wait() | |
1183 | end | |
1184 | C.CFrame = CFrame.new(nubhit.Torso.Position + Vector3.new(0, 4, 0), Vector3.new(nubhit.Torso.Position.x, C.Position.y, nubhit.Torso.Position.z)) * CFrame.fromEulerAnglesXYZ(-math.rad(5), math.rad(5), 0) | |
1185 | C.CFrame = C.CFrame * CFrame.new(8, 0, 0) | |
1186 | bl2 = Instance.new("Part") | |
1187 | bl2.TopSurface = 0 | |
1188 | bl2.BottomSurface = 0 | |
1189 | bl2.CanCollide = false | |
1190 | bl2.formFactor = "Symmetric" | |
1191 | local ShockWaveSound = Instance.new("Sound", bl2) | |
1192 | ShockWaveSound.SoundId = "rbxassetid://138186576" | |
1193 | ShockWaveSound.Pitch = 0.8 | |
1194 | ShockWaveSound.Volume = 1 | |
1195 | ShockWaveSound:Play() | |
1196 | Instance.new("DistortionSoundEffect", ShockWaveSound).Level = 1 | |
1197 | m = Instance.new("SpecialMesh") | |
1198 | m.MeshId = "http://www.roblox.com/asset/?id=20329976" | |
1199 | m.Scale = Vector3.new(1, 4, 1) | |
1200 | m.Parent = bl2 | |
1201 | bl2.Size = Vector3.new(1, 1, 1) | |
1202 | bl2.Anchored = false | |
1203 | bl2.Name = "c" | |
1204 | bl2.CFrame = CFrame.new(C.Position) - Vector3.new(0, 2, 0) | |
1205 | bl2.BrickColor = BrickColor.new("White") | |
1206 | bl2.Parent = CPlayer | |
1207 | coroutine.resume(coroutine.create(function(p) | |
1208 | for i = 1, 10 do | |
1209 | p.Mesh.Scale = p.Mesh.Scale + Vector3.new(8, 0, 8) | |
1210 | p.Transparency = .25 + i * .075 | |
1211 | p.CFrame = p.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(5), 0) | |
1212 | wait() | |
1213 | end | |
1214 | p:Remove() | |
1215 | end), bl2) | |
1216 | bl2.Anchored = true | |
1217 | ||
1218 | bl2 = Instance.new("Part") | |
1219 | bl2.TopSurface = 0 | |
1220 | bl2.BottomSurface = 0 | |
1221 | bl2.CanCollide = false | |
1222 | bl2.formFactor = "Symmetric" | |
1223 | m = Instance.new("SpecialMesh") | |
1224 | m.MeshId = "http://www.roblox.com/asset/?id=20329976" | |
1225 | m.Scale = Vector3.new(1, 6, 1) | |
1226 | m.Parent = bl2 | |
1227 | bl2.Size = Vector3.new(1, 1, 1) | |
1228 | bl2.Anchored = false | |
1229 | bl2.Name = "c" | |
1230 | bl2.CFrame = CFrame.new(C.Position) - Vector3.new(0, 2, 0) | |
1231 | bl2.BrickColor = BrickColor.new("White") | |
1232 | bl2.Parent = CPlayer | |
1233 | coroutine.resume(coroutine.create(function(p) | |
1234 | for i = 1, 20 do | |
1235 | p.Mesh.Scale = p.Mesh.Scale + Vector3.new(6, 0, 6) | |
1236 | p.Transparency = i / 20 | |
1237 | p.CFrame = p.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(3), 0) | |
1238 | wait() | |
1239 | end | |
1240 | p:Remove() | |
1241 | end), bl2) | |
1242 | bl2.Anchored = true | |
1243 | ||
1244 | gg.cframe = gg.cframe * CFrame.fromEulerAnglesXYZ(math.rad(10), -math.rad(10), 0) | |
1245 | expected = 3 | |
1246 | did = false | |
1247 | pooted = 0 | |
1248 | workspace.CurrentCamera.CameraType = "Follow" | |
1249 | sos = game:GetService("RunService").Stepped:connect(function() | |
1250 | pooted = pooted + 1 | |
1251 | if pooted >= expected + 1 then | |
1252 | sos:disconnect() | |
1253 | did = true | |
1254 | return | |
1255 | end | |
1256 | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) | |
1257 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) | |
1258 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-4), math.rad(0), math.rad(0)) | |
1259 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(4), math.rad(0), math.rad(0)) | |
1260 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) | |
1261 | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(5), math.rad(0), math.rad(0)) | |
1262 | ||
1263 | w.C0 = w.C0 * CFrame.fromEulerAnglesXYZ(math.rad(15), 0, 0) | |
1264 | ||
1265 | print(":(") | |
1266 | end) | |
1267 | while did == false do | |
1268 | wait() | |
1269 | end | |
1270 | wait(.3) | |
1271 | expected = 5 | |
1272 | did = false | |
1273 | pooted = 0 | |
1274 | workspace.CurrentCamera.CameraType = "Follow" | |
1275 | sos = game:GetService("RunService").Stepped:connect(function() | |
1276 | pooted = pooted + 1 | |
1277 | if pooted >= expected + 1 then | |
1278 | sos:disconnect() | |
1279 | did = true | |
1280 | return | |
1281 | end | |
1282 | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) | |
1283 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) | |
1284 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(-8)) | |
1285 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(8)) | |
1286 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(5), math.rad(0), math.rad(0)) | |
1287 | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(14), math.rad(0), math.rad(0)) | |
1288 | ||
1289 | w.C0 = w.C0 * CFrame.new(0, 0, -.04) * CFrame.fromEulerAnglesXYZ(math.rad(15), 0, 0) | |
1290 | ||
1291 | print(":(") | |
1292 | end) | |
1293 | while did == false do | |
1294 | wait() | |
1295 | end | |
1296 | expected = 203 | |
1297 | did = false | |
1298 | pooted = 0 | |
1299 | workspace.CurrentCamera.CameraType = "Follow" | |
1300 | sos = game:GetService("RunService").Stepped:connect(function() | |
1301 | pooted = pooted + 1 | |
1302 | if pooted >= expected + 1 then | |
1303 | sos:disconnect() | |
1304 | did = true | |
1305 | return | |
1306 | end | |
1307 | resetWelds(3, { | |
1308 | RightHip, | |
1309 | LeftHip, | |
1310 | RootJoint, | |
1311 | Neck | |
1312 | }) | |
1313 | RightShoulder.C0 = RightShoulderC0 * CFrame.new(math.random(-20, 20) / 200, math.cos(time() * 30), math.random(-20, 20) / 200) * CFrame.fromEulerAnglesXYZ(math.sin(time() * 20) / 3, math.sin(time() * 20) / 5, math.rad(60) - math.cos(time() * 70) * 2) | |
1314 | LeftShoulder.C0 = LeftShoulderC0 * CFrame.new(math.random(-20, 20) / 200, math.cos(time() * 30), math.random(-20, 20) / 200) * CFrame.fromEulerAnglesXYZ(math.sin(time() * 20) / 3, math.sin(time() * 20) / 5, math.rad(-60) + math.sin(time() * 60) * 2) | |
1315 | RightHip.C0 = RightHipC0 * CFrame.fromEulerAnglesXYZ(math.rad(-18), math.rad(0), math.rad(-30)) | |
1316 | LeftHip.C0 = LeftHipC0 * CFrame.fromEulerAnglesXYZ(math.rad(-18), math.rad(0), math.rad(30)) | |
1317 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(20), math.rad(0), math.rad(0)) | |
1318 | RootJoint.C0 = RootJointC0 * CFrame.new(math.random(-20, 20) / 200, math.random(-20, 20) / 200, math.random(-20, 20) / 200) * CFrame.fromEulerAnglesXYZ(math.rad(80), math.rad(0), math.rad(0)) | |
1319 | w.C0 = w.C0 * CFrame.new(math.random(-20, 20) / 2000, math.random(-20, 20) / 2000, math.random(-20, 20) / 2000) * CFrame.fromEulerAnglesXYZ(0, 0, 0) | |
1320 | C.CFrame = C.CFrame + Vector3.new(math.random(-20, 20) / 200, math.random(-20, 20) / 200, math.random(-20, 20) / 200) | |
1321 | ||
1322 | if pooted / 2 == math.floor(pooted / 2) then | |
1323 | p = cPlayer["Right Arm"]:clone() | |
1324 | p.Anchored = true | |
1325 | p.CanCollide = false | |
1326 | p.Parent = workspace | |
1327 | p.Transparency = .5 | |
1328 | game:GetService("Debris"):AddItem(p, .2) | |
1329 | p = cPlayer["Left Arm"]:clone() | |
1330 | p.Anchored = true | |
1331 | p.CanCollide = false | |
1332 | p.Parent = workspace | |
1333 | p.Transparency = .5 | |
1334 | game:GetService("Debris"):AddItem(p, .2) | |
1335 | ||
1336 | p = Instance.new("Part", workspace) | |
1337 | p.Name = "ORB" | |
1338 | p.TopSurface = 0 | |
1339 | p.BottomSurface = 0 | |
1340 | p.formFactor = "Custom" | |
1341 | p.CFrame = cPlayer.Torso.CFrame + cPlayer.Torso.CFrame.lookVector * 3 + Vector3.new(math.random(-20, 20) / 15, math.random(-20, 20) / 15 - .8, math.random(-20, 20) / 15) | |
1342 | m = Instance.new("SpecialMesh", p) | |
1343 | m.MeshType = "Sphere" | |
1344 | p.BrickColor = BrickColor:White() | |
1345 | p.Size = Vector3.new(.4, .4, .4) | |
1346 | p.CanCollide = false | |
1347 | p.Anchored = true | |
1348 | game:GetService("Debris"):AddItem(p, 5) | |
1349 | coroutine.resume(coroutine.create(function(p) | |
1350 | for i = 1, 8 do | |
1351 | p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1, 1, 1) | |
1352 | p.Transparency = i / 8 | |
1353 | wait() | |
1354 | end | |
1355 | p:Remove() | |
1356 | end), p) | |
1357 | ||
1358 | end | |
1359 | ||
1360 | print(":)") | |
1361 | end) | |
1362 | while did == false do | |
1363 | wait() | |
1364 | end | |
1365 | wait(.5) | |
1366 | expected = 20 | |
1367 | did = false | |
1368 | pooted = 0 | |
1369 | workspace.CurrentCamera.CameraType = "Follow" | |
1370 | sos = game:GetService("RunService").Stepped:connect(function() | |
1371 | pooted = pooted + 1 | |
1372 | if pooted >= expected + 1 then | |
1373 | sos:disconnect() | |
1374 | did = true | |
1375 | return | |
1376 | end | |
1377 | resetWelds(3, { | |
1378 | Neck, | |
1379 | RootJoint, | |
1380 | RightHip, | |
1381 | LeftHip | |
1382 | }) | |
1383 | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(2 * pooted), math.rad(0), math.rad(5 * pooted)) | |
1384 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(-9 * pooted)) | |
1385 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(-2)) | |
1386 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(4 * pooted)) | |
1387 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(2), math.rad(0), math.rad(2)) | |
1388 | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) | |
1389 | w.C0 = w.C0 * CFrame.new(0, 0.03, .03) * CFrame.fromEulerAnglesXYZ(math.rad(2), math.rad(2), math.rad(0)) | |
1390 | print(":)") | |
1391 | end) | |
1392 | while did == false do | |
1393 | wait() | |
1394 | end | |
1395 | wait(2) | |
1396 | expected = 5 | |
1397 | did = false | |
1398 | pooted = 0 | |
1399 | workspace.CurrentCamera.CameraType = "Follow" | |
1400 | w.Parent = nil | |
1401 | bodypos.position = cPlayer.Torso.Position - Vector3.new(0, 1, 0) | |
1402 | poo = cPlayer.Torso.CFrame.lookVector | |
1403 | cPlayer.Torso.CFrame = CFrame.new(cPlayer.Torso.Position, cPlayer.Torso.Position + C.CFrame.lookVector * 50) | |
1404 | bodypos.Parent = cPlayer.Torso | |
1405 | sos = game:GetService("RunService").Stepped:connect(function() | |
1406 | pooted = pooted + 1 | |
1407 | if pooted >= expected + 1 then | |
1408 | sos:disconnect() | |
1409 | did = true | |
1410 | return | |
1411 | end | |
1412 | resetWelds(3, {}) | |
1413 | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(80 - pooted * 35)) | |
1414 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(10), math.rad(0), math.rad(-190 + pooted * 28)) | |
1415 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(6), math.rad(0), math.rad(-80 + pooted * 4)) | |
1416 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(8), math.rad(0), math.rad(84 - pooted * 4)) | |
1417 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(20 + pooted * 10), math.rad(0), math.rad(0)) | |
1418 | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, -pooted * .25) * CFrame.fromEulerAnglesXYZ(math.rad(-20 + pooted * 9), math.rad(0), math.rad(0)) | |
1419 | print(":)") | |
1420 | end) | |
1421 | while did == false do | |
1422 | wait() | |
1423 | end | |
1424 | wait(.7) | |
1425 | expected = 5 | |
1426 | did = false | |
1427 | pooted = 0 | |
1428 | sos = game:GetService("RunService").Stepped:connect(function() | |
1429 | pooted = pooted + 1 | |
1430 | if pooted >= expected + 1 then | |
1431 | sos:disconnect() | |
1432 | did = true | |
1433 | return | |
1434 | end | |
1435 | resetWelds(3, {}) | |
1436 | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0.05 * pooted, 0) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 2), math.rad(0), math.rad(pooted * 6)) | |
1437 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 2), math.rad(0), math.rad(-pooted * 6)) | |
1438 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(-57 + pooted * 20)) | |
1439 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(57 - pooted * 20)) | |
1440 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 4), math.rad(0), math.rad(0)) | |
1441 | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, -.1 * pooted) * CFrame.fromEulerAnglesXYZ(math.rad(-57 + pooted * 20), math.rad(0), math.rad(0)) | |
1442 | print(":(") | |
1443 | end) | |
1444 | while did == false do | |
1445 | wait() | |
1446 | end | |
1447 | wait(.2) | |
1448 | expected = 10 | |
1449 | did = false | |
1450 | pooted = 0 | |
1451 | workspace.CurrentCamera.CameraType = "Follow" | |
1452 | g = Instance.new("BodyGyro") | |
1453 | g.Parent = cPlayer.Torso | |
1454 | sos = game:GetService("RunService").Stepped:connect(function() | |
1455 | pooted = pooted + 1 | |
1456 | if pooted >= expected + 1 then | |
1457 | sos:disconnect() | |
1458 | did = true | |
1459 | return | |
1460 | end | |
1461 | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-2), math.rad(0), math.rad(-2)) | |
1462 | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(1), math.rad(0), math.rad(2)) | |
1463 | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1), math.rad(0), math.rad(-4)) | |
1464 | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1), math.rad(0), math.rad(4)) | |
1465 | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-7), math.rad(0), math.rad(0)) | |
1466 | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, .05) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) | |
1467 | if pooted >= 2 then | |
1468 | bodypos.position = bodypos.position + Vector3.new(0, 12, 0) - dir * 5 | |
1469 | cPlayer.Torso.CFrame = cPlayer.Torso.CFrame + Vector3.new(0, 12, 0) - dir * 5 | |
1470 | end | |
1471 | print(":(") | |
1472 | end) | |
1473 | while did == false do | |
1474 | wait() | |
1475 | end | |
1476 | wait(.2) | |
1477 | bodypos:Remove() | |
1478 | wait(.5) | |
1479 | ||
1480 | e = Instance.new("Explosion") | |
1481 | e.BlastRadius = 30 | |
1482 | e.Position = C.Position | |
1483 | e.BlastPressure = e.BlastPressure * 2.5 | |
1484 | e.Parent = workspace | |
1485 | s = Instance.new("Sound", C) | |
1486 | s.SoundId = "rbxassetid://258057783" | |
1487 | s.Volume = 1 | |
1488 | s:Play() | |
1489 | Instance.new("DistortionSoundEffect", s).Level = 1 | |
1490 | g:Remove() | |
1491 | --dun | |
1492 | nubhit.Torso.Anchored = false | |
1493 | Hum.PlatformStand = false | |
1494 | C.Anchored = true | |
1495 | ||
1496 | coroutine.resume(coroutine.create(function(t) | |
1497 | wait(3) | |
1498 | p = Instance.new("Sound") | |
1499 | p.SoundId = "http://www.roblox.com/asset/?id=154677261" | |
1500 | p.Parent = t | |
1501 | p.Volume = 1 | |
1502 | p:Play() | |
1503 | end), C) | |
1504 | game:GetService("Debris"):AddItem(LOL, 5) | |
1505 | end | |
1506 | resetWelds(3, {}) | |
1507 | workspace.CurrentCamera.CameraType = "Custom" | |
1508 | Hum.WalkSpeed = 16 | |
1509 | Hum.Name = "Humanoid" | |
1510 | bodypos:Remove() | |
1511 | partpos:Remove() | |
1512 | Anim.Parent = nil | |
1513 | wait(.1) | |
1514 | Anim.Disabled = false | |
1515 | Anim.Parent = cPlayer | |
1516 | deb = true | |
1517 | end | |
1518 | ||
1519 | Tool = Instance.new("HopperBin") | |
1520 | Tool.Name = "ROAD ROLLER DA" | |
1521 | Tool.Parent = game.Players.LocalPlayer.Backpack | |
1522 | Tool.Selected:connect(function(mouse) | |
1523 | mouse.Button1Down:connect(function() | |
1524 | doitdocdoit() | |
1525 | end) | |
1526 | end) | |
1527 | ||
1528 | end |