SHOW:
|
|
- or go back to the newest paste.
1 | ||
2 | ||
3 | ||
4 | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end | |
5 | local Player,game,owner = owner,game | |
6 | local RealPlayer = Player | |
7 | do | |
8 | print("FE Compatibility code by Mokiros") | |
9 | local rp = RealPlayer | |
10 | script.Parent = rp.Character | |
11 | ||
12 | --RemoteEvent for communicating | |
13 | local Event = Instance.new("RemoteEvent") | |
14 | Event.Name = "UserInput_Event" | |
15 | ||
16 | --Fake event to make stuff like Mouse.KeyDown work | |
17 | local function fakeEvent() | |
18 | local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end} | |
19 | t.connect = t.Connect | |
20 | return t | |
21 | end | |
22 | ||
23 | --Creating fake input objects with fake variables | |
24 | local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()} | |
25 | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} | |
26 | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) | |
27 | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil | |
28 | end} | |
29 | --Merged 2 functions into one by checking amount of arguments | |
30 | CAS.UnbindAction = CAS.BindAction | |
31 | ||
32 | --This function will trigger the events that have been :Connect()'ed | |
33 | local function te(self,ev,...) | |
34 | local t = m[ev] | |
35 | if t and t._fakeEvent then | |
36 | for _,f in pairs(t.Functions) do | |
37 | f(...) | |
38 | end | |
39 | end | |
40 | end | |
41 | m.TrigEvent = te | |
42 | UIS.TrigEvent = te | |
43 | ||
44 | Event.OnServerEvent:Connect(function(plr,io) | |
45 | if plr~=rp then return end | |
46 | m.Target = io.Target | |
47 | m.Hit = io.Hit | |
48 | if not io.isMouse then | |
49 | local b = io.UserInputState == Enum.UserInputState.Begin | |
50 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
51 | return m:TrigEvent(b and "Button1Down" or "Button1Up") | |
52 | end | |
53 | if io.UserInputType == Enum.UserInputType.MouseButton2 then | |
54 | return m:TrigEvent(b and "Button2Down" or "Button2Up") | |
55 | end | |
56 | for _,t in pairs(CAS.Actions) do | |
57 | for _,k in pairs(t.Keys) do | |
58 | if k==io.KeyCode then | |
59 | t.Function(t.Name,io.UserInputState,io) | |
60 | - | local You = "Subaru112" local head = workspace[You].Head:Clone() local model = Instance.new("Model",char) local humanoid = Instance.new("Humanoid",model) head.Parent = model model.Name = "ROBLOX" humanoid.MaxHealth = 0 local w = Instance.new("Weld",model) w.Part0,w.Part1 = workspace[You].Head,head |
60 | + | end |
61 | end | |
62 | end | |
63 | m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) | |
64 | UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false) | |
65 | end | |
66 | end) | |
67 | Event.Parent = NLS([==[ | |
68 | local Player = game:GetService("Players").LocalPlayer | |
69 | local Event = script:WaitForChild("UserInput_Event") | |
70 | local Mouse = Player:GetMouse() | |
71 | local UIS = game:GetService("UserInputService") | |
72 | local input = function(io,a) | |
73 | if a then return end | |
74 | --Since InputObject is a client-side instance, we create and pass table instead | |
75 | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target}) | |
76 | end | |
77 | UIS.InputBegan:Connect(input) | |
78 | UIS.InputEnded:Connect(input) | |
79 | local h,t | |
80 | --Give the server mouse data 30 times every second, but only if the values changed | |
81 | --If player is not moving their mouse, client won't fire events | |
82 | while wait(1/30) do | |
83 | if h~=Mouse.Hit or t~=Mouse.Target then | |
84 | h,t=Mouse.Hit,Mouse.Target | |
85 | Event:FireServer({isMouse=true,Target=t,Hit=h}) | |
86 | end | |
87 | end]==],Player.Character) | |
88 | ||
89 | ----Sandboxed game object that allows the usage of client-side methods and services | |
90 | --Real game object | |
91 | local _rg = game | |
92 | ||
93 | --Metatable for fake service | |
94 | local fsmt = { | |
95 | __index = function(self,k) | |
96 | local s = rawget(self,"_RealService") | |
97 | if s then | |
98 | return typeof(s[k])=="function" | |
99 | and function(_,...)return s[k](s,...)end or s[k] | |
100 | end | |
101 | end, | |
102 | __newindex = function(self,k,v) | |
103 | local s = rawget(self,"_RealService") | |
104 | if s then s[k]=v end | |
105 | end | |
106 | } | |
107 | local function FakeService(t,RealService) | |
108 | t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService | |
109 | return setmetatable(t,fsmt) | |
110 | end | |
111 | ||
112 | --Fake game object | |
113 | local g = { | |
114 | GetService = function(self,s) | |
115 | return rawget(self,s) or _rg:GetService(s) | |
116 | end, | |
117 | Players = FakeService({ | |
118 | LocalPlayer = FakeService({GetMouse=function(self)return m end},Player) | |
119 | },"Players"), | |
120 | UserInputService = FakeService(UIS,"UserInputService"), | |
121 | ContextActionService = FakeService(CAS,"ContextActionService"), | |
122 | RunService = FakeService({ | |
123 | _btrs = {}, | |
124 | RenderStepped = _rg:GetService("RunService").Heartbeat, | |
125 | BindToRenderStep = function(self,name,_,fun) | |
126 | self._btrs[name] = self.Heartbeat:Connect(fun) | |
127 | end, | |
128 | UnbindFromRenderStep = function(self,name) | |
129 | self._btrs[name]:Disconnect() | |
130 | end, | |
131 | },"RunService") | |
132 | } | |
133 | rawset(g.Players,"localPlayer",g.Players.LocalPlayer) | |
134 | g.service = g.GetService | |
135 | FakeService(g,game) | |
136 | --Changing owner to fake player object to support owner:GetMouse() | |
137 | game,owner = g,g.Players.LocalPlayer | |
138 | end plr = game.Players.LocalPlayer | |
139 | char = plr.Character | |
140 | ||
141 | -- Music | |
142 | local music = Instance.new("Sound",char) | |
143 | music.SoundId = "rbxassetid://1030796589" | |
144 | music.Volume = 1 | |
145 | music:Play() | |
146 | music.Looped = true | |
147 | ||
148 | --Remove | |
149 | for _, child in pairs(char:GetChildren()) do | |
150 | if child.ClassName == 'CharacterMesh' then | |
151 | child:Destroy() | |
152 | end | |
153 | end | |
154 | wait(0.1) | |
155 | local torso = Instance.new("CharacterMesh", game.Workspace) | |
156 | torso.BodyPart = "Torso" | |
157 | torso.MeshId = "82907945" | |
158 | torso.Parent = char | |
159 | ||
160 | local lleg = Instance.new("CharacterMesh", game.Workspace) | |
161 | lleg.BodyPart = "LeftLeg" | |
162 | lleg.MeshId = "81487640" | |
163 | lleg.Parent = char | |
164 | ||
165 | local rleg = Instance.new("CharacterMesh", game.Workspace) | |
166 | rleg.BodyPart = "RightLeg" | |
167 | rleg.MeshId = "81487710" | |
168 | rleg.Parent = char | |
169 | ||
170 | local larm = Instance.new("CharacterMesh", game.Workspace) | |
171 | larm.BodyPart = "LeftArm" | |
172 | larm.MeshId = "82907977" | |
173 | larm.Parent = char | |
174 | ||
175 | local rarm = Instance.new("CharacterMesh", game.Workspace) | |
176 | rarm.BodyPart = "RightArm" | |
177 | rarm.MeshId = "82908019" | |
178 | rarm.Parent = char | |
179 | ||
180 | shirt = char.Shirt | |
181 | shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=607785311" | |
182 | pants = char.Pants | |
183 | pants.PantsTemplate = "http://www.roblox.com/asset/?id=348211416" | |
184 | ||
185 | -- Color | |
186 | local bdycolors = char["Body Colors"] | |
187 | bdycolors.HeadColor = BrickColor.new("Lily white") | |
188 | bdycolors.LeftArmColor = BrickColor.new("Lily white") | |
189 | bdycolors.RightArmColor = BrickColor.new("Lily white") | |
190 | bdycolors.LeftLegColor = BrickColor.new("Lily white") | |
191 | bdycolors.RightLegColor = BrickColor.new("Lily white") | |
192 | bdycolors.TorsoColor = BrickColor.new("Lily white") | |
193 | ||
194 | char.Head.face.Texture = "http://www.roblox.com/asset/?id=288072938" | |
195 | ||
196 | ||
197 | local You = "retram" local head = workspace[You].Head:Clone() local model = Instance.new("Model",char) local humanoid = Instance.new("Humanoid",model) head.Parent = model model.Name = "ROBLOX" humanoid.MaxHealth = 0 local w = Instance.new("Weld",model) w.Part0,w.Part1 = workspace[You].Head,head | |
198 | ||
199 | char["Head"].Transparency = 1 | |
200 | ||
201 | char.Head.face.Texture = "http://www.roblox.com/asset/?id=0" | |
202 | ||
203 | char.Humanoid.WalkSpeed = 30 | |
204 | char.Humanoid.JumpPower = 50 | |
205 | ||
206 | b = Instance.new("Hat") | |
207 | e = Instance.new("Part") | |
208 | b.Name = "hammer" | |
209 | e.Parent = b | |
210 | e.Position = char.Head.Position | |
211 | e.Name = "Handle" | |
212 | e.formFactor = 0 | |
213 | e.Size = Vector3.new(1, 4, 1) | |
214 | e.BottomSurface = 0 | |
215 | e.TopSurface = 0 | |
216 | e.Locked = true | |
217 | q = Instance.new("SpecialMesh") | |
218 | q.Parent= e | |
219 | - | bin=Instance.new('HopperBin',game.Players.Subaru112.Backpack) |
219 | + | |
220 | q.MeshId = "rbxassetid://10604848" | |
221 | q.TextureId = "rbxassetid://10605252" | |
222 | q.Scale = Vector3.new(0.5, 0.5, 0.5) | |
223 | b.Parent = char | |
224 | b.AttachmentPos = Vector3.new(0.903, 2.039, -1.26) | |
225 | b.AttachmentUp = Vector3.new(0.124, 0.851, -0.51) | |
226 | b.AttachmentRight = Vector3.new(0.073, 0.505, 0.86) | |
227 | b.AttachmentForward = Vector3.new(0.99, -0.144, 0) | |
228 | ||
229 | a = Instance.new("Hat") | |
230 | r = Instance.new("Part") | |
231 | a.Name = "arm" | |
232 | r.Parent = a | |
233 | r.Position = char.Head.Position | |
234 | r.Name = "Handle" | |
235 | r.formFactor = 0 | |
236 | r.Size = Vector3.new(1, 2, 1) | |
237 | r.BottomSurface = 0 | |
238 | r.TopSurface = 0 | |
239 | r.Locked = true | |
240 | r.Transparency = 1 | |
241 | t = Instance.new("SpecialMesh") | |
242 | t.Parent= r | |
243 | t.MeshType = "FileMesh" | |
244 | t.MeshId = "rbxassetid://82907977" | |
245 | t.TextureId = "rbxassetid://607785311" | |
246 | t.Scale = Vector3.new(1, 1, 1) | |
247 | a.Parent = char | |
248 | a.AttachmentPos = Vector3.new(1.257, -0.169, -1.422) | |
249 | a.AttachmentUp = Vector3.new(-0, -0, -1) | |
250 | a.AttachmentRight = Vector3.new(0.594, -0.805, 0) | |
251 | a.AttachmentForward = Vector3.new(-0.805, -0.594, 0) | |
252 | ||
253 | --Hat Remove | |
254 | for _, child in pairs(char:GetChildren()) do | |
255 | if child.ClassName == 'Accessory' then | |
256 | child:Destroy() | |
257 | end | |
258 | end | |
259 | ||
260 | ||
261 | --Instance.new | |
262 | local Tool = Instance.new("Tool", game.Workspace) | |
263 | Tool.Name = "banhammer" | |
264 | local Handle = Instance.new("Part", Tool) | |
265 | Handle.Name = "Handle" | |
266 | Handle.Size = Vector3.new(1, 4, 1) | |
267 | local Mesh = Instance.new("SpecialMesh", Handle) | |
268 | Mesh.MeshType = "FileMesh" | |
269 | Mesh.MeshId = "http://www.roblox.com/asset/?id=10604848" | |
270 | Mesh.Scale = Vector3.new(0.5, 0.5, 0.5) | |
271 | Mesh.TextureId = "http://www.roblox.com/asset/?id=10605252" | |
272 | Tool.GripPos = Vector3.new(0, -1.173, 0) | |
273 | Tool.Parent = plr.Backpack | |
274 | --Sound | |
275 | local what = Instance.new("Sound", Handle) | |
276 | local ban = Instance.new("Sound", Handle) | |
277 | local alarm = Instance.new("Sound", Handle) | |
278 | what.SoundId = "rbxassetid://948494432" | |
279 | ban.SoundId = "rbxassetid://147722910" | |
280 | alarm.SoundId = "rbxassetid://176820116" | |
281 | ||
282 | Tool.Equipped:connect(function() | |
283 | what:Play() | |
284 | char.hammer.Handle.Transparency = 1 | |
285 | char.arm.Handle.Transparency = 0 | |
286 | char["Left Arm"].Transparency = 1 | |
287 | end) | |
288 | ||
289 | Tool.Unequipped:connect(function() | |
290 | char.hammer.Handle.Transparency = 0 | |
291 | char.arm.Handle.Transparency = 1 | |
292 | char["Left Arm"].Transparency = 0 | |
293 | end) | |
294 | ||
295 | Tool.Activated:connect(function() | |
296 | alarm:Play() | |
297 | function onTouched(brick) | |
298 | local humn = brick.Parent:FindFirstChildOfClass("Humanoid") | |
299 | if humn then | |
300 | for i,v in pairs(humn.Parent:GetChildren()) do | |
301 | if v.ClassName == "Part" then | |
302 | humn:Destroy() | |
303 | v:Destroy() | |
304 | ban:Play() | |
305 | end | |
306 | end | |
307 | end | |
308 | end | |
309 | char.banhammer.Handle.Touched:connect(onTouched) | |
310 | end) | |
311 | ||
312 | Tool.Activated:connect(function() | |
313 | alarm:Play() | |
314 | function onTouched(brick) | |
315 | local humn = brick.Parent:FindFirstChildOfClass("MeshPart") | |
316 | if humn then | |
317 | for i,v in pairs(humn.Parent:GetChildren()) do | |
318 | if v.ClassName == "MeshPart" then | |
319 | v:Destroy() | |
320 | end | |
321 | end | |
322 | end | |
323 | end | |
324 | char.banhammer.Handle.Touched:connect(onTouched) | |
325 | end) | |
326 | ||
327 | ||
328 | h = Instance.new("Hat") | |
329 | p = Instance.new("Part") | |
330 | h.Name = "Hat" | |
331 | p.Parent = h | |
332 | p.Position = char.Head.Position | |
333 | p.Name = "Handle" | |
334 | p.formFactor = 0 | |
335 | p.Size = Vector3.new(1.2, 0.8, 1.4) | |
336 | p.BottomSurface = 0 | |
337 | p.TopSurface = 0 | |
338 | p.Locked = true | |
339 | m = Instance.new("SpecialMesh") | |
340 | m.Parent= p | |
341 | m.MeshType = "FileMesh" | |
342 | m.MeshId = "http://www.roblox.com/asset?id=71483350" | |
343 | m.TextureId = "http://www.roblox.com/asset/?id=607698990" | |
344 | m.Scale = Vector3.new(0.66, 0.66, 0.66) | |
345 | h.Parent = char | |
346 | h.AttachmentPos = Vector3.new(0, -0.075, 0.2) | |
347 | h.AttachmentUp = Vector3.new(0, 1, 0) | |
348 | h.AttachmentRight = Vector3.new(1, 0, 0) | |
349 | h.AttachmentForward = Vector3.new(0, 0, -1) | |
350 | ||
351 | plr = game.Players.LocalPlayer | |
352 | char = plr.Character | |
353 | ||
354 | ||
355 | if not (script.Parent:IsA('HopperBin')) then | |
356 | bin=Instance.new('HopperBin',game.Players.retram.Backpack) | |
357 | bin.Name='Fly' | |
358 | script.Parent=bin | |
359 | else | |
360 | bin=script.Parent | |
361 | end | |
362 | player=bin.Parent.Parent | |
363 | debris=game:service('Debris') | |
364 | new=Instance.new | |
365 | fnew=CFrame.new | |
366 | brick=BrickColor.new | |
367 | vnew=Vector3.new | |
368 | rot=CFrame.fromEulerAnglesXYZ | |
369 | if script.className~='LocalScript'then | |
370 | bin:remove() | |
371 | end | |
372 | T=new('Sound') | |
373 | T.SoundId='rbxassetid://2101157' | |
374 | T.Pitch=.4 | |
375 | motors={ | |
376 | right={}, | |
377 | left={}, | |
378 | mains={} | |
379 | } | |
380 | X=function(f)coroutine.resume(coroutine.create(f))end | |
381 | life=function(obj,time)debris:AddItem(obj,time)end | |
382 | local bv,bg,torso,Lmotor,Rmotor,head | |
383 | fly=250 | |
384 | findt=function() | |
385 | for i,v in pairs(player.Character:children())do | |
386 | if v.Name=='Torso'then | |
387 | return v | |
388 | end | |
389 | end | |
390 | end | |
391 | wing=function() | |
392 | torso=player.Character.Torso | |
393 | for i,v in pairs(torso.Parent:children())do | |
394 | if v.Name=='WingMain'then | |
395 | v:remove() | |
396 | end | |
397 | end | |
398 | mainwingpart=new('WedgePart') | |
399 | mainwingpart.Name='WingMain' | |
400 | mainwingpart.CanCollide=false | |
401 | mainwingpart.Size=vnew(1,1,1) | |
402 | mainwingpart.Transparency=1 | |
403 | mainwingpart.BrickColor=BrickColor.White() | |
404 | mainwingpart.Parent=player.Character | |
405 | weld=new('Weld',torso) | |
406 | weld.Part0=weld.Parent | |
407 | weld.Part1=mainwingpart | |
408 | weld.C0=fnew(0,.4,0) | |
409 | WingRight=new('WedgePart') | |
410 | WingRight.formFactor=3 | |
411 | WingRight.Size=vnew(.04,.3,.5) | |
412 | WingRight.CanCollide=false | |
413 | WingRight.BrickColor=BrickColor.White() | |
414 | WingRight.Parent=mainwingpart | |
415 | Rmotor=new('Motor',mainwingpart) | |
416 | Rmotor.Part0=Rmotor.Parent | |
417 | Rmotor.Part1=WingRight | |
418 | Rmotor.C1=rot(0,math.pi/1.5,0)+vnew(-.18,-.10,.8) | |
419 | nextpp=nil | |
420 | dan=-2 | |
421 | for w=1,15 do | |
422 | wait() | |
423 | dan=dan+1 | |
424 | pp=new('WedgePart') | |
425 | pp.Locked=true | |
426 | pp.BrickColor=BrickColor.White() | |
427 | pp.formFactor=3 | |
428 | if w==1 then | |
429 | pp.Size=vnew(.3,2.5,.8) | |
430 | else | |
431 | pp.Size=vnew(.3,1/(w/5),2/w) | |
432 | end | |
433 | pp.CanCollide=false | |
434 | pp.BrickColor=BrickColor.White() | |
435 | pp.CFrame=WingRight.CFrame | |
436 | pp.Material='Slate' | |
437 | pp.Parent=WingRight | |
438 | if dan==1 then | |
439 | dan=0 | |
440 | asdlal=new('WedgePart') | |
441 | asdlal.BrickColor=BrickColor.White() | |
442 | asdlal.formFactor=3 | |
443 | asdlal.Size=vnew(.25,pp.Size.y,15/w) | |
444 | for lawlz,Evil in pairs(Evil)do | |
445 | if player.Name==Evil then | |
446 | asdlal:remove() | |
447 | asdlal=new('WedgePart') | |
448 | asdlal.formFactor=3 | |
449 | asdlal.BrickColor=BrickColor.White() | |
450 | asdlal.Size=vnew(.25,.8,15/w) | |
451 | end | |
452 | end | |
453 | asdlal.Locked=true | |
454 | asdlal.CanCollide=false | |
455 | asdlal.Material='Slate' | |
456 | asdlal.Parent=pp | |
457 | mmm=new('Motor',pp) | |
458 | mmm.Part0=pp | |
459 | mmm.Part1=asdlal | |
460 | mmm.C0=fnew(0,0,-asdlal.Size.z/2) | |
461 | end | |
462 | if w==1 then | |
463 | ppmotor=new('Motor',WingRight) | |
464 | else | |
465 | ppmotor=new('Motor',nextpp) | |
466 | end | |
467 | table.insert(motors.right,ppmotor) | |
468 | ppmotor.Part0=ppmotor.Parent | |
469 | ppmotor.Part1=pp | |
470 | if w==1 then | |
471 | ppmotor.C0=rot(-.04,-math.pi/6,0)+vnew(.3,0,-.1) | |
472 | else | |
473 | ppmotor.C0=rot(-.1/(w/7),-.07,0)+vnew(0,pp.Size.y,0) | |
474 | end | |
475 | nextpp=pp | |
476 | end | |
477 | WingLeft=new('WedgePart') | |
478 | WingLeft.formFactor=3 | |
479 | WingLeft.Size=vnew(.04,.3,.5) | |
480 | WingLeft.CanCollide=false | |
481 | WingLeft.BrickColor=BrickColor.White() | |
482 | WingLeft.Parent=mainwingpart | |
483 | Lmotor=new('Motor',mainwingpart) | |
484 | Lmotor.Part0=Lmotor.Parent | |
485 | Lmotor.Part1=WingLeft | |
486 | Lmotor.C1=rot(0,-math.pi/1.5,0)+vnew(0.18,-.10,.8) | |
487 | nextpp=nil | |
488 | dan=-2 | |
489 | for w=1,15 do | |
490 | wait() | |
491 | dan=dan+1 | |
492 | pp=new('WedgePart') | |
493 | pp.Locked=true | |
494 | pp.BrickColor=BrickColor.White() | |
495 | pp.formFactor=3 | |
496 | if w==1 then | |
497 | pp.Size=vnew(.3,2.5,.8) | |
498 | else | |
499 | pp.Size=vnew(.3,1/(w/5),2/w) | |
500 | end | |
501 | pp.CanCollide=false | |
502 | pp.BrickColor=BrickColor.White() | |
503 | pp.CFrame=WingLeft.CFrame | |
504 | pp.Material='Slate' | |
505 | pp.Parent=WingLeft | |
506 | if dan==1 then | |
507 | dan=0 | |
508 | asdlal=new('WedgePart') | |
509 | asdlal.BrickColor=BrickColor.White() | |
510 | asdlal.formFactor=3 | |
511 | asdlal.Size=vnew(.25,pp.Size.y,15/w) | |
512 | for lawlz,Evil in pairs(Evil)do | |
513 | if player.Name==Evil then | |
514 | asdlal:remove() | |
515 | asdlal=new('WedgePart') | |
516 | asdlal.formFactor=3 | |
517 | asdlal.BrickColor=BrickColor.White() | |
518 | asdlal.Size=vnew(.25,.8,15/w) | |
519 | end | |
520 | end | |
521 | asdlal.Locked=true | |
522 | asdlal.CanCollide=false | |
523 | asdlal.Material='Slate' | |
524 | asdlal.Parent=pp | |
525 | mmm=new('Motor',pp) | |
526 | mmm.Part0=pp | |
527 | mmm.Part1=asdlal | |
528 | mmm.C0=fnew(0,0,-asdlal.Size.z/2) | |
529 | end | |
530 | if w==1 then | |
531 | ppmotor=new('Motor',WingLeft) | |
532 | else | |
533 | ppmotor=new('Motor',nextpp) | |
534 | end | |
535 | ppmotor.Part0=ppmotor.Parent | |
536 | table.insert(motors.left,ppmotor) | |
537 | ppmotor.Part1=pp | |
538 | if w==1 then | |
539 | ppmotor.C0=rot(-.04,math.pi/6,0)+vnew(-.3,0,-.1) | |
540 | else | |
541 | ppmotor.C0=rot(-.1/(w/7),.07,0)+vnew(0,pp.Size.y,0) | |
542 | end | |
543 | nextpp=pp | |
544 | end | |
545 | X(function() | |
546 | for i,v in pairs(motors.right)do | |
547 | v.C1=rot(.1,0,0) | |
548 | wait() | |
549 | end | |
550 | for i,v in pairs(motors.right)do | |
551 | v.C1=rot(0,-.1,-.1) | |
552 | wait() | |
553 | end | |
554 | end) | |
555 | X(function() | |
556 | for i,v in pairs(motors.left)do | |
557 | v.C1=rot(.1,0,0) | |
558 | wait() | |
559 | end | |
560 | for i,v in pairs(motors.left)do | |
561 | v.C1=rot(0,.1,.1) | |
562 | wait() | |
563 | end | |
564 | end) | |
565 | X(function() | |
566 | for i,v in pairs(motors.right)do | |
567 | v.C1=rot(.1,0,0) | |
568 | wait() | |
569 | end | |
570 | for i,v in pairs(motors.right)do | |
571 | v.C1=rot(0,-.1,0) | |
572 | wait() | |
573 | end | |
574 | end) | |
575 | X(function() | |
576 | for i,v in pairs(motors.left)do | |
577 | v.C1=rot(.1,0,0) | |
578 | wait() | |
579 | end | |
580 | for i,v in pairs(motors.left)do | |
581 | v.C1=rot(0,.1,0) | |
582 | wait() | |
583 | end | |
584 | end) | |
585 | Rmotor.MaxVelocity=.1 | |
586 | Lmotor.MaxVelocity=.1 | |
587 | Lmotor.DesiredAngle=.8 | |
588 | Rmotor.DesiredAngle=-.8 | |
589 | end | |
590 | leftarm=function(bool) | |
591 | X(function() | |
592 | newlarm=new('Motor6D') | |
593 | newlarm.Name='Left Shoulder' | |
594 | newlarm.Parent=player.Character.Torso | |
595 | newlarm.Part0=player.Character.Torso | |
596 | newlarm.Part1=player.Character['Left Arm'] | |
597 | wait()--hmm | |
598 | newlarm.C0=fnew(-1,.5,0,0,0,-1,0,1,0,1,0,0) | |
599 | newlarm.C1=fnew(.5,.5,0,0,0,-1,0,1,0,1,0,0) | |
600 | if bool==false then return newlarm end | |
601 | an=player.Character.Animate | |
602 | an.Disabled=true | |
603 | an.Disabled=false | |
604 | end) | |
605 | return newlarm | |
606 | end | |
607 | Name=function() | |
608 | name='' | |
609 | for LA=1,3 do | |
610 | name=name..string.char(math.random(0,255)) | |
611 | end | |
612 | return name | |
613 | end | |
614 | Lazer=function(m)wllwlw=false | |
615 | for i,v in pairs(Evil)do | |
616 | if v==player.Name then | |
617 | wllwlw=true break | |
618 | end | |
619 | end | |
620 | if wllwlw==false then return end | |
621 | if asdTroll~=nil then return end | |
622 | asdTroll='asd' | |
623 | rarm=rightarm(false) | |
624 | rarm.MaxVelocity=.2 | |
625 | rarm.DesiredAngle=math.rad(110) | |
626 | larm=leftarm(false) | |
627 | larm.MaxVelocity=.2 | |
628 | larm.DesiredAngle=-math.rad(110) | |
629 | lball=new('Part') | |
630 | life(lball,10) | |
631 | lball.Shape=0 | |
632 | lball.Size=vnew(1,1,1) | |
633 | lball.CanCollide=false | |
634 | lball.BottomSurface=0 | |
635 | lball.TopSurface=0 | |
636 | lball.Transparency=.5 | |
637 | lball.BrickColor=BrickColor.White() | |
638 | for i,v in pairs(Evil)do | |
639 | if player.Name==v then | |
640 | lball.BrickColor=BrickColor.White() | |
641 | end | |
642 | end | |
643 | lball.Parent=player.Character | |
644 | lweld=new('Weld',larm.Part1) | |
645 | lweld.Part0=lweld.Parent | |
646 | lweld.Part1=lball | |
647 | lweld.C0=fnew(0,-4,0) | |
648 | rball=new('Part') | |
649 | life(rball,10) | |
650 | rball.Shape=0 | |
651 | rball.Size=vnew(1,1,1) | |
652 | rball.Transparency=.5 | |
653 | rball.CanCollide=false | |
654 | rball.BottomSurface=0 | |
655 | rball.TopSurface=0 | |
656 | rball.BrickColor=BrickColor.White() | |
657 | for i,v in pairs(Evil)do | |
658 | if player.Name==v then | |
659 | rball.BrickColor=BrickColor.White() | |
660 | end | |
661 | end | |
662 | rball.Parent=player.Character | |
663 | rweld=new('Weld',rarm.Part1) | |
664 | rweld.Part0=rweld.Parent | |
665 | rweld.Part1=rball | |
666 | rweld.C0=fnew(0,-4,0) | |
667 | X(function() | |
668 | X(function() | |
669 | for KG=1,157 do wait() | |
670 | part=new('Part') | |
671 | life(part,.2) | |
672 | part.Transparency=.3 | |
673 | asdrandom=(math.random(5,20)/10)+KG/40 | |
674 | new('BlockMesh',part).Scale=vnew(asdrandom,asdrandom,asdrandom) | |
675 | part.Size=vnew(1,1,1) | |
676 | part.Anchored=true | |
677 | part.CFrame=rot(math.rad(math.random(0,360)),math.rad(math.random(0,360)),math.rad(math.random(0,360)))+lball.Position | |
678 | part.Name='asd' | |
679 | part.BrickColor=BrickColor.White() | |
680 | for i,v in pairs(Evil)do | |
681 | if player.Name==v then | |
682 | part.BrickColor=BrickColor.White() | |
683 | end | |
684 | end | |
685 | part.Parent=lball | |
686 | end | |
687 | end) | |
688 | for KG2=1,157 do wait() | |
689 | part=new('Part') | |
690 | life(part,.2) | |
691 | part.Transparency=.3 | |
692 | asdrandom=(math.random(5,20)/10)+KG2/40 | |
693 | new('BlockMesh',part).Scale=vnew(asdrandom,asdrandom,asdrandom) | |
694 | part.Size=vnew(1,1,1) | |
695 | part.Anchored=true | |
696 | part.CFrame=rot(math.rad(math.random(0,360)),math.rad(math.random(0,360)),math.rad(math.random(0,360)))+rball.Position | |
697 | part.Name='asd' | |
698 | part.BrickColor=BrickColor.White() | |
699 | for i,v in pairs(Evil)do | |
700 | if player.Name==v then | |
701 | part.BrickColor=BrickColor.White() | |
702 | end | |
703 | end | |
704 | part.Parent=rball | |
705 | end | |
706 | rball:remove() | |
707 | lball:remove() | |
708 | rightarm(true) | |
709 | leftarm(true) | |
710 | asdTroll=nil | |
711 | for wasd=1,200 do | |
712 | if pp~=nil then pp:remove()end | |
713 | if asdTroll~=nil then return end | |
714 | pos=m.Hit.p | |
715 | pp=new('WedgePart') | |
716 | life(pp,.1) | |
717 | pp.formFactor=3 | |
718 | pp.BrickColor=BrickColor.White() | |
719 | pp.Transparency=.2 | |
720 | pp.Size=vnew(6,1000,6) | |
721 | pp.CFrame=CFrame.new(pos.x,pos.y+(pp.Size.y/2),pos.z)+vnew(math.random(-3,3),0,math.random(-3,3)) | |
722 | exp=Instance.new('Explosion') | |
723 | exp.Position=pos+vnew(math.random(-3,3),0,math.random(-3,3)) | |
724 | exp.BlastRadius=30 | |
725 | exp.Parent=workspace | |
726 | Join=new('Part') | |
727 | Join.formFactor=0 | |
728 | Join.Size=vnew(1,1,1) | |
729 | new('SpecialMesh',Join).MeshType='Sphere' | |
730 | Join.Mesh.Scale=vnew(60,60,60) | |
731 | Join.Anchored=true | |
732 | Join.BottomSurface=0 | |
733 | Join.TopSurface=0 | |
734 | Join.BrickColor=BrickColor.White() | |
735 | Join.Transparency=.5 | |
736 | Join.CFrame=rot(0,math.rad(3.6*wasd)*2,0)+pos+vnew(math.random(-3,3),0,math.random(-3,3)) | |
737 | Join.Parent=pp | |
738 | pJoin=new('Part') | |
739 | life(pJoin,.4) | |
740 | new('BlockMesh',pJoin).Scale=vnew(10,10,10)+vnew((wasd/30),(wasd/30),(wasd/30)) | |
741 | pJoin.formFactor=0 | |
742 | pJoin.Size=vnew(1,1,1) | |
743 | pJoin.Anchored=true | |
744 | pJoin.BrickColor=BrickColor.White() | |
745 | pJoin.Transparency=.5 | |
746 | pJoin.CFrame=rot(math.rad(math.random(0,360)),math.rad(math.random(0,360)),math.rad(math.random(0,360)))+pos+vnew(math.random(-3,3),0,math.random(-3,3)) | |
747 | pJoin.Parent=workspace | |
748 | pp.Parent=player.Character | |
749 | wait() | |
750 | pp.BrickColor=BrickColor.White() | |
751 | end | |
752 | end) | |
753 | -- rightarm(true) | |
754 | end | |
755 | rightarm=function(bool) | |
756 | if pcall(function() | |
757 | newrarm=new('Motor6D') | |
758 | newrarm.Name='Right Shoulder' | |
759 | newrarm.Parent=player.Character.Torso | |
760 | newrarm.Part0=player.Character.Torso | |
761 | newrarm.Part1=player.Character['Right Arm'] | |
762 | newrarm.C0=fnew(1,.5,0,0,0,1,0,1,0,-1,0,0) | |
763 | newrarm.C1=fnew(-.5,.5,0,0,0,1,0,1,0,-1,0,0) | |
764 | if bool==false then return newlarm end | |
765 | pcall(function() | |
766 | an=player.Character.Animate | |
767 | an.Disabled=true | |
768 | an.Disabled=false | |
769 | end) | |
770 | end)then | |
771 | return newrarm | |
772 | end | |
773 | end | |
774 | light=function() | |
775 | if pcall(function()torso=player.Character.Torso end)then | |
776 | else | |
777 | return | |
778 | end | |
779 | larm=leftarm(false) | |
780 | tt=T:clone() | |
781 | life(tt,0) | |
782 | tt.Parent=workspace | |
783 | tt:play() | |
784 | Pl=new('WedgePart') | |
785 | life(Pl,20) | |
786 | Pl.CFrame=torso.CFrame+torso.CFrame.lookVector*6 | |
787 | Pl.Anchored=true | |
788 | Pl.CanCollide=false | |
789 | Pl.Parent=workspace | |
790 | leftarm(true) | |
791 | end | |
792 | bodys=function(asd) | |
793 | for i,v in pairs(torso:children())do | |
794 | if v:IsA('BodyVelocity')or v:IsA('BodyGyro')then | |
795 | v:remove() | |
796 | end | |
797 | end | |
798 | if asd==true then return end | |
799 | bv=new('BodyVelocity') | |
800 | bg=new('BodyGyro') | |
801 | bv.maxForce=vnew(math.huge,math.huge,math.huge) | |
802 | bv.velocity=vnew(0,0,0) | |
803 | bg.maxTorque=vnew(0,0,0) | |
804 | bg.Parent=torso | |
805 | bv.Parent=torso | |
806 | end | |
807 | ball=function(asd) | |
808 | for i,v in pairs(player.Character:children())do | |
809 | if v.Name=='Fly Ball'then | |
810 | v:remove() | |
811 | end | |
812 | end | |
813 | if asd==true then return end | |
814 | part=new('Part') | |
815 | part.Shape=0 | |
816 | part.BottomSurface=0 | |
817 | part.TopSurface=0 | |
818 | part.Size=torso.Size*5 | |
819 | part.Transparency=.5 | |
820 | part.BrickColor=BrickColor.White() | |
821 | part.CanCollide=false | |
822 | part.CFrame=torso.CFrame | |
823 | part.Name='Fly Ball' | |
824 | part.Parent=player.Character | |
825 | weld=new('Weld') | |
826 | weld.Parent=torso | |
827 | weld.Part0=weld.Parent | |
828 | weld.Part1=part | |
829 | part.Touched:connect(function() | |
830 | for i=1,5 do | |
831 | wait() | |
832 | part.Transparency=.5-i/10 | |
833 | end | |
834 | part.Transparency=.5 | |
835 | end) | |
836 | end | |
837 | script.Parent.Selected:connect(function(m) | |
838 | torso=player.Character.Torso | |
839 | bodys(true) | |
840 | m.KeyDown:connect(function(k) | |
841 | if k=='q'then | |
842 | fly=fly-10 | |
843 | if fly<0 then | |
844 | fly=10 | |
845 | end | |
846 | elseif k=='r'then | |
847 | wing() | |
848 | elseif k=='f'then | |
849 | Lazer(m) | |
850 | elseif k=='t'then | |
851 | X(function()player.Character.WingMain:remove()end) | |
852 | elseif k=='e'then | |
853 | fly=fly+10 | |
854 | elseif k=='y'then | |
855 | MUp=false | |
856 | bodys(false) | |
857 | elseif k=='p'then | |
858 | print'asd' | |
859 | elseif k=='b'then | |
860 | fly=150 | |
861 | elseif k=='x'then | |
862 | X(function() | |
863 | if m.Target==workspace or m.Target==nil then return end | |
864 | ko=new('ObjectValue') | |
865 | game:service('Debris'):AddItem(ko,1) | |
866 | ko.Value=player | |
867 | ko.Name='creator' | |
868 | for i,v in pairs(m.Target.Parent:children())do | |
869 | if v:IsA('Humanoid')then | |
870 | ko.Parent=v | |
871 | v.Torso:BreakJoints() | |
872 | X(function() | |
873 | for asd=1,100 do | |
874 | wait() | |
875 | part=new('WedgePart') | |
876 | game:service('Debris'):AddItem(part,.2) | |
877 | part.formFactor=0 | |
878 | part.Transparency=.3 | |
879 | part.Anchored=true | |
880 | part.CanCollide=false | |
881 | part.CFrame=rot(math.rad(math.random(1,180)),math.rad(math.random(1,180)),math.rad(math.random(1,180)))+v.Torso.Position | |
882 | part.Size=vnew(2,2,2) | |
883 | part.BrickColor=BrickColor.White() | |
884 | random=math.random(part.Size.x,part.Size.x*2) | |
885 | new('BlockMesh',part).Scale=vnew(random,random,random) | |
886 | part.Parent=workspace | |
887 | end | |
888 | end) | |
889 | end | |
890 | end | |
891 | end) | |
892 | end | |
893 | end) | |
894 | m.Button1Down:connect(function() | |
895 | ball(true) | |
896 | bodys(false) | |
897 | MUp=false | |
898 | rightarm(false) | |
899 | leftarm(false) | |
900 | bg.maxTorque=Vector3.new(900000,900000,900000) | |
901 | bg.cframe=fnew(torso.Position,m.hit.p)*rot(math.rad(-60),0,0) | |
902 | bv.velocity=fnew(torso.Position,m.hit.p).lookVector*fly | |
903 | end) | |
904 | m.Move:connect(function() | |
905 | if MUp==true then return end | |
906 | torso=player.Character.Torso | |
907 | X(function() | |
908 | bg.maxTorque=vnew(math.huge,math.huge,math.huge) | |
909 | bg.cframe=fnew(torso.Position,m.hit.p)*rot(math.rad(-60),0,0) | |
910 | bv.velocity=fnew(torso.Position,m.hit.p).lookVector*fly | |
911 | end) | |
912 | end) | |
913 | m.Button1Up:connect(function() | |
914 | MUp=true | |
915 | ball(true) | |
916 | bodys(false) | |
917 | rightarm(true) | |
918 | leftarm(true) | |
919 | bv.maxForce=vnew(10000,10000,10000) | |
920 | delay(2,function()if MUp==true then bodys(true)end end) | |
921 | torso.Velocity=vnew(0,0,0) | |
922 | torso.RotVelocity=vnew(0,0,0) | |
923 | torso.CFrame=fnew(torso.Position,m.hit.p)*rot(0,0,0) | |
924 | torso.Velocity=vnew(0,0,0) | |
925 | torso.RotVelocity=vnew(0,0,0) | |
926 | end) | |
927 | end) | |
928 | bin.Deselected:connect(function() | |
929 | X(function() | |
930 | ball(true) | |
931 | bodys(true) | |
932 | torso.Velocity=vnew(0,0,0) | |
933 | torso.RotVelocity=vnew(0,0,0) | |
934 | end) | |
935 | end) | |
936 | function onTouched(part) | |
937 | local h = part.Parent:findFirstChild("Humanoid") | |
938 | if h~=nil then | |
939 | h.Health = 0 | |
940 | end | |
941 | end | |
942 | script.Parent.Touched:connect(onTouched) |