SHOW:
|
|
- or go back to the newest paste.
1 | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end | |
2 | local Player,Mouse,mouse,UserInputService,ContextActionService = owner | |
3 | local RealPlayer = Player | |
4 | do print("FE Compatibility code by Mokiros");InternalData = {}InternalData.RealOwner = owner;InternalData.RealObjs = {};InternalData.SoundLoudness = {};local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end,__call=function(self,...)local t=rawget(self,"_RealService")if t then return t(...)end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return self[t]end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;x.RunService=v({RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")setmetatable(x,{__index=function(self,t)return r:GetService(t)or typeof(r[t])=="function"and function(m,...)return r[t](r,...)end or r[t]end,__newindex=s.__newindex,__call=s.__call})game,owner=x,x.Players.LocalPlayer | |
5 | script.Parent = InternalData.RealOwner.Character | |
6 | local Event = Instance.new("RemoteEvent");Event.Name = "UserInput";InternalData.Event = Event | |
7 | local function createObject (connections, index) | |
8 | local proxy = newproxy (true);local meta = getmetatable (proxy); | |
9 | local runbind = function (self, i, ...) connections[i]:Fire (...); end; | |
10 | while (#connections > 0) do connections[table.remove(connections, 1)] = Instance.new ('BindableEvent');end; | |
11 | meta.__index = function (self, i) | |
12 | if (i == 'TriggerEvent') then return runbind end; | |
13 | return connections[i] and connections[i].Event or index[i]; | |
14 | end; | |
15 | meta.__newindex = index;meta.__metatable = false;return proxy | |
16 | end; | |
17 | local Mouse = createObject({"KeyUp","KeyDown","Button1Down","Button1Up"},{["Target"] = nil;["Hit"] = CFrame.new()}) | |
18 | local UserInputService = createObject({"InputBegan","InputEnded"},{}) | |
19 | local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...) | |
20 | self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil | |
21 | end};ContextActionService.UnBindAction = ContextActionService.BindAction | |
22 | Event.OnServerEvent:Connect(function(FiredBy,Input) | |
23 | if FiredBy ~= InternalData.RealOwner then return end | |
24 | if Input.MouseEvent then | |
25 | Mouse.Target = Input.Target;Mouse.Hit = Input.Hit | |
26 | elseif Input.Sound then | |
27 | if InternalData.SoundLoudness[Input.Sound] then InternalData.SoundLoudness[Input.Sound] = Input.Loudness end | |
28 | else | |
29 | local Begin = Input.UserInputState == Enum.UserInputState.Begin | |
30 | if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TriggerEvent(Begin and "Button1Down" or "Button1Up") end | |
31 | for _,Action in pairs(ContextActionService.Actions) do | |
32 | for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end | |
33 | end | |
34 | Mouse:TriggerEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower());UserInputService:TriggerEvent(Begin and "InputBegan" or "InputEnded",Input,false) | |
35 | end | |
36 | end) | |
37 | InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService | |
38 | Event.Parent = NLS([[ | |
39 | local Player = owner; | |
40 | local Sounds = {}; | |
41 | local Event = script:WaitForChild("UserInput"); | |
42 | local UserInputService = game:GetService("UserInputService"); | |
43 | local Mouse = Player:GetMouse(); | |
44 | local Input = function(Input,gameProcessedEvent) | |
45 | if gameProcessedEvent then return end | |
46 | Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState}) | |
47 | end | |
48 | Event.OnClientEvent:connect(function(Args) | |
49 | if Args[1] == "NewSound" then table.insert(Sounds,Args[2]) end | |
50 | end) | |
51 | UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input) | |
52 | local Hit,Target | |
53 | while wait(1/30) do | |
54 | for x,Sound in pairs(Sounds) do | |
55 | if Sound.Parent then Event:FireServer({["Sound"]=Sound,["Loudness"]=Sound.PlaybackLoudness}) end | |
56 | end | |
57 | if Hit ~= Mouse.Hit or Target ~= Mouse.Target then | |
58 | Hit = Mouse.Hit;Target = Mouse.Target; | |
59 | Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit}) | |
60 | end | |
61 | end | |
62 | ]],InternalData.RealOwner.Character) | |
63 | end | |
64 | InternalData.NewOwner = setmetatable({},{ | |
65 | __index = function (self,Index) | |
66 | local Type = type(InternalData.RealOwner[Index]) | |
67 | if Type == "function" then | |
68 | if Index:lower() == "getmouse" or Index:lower() == "mouse" then | |
69 | return function (self)return InternalData["Mouse"] end | |
70 | end | |
71 | return function (self,...)return InternalData.RealOwner[Index](InternalData.RealOwner,...) end | |
72 | elseif Index == "FakePlayer" then | |
73 | return true | |
74 | end | |
75 | return InternalData.RealOwner[Index] | |
76 | end; | |
77 | __tostring = function(self) return tostring(InternalData.RealOwner) end | |
78 | }) | |
79 | --LoadLibrary("RbxUtility").Create | |
80 | InternalData.LoadLibrary = LoadLibrary;LoadLibrary = function(Library) | |
81 | if Library == "RbxUtility" then | |
82 | return setmetatable({},{ | |
83 | __tostring = function() return "RbxUtility" end; | |
84 | __index = function(self, Index) | |
85 | if Index:lower() == "create" then | |
86 | return function(Type) | |
87 | return function(Data) | |
88 | Data = Data or {} | |
89 | local Inst = Instance.new(Type) | |
90 | for x,y in pairs(Data) do | |
91 | if InternalData.RealObjs[y] then y = InternalData.RealObjs[y] end | |
92 | if y == owner then y = InternalData.RealOwner end | |
93 | Inst[x] = y | |
94 | end | |
95 | return Inst | |
96 | end | |
97 | end | |
98 | end | |
99 | return InternalData.LoadLibrary(Library)[Index] | |
100 | end | |
101 | }) | |
102 | end | |
103 | return InternalData.LoadLibrary(Library) | |
104 | end | |
105 | InternalData.RealInstance = Instance;Instance = setmetatable({},{ | |
106 | __index = function (self,Index) | |
107 | if Index:lower() == 'new' then | |
108 | return function (Type, Parent) | |
109 | if Parent == owner then Parent = InternalData.RealOwner end | |
110 | if InternalData.RealObjs[Parent] then Parent = InternalData.RealObjs[Parent] end | |
111 | local Real = InternalData.RealInstance.new(Type,Parent) | |
112 | if not Type then return end | |
113 | if Type == "BillboardGui" then | |
114 | local ToReturn = setmetatable({},{ | |
115 | __index = function (self,Index) | |
116 | if type(Real[Index]) == "function" then | |
117 | if Index:lower() == "clone" then | |
118 | return function (self) | |
119 | local Real = Real:Clone() | |
120 | local ToReturn = setmetatable({RealObject = Real},{ | |
121 | __index = function (self,Index) | |
122 | if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end | |
123 | return Real[Index] | |
124 | end; | |
125 | __newindex = function (self,Index,Value) | |
126 | if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end | |
127 | if Value == owner then Value = InternalData.RealOwner end | |
128 | Real[Index] = Value | |
129 | end; | |
130 | __tostring = function(self) return tostring(Real) end; | |
131 | }) | |
132 | InternalData.RealObjs[ToReturn] = Real;return ToReturn; | |
133 | end | |
134 | end | |
135 | return function (self,...) return Real[Index](Real,...)end | |
136 | end | |
137 | return Real[Index] | |
138 | end; | |
139 | __newindex = function (self,Index,Value) | |
140 | if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end | |
141 | if Value == owner then Value = InternalData.RealOwner end | |
142 | Real[Index] = Value | |
143 | end; | |
144 | __tostring = function(self) return tostring(Real) end; | |
145 | }) | |
146 | InternalData.RealObjs[ToReturn] = Real;return ToReturn; | |
147 | elseif Type:lower() == "sound" then | |
148 | Real.Parent = owner.Character; | |
149 | local ToReturn = setmetatable({RealObject = Real},{ | |
150 | __index = function (self,Index) | |
151 | if Index:lower() == "playbackloudness" then | |
152 | return InternalData.SoundLoudness[Real] or 0 | |
153 | elseif type(Real[Index]) == "function" then | |
154 | if Index:lower() == "clone" then | |
155 | return function (self) | |
156 | local Real = Real:Clone() | |
157 | local ToReturn = setmetatable({},{ | |
158 | __index = function (self,Index) | |
159 | if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end | |
160 | return Real[Index] | |
161 | end; | |
162 | __newindex = function (self,Index,Value) | |
163 | if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end | |
164 | if Value == owner then Value = InternalData.RealOwner end | |
165 | Real[Index] = Value | |
166 | end; | |
167 | __tostring = function(self) return tostring(Real) end; | |
168 | }) | |
169 | InternalData.RealObjs[ToReturn] = Real;return ToReturn; | |
170 | end | |
171 | end | |
172 | return function (self,...) return Real[Index](Real,...)end | |
173 | end | |
174 | return Real[Index] | |
175 | end; | |
176 | __newindex = function (self,Index,Value) | |
177 | if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end | |
178 | if Value == owner then Value = InternalData.RealOwner end | |
179 | Real[Index] = Value | |
180 | end; | |
181 | __tostring = function(self) return tostring(Real) end; | |
182 | }) | |
183 | InternalData.RealObjs[ToReturn] = Real;InternalData.SoundLoudness[Real] = 0;repeat wait() until InternalData.Event.Parent InternalData.Event:FireClient(InternalData.RealOwner,{"NewSound",Real}) return ToReturn; | |
184 | else | |
185 | local ToReturn = setmetatable({RealObject = Real},{ | |
186 | __index = function (self,Index) | |
187 | if type(Real[Index]) == "function" then | |
188 | if Index:lower() == "clone" then | |
189 | return function (self) | |
190 | local Real = Real:Clone() | |
191 | local ToReturn = setmetatable({},{ | |
192 | __index = function (self,Index) | |
193 | if type(Real[Index]) == "function" then return function (self,...) return Real[Index](Real,...)end end | |
194 | return Real[Index] | |
195 | end; | |
196 | __newindex = function (self,Index,Value) | |
197 | if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end | |
198 | if Value == owner then Value = InternalData.RealOwner end | |
199 | Real[Index] = Value | |
200 | end; | |
201 | __tostring = function(self) return tostring(Real) end; | |
202 | }) | |
203 | InternalData.RealObjs[ToReturn] = Real;return ToReturn; | |
204 | end | |
205 | end | |
206 | return function (self,...) return Real[Index](Real,...)end | |
207 | end | |
208 | return Real[Index] | |
209 | end; | |
210 | __newindex = function (self,Index,Value) | |
211 | if InternalData.RealObjs[Value] then Value = InternalData.RealObjs[Value] end | |
212 | if Value == owner then Value = InternalData.RealOwner end | |
213 | Real[Index] = Value | |
214 | end; | |
215 | __tostring = function(self) return tostring(Real) end; | |
216 | }) | |
217 | InternalData.RealObjs[ToReturn] = Real;return ToReturn; | |
218 | end | |
219 | end | |
220 | end | |
221 | return InternalData.RealInstance[Index] | |
222 | end; | |
223 | __tostring = function(self) return tostring(InternalData.RealInstance) end; | |
224 | }); | |
225 | InternalData.RealGame = game;game = setmetatable({},{ | |
226 | __index = function (self,Index) | |
227 | if InternalData.RealGame[Index] then | |
228 | local Type = type(InternalData.RealGame[Index]) | |
229 | if Type == "function" then | |
230 | if Index:lower() == "getservice" or Index:lower() == "service" then | |
231 | return function (self,Service) | |
232 | local FakeServices = { | |
233 | ["players"] = function() | |
234 | return setmetatable({},{ | |
235 | __index = function (self2,Index2) | |
236 | local RealService = InternalData.RealGame:GetService(Service) | |
237 | local Type2 = type(RealService[Index2]) | |
238 | if Type2 == "function" then | |
239 | return function (self,...) return RealService[Index2](RealService,...)end | |
240 | else | |
241 | if Index2:lower() == "localplayer" then return InternalData.NewOwner end | |
242 | return RealService[Index2] | |
243 | end | |
244 | end; | |
245 | __tostring = function(self) return tostring(InternalData.RealGame:GetService(Service)) end | |
246 | }) | |
247 | end; | |
248 | ["contextactionservice"] = function() return InternalData["ContextActionService"] end; | |
249 | ["userinputservice"] = function() return InternalData["UserInputService"] end; | |
250 | ["debris"] = function() | |
251 | return setmetatable({},{ | |
252 | __index = function(self2,Index2) | |
253 | local RealService = InternalData.RealGame:GetService(Service) | |
254 | local Type2 = type(RealService[Index2]) | |
255 | if Type2 == "function" then | |
256 | if Index2:lower() == "additem" then | |
257 | return function (self,Item,Time) | |
258 | if InternalData.RealObjs[Item] then Item = InternalData.RealObjs[Item] end | |
259 | return RealService:AddItem(Item,Time) | |
260 | end | |
261 | end | |
262 | return function (self,...) return RealService[Index2](RealService,...) end | |
263 | end | |
264 | return RealService[Index2] | |
265 | end; | |
266 | __tostring = function(self) return tostring(InternalData.RealGame:GetService("Debris")) end | |
267 | }) | |
268 | end; | |
269 | ["runservice"] = function() | |
270 | return setmetatable({},{ | |
271 | __index = function(self2,Index2) | |
272 | local RealService = InternalData.RealGame:GetService(Service) | |
273 | local Type2 = type(RealService[Index2]) | |
274 | if Type2 == "function" then | |
275 | return function (self,...) return RealService[Index2](RealService,...) end | |
276 | else | |
277 | local RunServices = { | |
278 | ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return InternalData.RealGame:GetService("RunService").Stepped:Connect(Function) end end; | |
279 | ["renderstepped"] = function() return RealService["Stepped"] end | |
280 | } | |
281 | if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end | |
282 | return RealService[Index2] | |
283 | end | |
284 | end; | |
285 | __tostring = function(self) return tostring(InternalData.RealGame:GetService("RunService")) end | |
286 | }) | |
287 | end | |
288 | } | |
289 | if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end | |
290 | return InternalData.RealGame:GetService(Service) | |
291 | end | |
292 | end | |
293 | return function (self,...) return InternalData.RealGame[Index](InternalData.RealGame,...) end | |
294 | else | |
295 | if game:GetService(Index) then return game:GetService(Index) end | |
296 | return InternalData.RealGame[Index] | |
297 | end | |
298 | end | |
299 | return nil | |
300 | end; | |
301 | __tostring = function(self) return tostring(InternalData.game) end | |
302 | });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete!") | |
303 | ||
304 | --[[ | |
305 | abyssal sword | |
306 | LOCALSCRIPT | |
307 | ||
308 | keys: | |
309 | e = energy brick | |
310 | c = smash | |
311 | f = fall | |
312 | l = lightning | |
313 | click = slash | |
314 | right click = lasers | |
315 | ]] | |
316 | ||
317 | me = game.Players.LocalPlayer | |
318 | ||
319 | local user = me.Character | |
320 | ||
321 | local tool = Instance.new("Tool", me.Backpack) | |
322 | tool.Name = "Abyssal Sword" | |
323 | ||
324 | local handle = Instance.new("Part", tool) | |
325 | handle.formFactor = "Custom" | |
326 | handle.CanCollide = false | |
327 | handle.Name = "Handle" | |
328 | handle.TopSurface = "Smooth" | |
329 | handle.BottomSurface = "Smooth" | |
330 | handle.Size = Vector3.new(0.3, 1, 0.3) | |
331 | handle.Rotation = Vector3.new(90, 0, 0) | |
332 | ||
333 | handle.Touched:connect(function(h) | |
334 | if not h:IsDescendantOf(me.Character) then | |
335 | for _, a in pairs(h.Parent:GetChildren()) do | |
336 | if a:IsA("Humanoid") then | |
337 | a.Health = a.Health - 20 | |
338 | end | |
339 | end | |
340 | end | |
341 | end) | |
342 | ||
343 | tool.GripPos = Vector3.new(0, 0, -2) | |
344 | tool.GripForward = Vector3.new(-1, 0, 0) | |
345 | tool.GripRight = Vector3.new(0, 1, 0) | |
346 | tool.GripUp = Vector3.new(0, 0, 1.5) | |
347 | ||
348 | local fp = Instance.new("Part", tool) | |
349 | fp.FormFactor = "Custom" | |
350 | fp.Transparency = 1 | |
351 | fp.Size = Vector3.new(0.25, 0.25, 0.25) | |
352 | ||
353 | local fire = Instance.new("Fire", fp) | |
354 | fire.Color = Color3.new(0, 0, 0) | |
355 | fire.SecondaryColor = Color3.new(255, 0, 0) | |
356 | fire.Size = 3 | |
357 | fire.Heat = 0 | |
358 | ||
359 | local derp = Instance.new("SpecialMesh", handle) | |
360 | derp.MeshId = "http://www.roblox.com/asset/?id=61357428" | |
361 | derp.TextureId = "http://www.roblox.com/asset/?id=61357495 " | |
362 | derp.Scale = Vector3.new(2, 2, 2.5) | |
363 | ||
364 | dist = 1.5 | |
365 | defdist = 1.5 | |
366 | upos = 0 | |
367 | yrot = 90 | |
368 | mode = 1 | |
369 | fdist = 2 | |
370 | updist = 0 | |
371 | ||
372 | RS = me.Character.Torso["Right Shoulder"] | |
373 | LS = me.Character.Torso["Left Shoulder"] | |
374 | ||
375 | RSAnim = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0) | |
376 | LSAnim = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0) | |
377 | ||
378 | local keys = {} | |
379 | ||
380 | coroutine.wrap(function() | |
381 | while true do | |
382 | for i = 1, 40 do | |
383 | dist = dist + 0.02 | |
384 | defdist = defdist + 0.02 | |
385 | wait() | |
386 | end | |
387 | ||
388 | for i = 1, 40 do | |
389 | dist = dist - 0.02 | |
390 | defdist = defdist - 0.02 | |
391 | wait() | |
392 | end | |
393 | end | |
394 | end)() | |
395 | ||
396 | for i = 1, 6 do | |
397 | local pr = Instance.new("Part", tool) | |
398 | pr.FormFactor = "Custom" | |
399 | pr.TopSurface = "Smooth" | |
400 | pr.BottomSurface = "Smooth" | |
401 | pr.Name = "derpp" | |
402 | pr.Transparency = 0 | |
403 | pr.Anchored = true | |
404 | pr.CanCollide = false | |
405 | ||
406 | pr.Touched:connect(function(h) | |
407 | if not h:IsDescendantOf(me.Character) then | |
408 | if h.Parent:FindFirstChild("Humanoid") then | |
409 | h.Parent.Humanoid:TakeDamage(10) | |
410 | end | |
411 | end | |
412 | end) | |
413 | if i == 1 or i == 3 or i == 5 then | |
414 | pr.BrickColor = BrickColor.new("Really black") | |
415 | ||
416 | else | |
417 | pr.BrickColor = BrickColor.new("Dusty Rose") | |
418 | end | |
419 | ||
420 | pr.CanCollide = false | |
421 | pr.Size = Vector3.new(0.5, 0.5, 0.5) | |
422 | coroutine.wrap(function() | |
423 | while true do | |
424 | for r = 1, 90 do | |
425 | if mode == 1 then | |
426 | pr.CFrame = fp.CFrame * CFrame.Angles(0, math.rad((r*4)+((360/6)*i)), math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist) | |
427 | ||
428 | elseif mode == 2 then | |
429 | pr.CFrame = (fp.CFrame * CFrame.new(2, 0, 0)) * CFrame.Angles(math.rad((r*4)+((360/6)*i)), 0, math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist) | |
430 | ||
431 | elseif mode == 3 then | |
432 | pr.CFrame = me.Character["EnergyBrick"].CFrame * CFrame.Angles(0, 0, math.rad((r*4)+((360/6)*i))) * CFrame.new(0, dist, 0) | |
433 | end | |
434 | wait() | |
435 | end | |
436 | end | |
437 | end)() | |
438 | end | |
439 | ||
440 | tool.Equipped:connect(function(m) | |
441 | local w = Instance.new("Weld", handle) | |
442 | w.Part0 = handle | |
443 | w.Part1 = fp | |
444 | w.C0 = CFrame.new(0, 0, 0.75) | |
445 | ||
446 | m.Button1Down:connect(function() | |
447 | down = true | |
448 | wait() | |
449 | ||
450 | for i = 1,6 do | |
451 | me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(-i*4)) | |
452 | wait() | |
453 | end | |
454 | ||
455 | for i = 1, 6 do | |
456 | me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(i*4)) | |
457 | wait() | |
458 | end | |
459 | end) | |
460 | ||
461 | m.Button1Up:connect(function() | |
462 | down = false | |
463 | end) | |
464 | ||
465 | m.Button2Down:connect(function() | |
466 | mode = 2 | |
467 | fire.Size = 6 | |
468 | wait(0.5) | |
469 | for _, a in pairs(tool:GetChildren()) do | |
470 | if a.Name == "derpp" then | |
471 | coroutine.wrap(function() | |
472 | local ray = Ray.new(a.CFrame.p, (m.Hit.p-a.CFrame.p).unit*300) | |
473 | ||
474 | local hit, pos = game.Workspace:FindPartOnRay(ray, me.Character) | |
475 | ||
476 | local h = hit | |
477 | if h then | |
478 | for _, a in pairs(h.Parent:GetChildren()) do | |
479 | if a:IsA("Humanoid") then | |
480 | a.Health = a.Health - 20 | |
481 | end | |
482 | end | |
483 | end | |
484 | ||
485 | local dis = (pos-a.CFrame.p).magnitude | |
486 | ||
487 | local beam = Instance.new("Part", user) | |
488 | beam.TopSurface = "Smooth" | |
489 | beam.BottomSurface = "Smooth" | |
490 | beam.FormFactor = "Custom" | |
491 | beam.Size = Vector3.new(1, 1, dis) | |
492 | beam.Anchored = true | |
493 | beam.BrickColor = BrickColor.new("Really black") | |
494 | beam.CanCollide = false | |
495 | beam.Transparency = 0.3 | |
496 | coroutine.wrap(function() | |
497 | for d = 1, 10 do | |
498 | beam.Size = beam.Size - Vector3.new(0.1, 0.1, 0) | |
499 | beam.CFrame = CFrame.new(pos, a.CFrame.p) * CFrame.new(0, 0, -dis/2) | |
500 | wait() | |
501 | end | |
502 | end)() | |
503 | wait(0.5) | |
504 | beam:Remove() | |
505 | end)() | |
506 | end | |
507 | end | |
508 | ||
509 | wait(0.5) | |
510 | mode = 1 | |
511 | end) | |
512 | ||
513 | m.Button2Up:connect(function(k) | |
514 | fire.Size = 3 | |
515 | end) | |
516 | ||
517 | m.KeyDown:connect(function(key) | |
518 | if key:lower() == "e" then | |
519 | me.Character.Animate.Disabled = true | |
520 | wait(1) | |
521 | RS.C0 = RSAnim | |
522 | LS.C0 = LSAnim | |
523 | for _, a in pairs(tool:GetChildren()) do | |
524 | if a.Name ~= "derpp" then | |
525 | a.Transparency = 1 | |
526 | end | |
527 | end | |
528 | fire.Enabled = false | |
529 | ||
530 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(30), 0, 0) | |
531 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30), 0, 0) | |
532 | ||
533 | coroutine.wrap(function() | |
534 | for d = 1, 30 do | |
535 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad((30-(d))), 0, 0) | |
536 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30-(d)), 0, 0) | |
537 | wait() | |
538 | end | |
539 | end)() | |
540 | ||
541 | local ball = Instance.new("Part", me.Character) | |
542 | ball.Name = "EnergyBrick" | |
543 | ball.TopSurface = "Smooth" | |
544 | ball.BottomSurface = "Smooth" | |
545 | ball.CanCollide = false | |
546 | ball.Transparency = 0.4 | |
547 | ball.BrickColor = BrickColor.new("Really black") | |
548 | ball.Anchored = true | |
549 | ball.Size = Vector3.new(1, 1, 1) | |
550 | ball.FormFactor = "Custom" | |
551 | ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, 0, fdist) | |
552 | ball.Touched:connect(function(h) | |
553 | if not h:IsDescendantOf(me.Character) then | |
554 | if h:IsA("Part") and not h.Name:lower():find("base") then | |
555 | h:Destroy() | |
556 | end | |
557 | end | |
558 | end) | |
559 | local f = Instance.new("Fire", ball) | |
560 | f.Size = 3 | |
561 | f.Color = Color3.new(0, 0, 0) | |
562 | f.SecondaryColor = Color3.new(0, 0, 255) | |
563 | wait() | |
564 | mode = 3 | |
565 | ||
566 | for d = 1, 40 do | |
567 | f.Size = f.Size + 0.25 | |
568 | fdist = fdist + 0.05 | |
569 | dist = dist + 0.05 | |
570 | updist = updist + 0.025 | |
571 | ball.Size = ball.Size + Vector3.new(0.1, 0.1, 0.1) | |
572 | ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, updist, fdist) | |
573 | wait() | |
574 | end | |
575 | ||
576 | local scf = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) | |
577 | me.Character.Animate.Disabled = false | |
578 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0) | |
579 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0) | |
580 | for _, a in pairs(tool:GetChildren()) do | |
581 | a.Transparency = 0 | |
582 | end | |
583 | fp.Transparency = 1 | |
584 | mode = 1 | |
585 | dist = defdist | |
586 | updist = 0 | |
587 | fire.Enabled = true | |
588 | for i = 1, 150 do | |
589 | ball.CFrame = scf * CFrame.new(0, 0, fdist+(i*2)) * CFrame.Angles(0, 0, math.rad(i*3)) | |
590 | local b2 = ball:Clone() | |
591 | b2.Fire:Destroy() | |
592 | b2.Parent = me.Character | |
593 | b2.CFrame = ball.CFrame * CFrame.Angles(0, 0, math.rad(i*3)) | |
594 | b2.Touched:connect(function(h) | |
595 | if not h:IsDescendantOf(me.Character) then | |
596 | if h:IsA("Part") and not h.Name:lower():find("base") then | |
597 | h:Destroy() | |
598 | end | |
599 | end | |
600 | end) | |
601 | coroutine.wrap(function() | |
602 | wait(1) | |
603 | for i = 1, 20 do | |
604 | b2.Transparency = b2.Transparency + 0.05 | |
605 | wait() | |
606 | end | |
607 | b2:Destroy() | |
608 | end)() | |
609 | wait() | |
610 | end | |
611 | ||
612 | ball:Destroy() | |
613 | fdist = 2 | |
614 | ||
615 | elseif key:lower() == "f" then | |
616 | me.Character.Animate.Disabled = true | |
617 | wait(1) | |
618 | RS.C0 = RSAnim | |
619 | LS.C0 = LSAnim | |
620 | for i = 1, 11 do | |
621 | LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(-90), 0) * CFrame.Angles(math.rad(i*2), 0, 0) | |
622 | RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(90), 0) * CFrame.Angles(math.rad(i*2), 0, 0) | |
623 | wait() | |
624 | end | |
625 | ||
626 | local bp = Instance.new("BodyPosition", me.Character.Torso) | |
627 | bp.maxForce = Vector3.new(0, 9999, 0) | |
628 | coroutine.wrap(function() | |
629 | for rs = 1, 10 do | |
630 | bp.position = me.Character.Head.Position + Vector3.new(0, 4, 0) | |
631 | wait() | |
632 | end | |
633 | end)() | |
634 | ||
635 | for an = 1, 30 do | |
636 | LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0) | |
637 | RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0) | |
638 | wait() | |
639 | end | |
640 | wait(0.5) | |
641 | bp:Remove() | |
642 | for an = 1, 7 do | |
643 | LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0) | |
644 | RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0) | |
645 | wait() | |
646 | end | |
647 | wait(0.25) | |
648 | local ex = Instance.new("Part", me.Character) | |
649 | ex.Size = Vector3.new(1, 1, 1) | |
650 | ex.Transparency = 0.4 | |
651 | ex.BrickColor = BrickColor.new("Deep orange") | |
652 | ||
653 | local msh = Instance.new("SpecialMesh", ex) | |
654 | msh.MeshType = "FileMesh" | |
655 | msh.MeshId = "http://www.roblox.com/asset/?id=1323306" | |
656 | msh.Scale = Vector3.new(0.5, 0.5, 0.5) | |
657 | ||
658 | ex.Position = handle.Position | |
659 | ex.Anchored = true | |
660 | ||
661 | for i = 1, 20 do | |
662 | msh.Scale = msh.Scale + Vector3.new(3, 3, 3) | |
663 | for _, a in pairs(game.Players:GetChildren()) do | |
664 | if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then | |
665 | for _, b in pairs(a.Character:GetChildren()) do | |
666 | if b:IsA("Humanoid") then | |
667 | b.Health = b.Health - 10 | |
668 | end | |
669 | end | |
670 | end | |
671 | end | |
672 | wait() | |
673 | end | |
674 | ||
675 | for i = 1, 12 do | |
676 | ex.Transparency = ex.Transparency + 0.05 | |
677 | wait() | |
678 | end | |
679 | ex:Remove() | |
680 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0) | |
681 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0) | |
682 | wait() | |
683 | me.Character.Animate.Disabled = false | |
684 | ||
685 | elseif key:lower() == "l" then | |
686 | me.Character.Animate.Disabled = true | |
687 | wait(1) | |
688 | RS.C0 = RSAnim | |
689 | LS.C0 = LSAnim | |
690 | for i = 1, 60 do | |
691 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(-90), 0, -math.rad(i)) | |
692 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(-90), 0, math.rad(i)) | |
693 | wait() | |
694 | end | |
695 | ||
696 | local beam = Instance.new("Part", me.Character) | |
697 | beam.Size = Vector3.new(5, 300, 5) | |
698 | beam.CanCollide = false | |
699 | beam.CFrame = me.Character.Torso.CFrame * CFrame.new(0, (300/2)-2, 0) | |
700 | beam.TopSurface = "Smooth" | |
701 | beam.BottomSurface = "Smooth" | |
702 | beam.BrickColor = BrickColor.new("New Yeller") | |
703 | beam.Anchored = true | |
704 | beam.Transparency = 0.3 | |
705 | wait(0.4) | |
706 | for e = 1, 14 do | |
707 | beam.Transparency = beam.Transparency + 0.05 | |
708 | wait() | |
709 | end | |
710 | beam:Remove() | |
711 | local m = Instance.new("ForceField", me.Character) | |
712 | for i = 1, 40 do | |
713 | d1 = math.random(-200, 200) | |
714 | d2 = math.random(-200, 200) | |
715 | local ltn = Instance.new("Part", game.Workspace) | |
716 | ltn.Size = Vector3.new(3, 300, 3) | |
717 | ltn.CanCollide = false | |
718 | ltn.CFrame = CFrame.new(d1, 0, d2) * CFrame.new(0, 300/2, 0) | |
719 | ltn.TopSurface = "Smooth" | |
720 | ltn.BottomSurface = "Smooth" | |
721 | ltn.BrickColor = BrickColor.new("Deep blue") | |
722 | ltn.Anchored = true | |
723 | ltn.Transparency = 0.3 | |
724 | local ex = Instance.new("Explosion") | |
725 | ex.Position = Vector3.new(d1, 0.5, d2) | |
726 | ex.BlastRadius = 10 | |
727 | wait() | |
728 | ex.Parent = game.Workspace | |
729 | game.Lighting.Ambient = Color3.new(1, 1, 1) | |
730 | wait(0.125) | |
731 | ltn:Destroy() | |
732 | game.Lighting.Ambient = Color3.new(0.5, 0.5, 0.5) | |
733 | end | |
734 | m:Remove() | |
735 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0) | |
736 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0) | |
737 | wait() | |
738 | me.Character.Animate.Disabled = false | |
739 | ||
740 | elseif key:lower() == "c" then | |
741 | me.Character.Animate.Disabled = true | |
742 | wait(1) | |
743 | RS.C0 = RSAnim | |
744 | LS.C0 = LSAnim | |
745 | for _, a in pairs(tool:GetChildren()) do | |
746 | a.Transparency = 1 | |
747 | end | |
748 | fire.Enabled = false | |
749 | ||
750 | local s = Instance.new("Part", me.Character) | |
751 | s.Transparency = 0 | |
752 | s.Name = "StrikeSword" | |
753 | ||
754 | local w = Instance.new("Weld", s) | |
755 | w.Part0 = me.Character["Right Arm"] | |
756 | w.Part1 = s | |
757 | w.C0 = CFrame.new(0, -1, -2) * CFrame.Angles(math.rad(180), 0, 0) | |
758 | ||
759 | local derpe = Instance.new("SpecialMesh", s) | |
760 | derpe.MeshType = "FileMesh" | |
761 | derpe.MeshId = "http://www.roblox.com/asset/?id=61357428" | |
762 | derpe.TextureId = "http://www.roblox.com/asset/?id=61357495" | |
763 | derpe.Scale = Vector3.new(2, 2, 2.5) | |
764 | for i = 1, 35 do | |
765 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(-90), 0) * CFrame.Angles(math.rad(i+20), 0, 0) | |
766 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(90), 0) * CFrame.Angles(math.rad(i+20), 0, 0) | |
767 | wait() | |
768 | end | |
769 | ||
770 | wait(1) | |
771 | ||
772 | for i = 1, 30 do | |
773 | derpe.Scale = derpe.Scale + Vector3.new(0.2, 0.2, 0.2) | |
774 | w.C0 = CFrame.new(0, -1, -2-i/3) * CFrame.Angles(math.rad(180), 0, 0) | |
775 | wait() | |
776 | end | |
777 | ||
778 | wait(0.125) | |
779 | ||
780 | for i = 1, 17 do | |
781 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(-90), 0) | |
782 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(90), 0) | |
783 | wait() | |
784 | end | |
785 | wait(0.125) | |
786 | local ex = Instance.new("Part", me.Character) | |
787 | ex.Size = Vector3.new(1, 1, 1) | |
788 | ex.Transparency = 0.4 | |
789 | ex.BrickColor = BrickColor.new("Deep orange") | |
790 | ||
791 | local msh = Instance.new("SpecialMesh", ex) | |
792 | msh.MeshType = "FileMesh" | |
793 | msh.MeshId = "http://www.roblox.com/asset/?id=1323306" | |
794 | msh.Scale = Vector3.new(0.5, 0.5, 0.5) | |
795 | ||
796 | ex.Position = s.Position | |
797 | ex.Anchored = true | |
798 | ||
799 | coroutine.wrap(function() | |
800 | s:Destroy() | |
801 | for _, a in pairs(tool:GetChildren()) do | |
802 | a.Transparency = 0 | |
803 | end | |
804 | fp.Transparency = 1 | |
805 | fire.Enabled = true | |
806 | me.Character.Animate.Disabled = false | |
807 | end)() | |
808 | ||
809 | for i = 1, 20 do | |
810 | msh.Scale = msh.Scale + Vector3.new(3, 3, 3) | |
811 | for _, a in pairs(game.Players:GetChildren()) do | |
812 | if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then | |
813 | for _, b in pairs(a.Character:GetChildren()) do | |
814 | if b:IsA("Humanoid") then | |
815 | b.Health = b.Health - 10 | |
816 | end | |
817 | end | |
818 | end | |
819 | end | |
820 | wait() | |
821 | end | |
822 | ||
823 | for i = 1, 12 do | |
824 | ex.Transparency = ex.Transparency + 0.05 | |
825 | wait() | |
826 | end | |
827 | end | |
828 | end) | |
829 | ||
830 | me.Character.Humanoid.Died:connect(function() | |
831 | local ex = Instance.new("Explosion") | |
832 | ex.Position = handle.Position | |
833 | ex.BlastRadius = 100 | |
834 | ex.BlastPressure = 1e6 | |
835 | wait() | |
836 | ex.Parent = game.Workspace | |
837 | end) | |
838 | end) | |
839 | ||
840 | tool.Unequipped:connect(function() | |
841 | end) | |
842 | --[[ | |
843 | abyssal sword | |
844 | LOCALSCRIPT | |
845 | ||
846 | keys: | |
847 | e = energy brick | |
848 | c = smash | |
849 | f = fall | |
850 | l = lightning | |
851 | click = slash | |
852 | right click = lasers | |
853 | ]] | |
854 | ||
855 | me = game.Players.LocalPlayer | |
856 | ||
857 | local user = me.Character | |
858 | ||
859 | local tool = Instance.new("Tool", me.Backpack) | |
860 | tool.Name = "Abyssal Sword" | |
861 | ||
862 | local handle = Instance.new("Part", tool) | |
863 | handle.formFactor = "Custom" | |
864 | handle.CanCollide = false | |
865 | handle.Name = "Handle" | |
866 | handle.TopSurface = "Smooth" | |
867 | handle.BottomSurface = "Smooth" | |
868 | handle.Size = Vector3.new(0.3, 1, 0.3) | |
869 | handle.Rotation = Vector3.new(90, 0, 0) | |
870 | ||
871 | handle.Touched:connect(function(h) | |
872 | if not h:IsDescendantOf(me.Character) then | |
873 | for _, a in pairs(h.Parent:GetChildren()) do | |
874 | if a:IsA("Humanoid") then | |
875 | a.Health = a.Health - 20 | |
876 | end | |
877 | end | |
878 | end | |
879 | end) | |
880 | ||
881 | tool.GripPos = Vector3.new(0, 0, -2) | |
882 | tool.GripForward = Vector3.new(-1, 0, 0) | |
883 | tool.GripRight = Vector3.new(0, 1, 0) | |
884 | tool.GripUp = Vector3.new(0, 0, 1.5) | |
885 | ||
886 | local fp = Instance.new("Part", tool) | |
887 | fp.FormFactor = "Custom" | |
888 | fp.Transparency = 1 | |
889 | fp.Size = Vector3.new(0.25, 0.25, 0.25) | |
890 | ||
891 | local fire = Instance.new("Fire", fp) | |
892 | fire.Color = Color3.new(0, 0, 0) | |
893 | fire.SecondaryColor = Color3.new(255, 0, 0) | |
894 | fire.Size = 3 | |
895 | fire.Heat = 0 | |
896 | ||
897 | local derp = Instance.new("SpecialMesh", handle) | |
898 | derp.MeshId = "http://www.roblox.com/asset/?id=61357428" | |
899 | derp.TextureId = "http://www.roblox.com/asset/?id=61357495 " | |
900 | derp.Scale = Vector3.new(2, 2, 2.5) | |
901 | ||
902 | dist = 1.5 | |
903 | defdist = 1.5 | |
904 | upos = 0 | |
905 | yrot = 90 | |
906 | mode = 1 | |
907 | fdist = 2 | |
908 | updist = 0 | |
909 | ||
910 | RS = me.Character.Torso["Right Shoulder"] | |
911 | LS = me.Character.Torso["Left Shoulder"] | |
912 | ||
913 | RSAnim = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0) | |
914 | LSAnim = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0) | |
915 | ||
916 | local keys = {} | |
917 | ||
918 | coroutine.wrap(function() | |
919 | while true do | |
920 | for i = 1, 40 do | |
921 | dist = dist + 0.02 | |
922 | defdist = defdist + 0.02 | |
923 | wait() | |
924 | end | |
925 | ||
926 | for i = 1, 40 do | |
927 | dist = dist - 0.02 | |
928 | defdist = defdist - 0.02 | |
929 | wait() | |
930 | end | |
931 | end | |
932 | end)() | |
933 | ||
934 | for i = 1, 6 do | |
935 | local pr = Instance.new("Part", tool) | |
936 | pr.FormFactor = "Custom" | |
937 | pr.TopSurface = "Smooth" | |
938 | pr.BottomSurface = "Smooth" | |
939 | pr.Name = "derpp" | |
940 | pr.Transparency = 0 | |
941 | pr.Anchored = true | |
942 | pr.CanCollide = false | |
943 | ||
944 | pr.Touched:connect(function(h) | |
945 | if not h:IsDescendantOf(me.Character) then | |
946 | if h.Parent:FindFirstChild("Humanoid") then | |
947 | h.Parent.Humanoid:TakeDamage(10) | |
948 | end | |
949 | end | |
950 | end) | |
951 | if i == 1 or i == 3 or i == 5 then | |
952 | pr.BrickColor = BrickColor.new("Really black") | |
953 | ||
954 | else | |
955 | pr.BrickColor = BrickColor.new("Dusty Rose") | |
956 | end | |
957 | ||
958 | pr.CanCollide = false | |
959 | pr.Size = Vector3.new(0.5, 0.5, 0.5) | |
960 | coroutine.wrap(function() | |
961 | while true do | |
962 | for r = 1, 90 do | |
963 | if mode == 1 then | |
964 | pr.CFrame = fp.CFrame * CFrame.Angles(0, math.rad((r*4)+((360/6)*i)), math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist) | |
965 | ||
966 | elseif mode == 2 then | |
967 | pr.CFrame = (fp.CFrame * CFrame.new(2, 0, 0)) * CFrame.Angles(math.rad((r*4)+((360/6)*i)), 0, math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist) | |
968 | ||
969 | elseif mode == 3 then | |
970 | pr.CFrame = me.Character["EnergyBrick"].CFrame * CFrame.Angles(0, 0, math.rad((r*4)+((360/6)*i))) * CFrame.new(0, dist, 0) | |
971 | end | |
972 | wait() | |
973 | end | |
974 | end | |
975 | end)() | |
976 | end | |
977 | ||
978 | tool.Equipped:connect(function(m) | |
979 | local w = Instance.new("Weld", handle) | |
980 | w.Part0 = handle | |
981 | w.Part1 = fp | |
982 | w.C0 = CFrame.new(0, 0, 0.75) | |
983 | ||
984 | m.Button1Down:connect(function() | |
985 | down = true | |
986 | wait() | |
987 | ||
988 | for i = 1,6 do | |
989 | me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(-i*4)) | |
990 | wait() | |
991 | end | |
992 | ||
993 | for i = 1, 6 do | |
994 | me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(i*4)) | |
995 | wait() | |
996 | end | |
997 | end) | |
998 | ||
999 | m.Button1Up:connect(function() | |
1000 | down = false | |
1001 | end) | |
1002 | ||
1003 | m.Button2Down:connect(function() | |
1004 | mode = 2 | |
1005 | fire.Size = 6 | |
1006 | wait(0.5) | |
1007 | for _, a in pairs(tool:GetChildren()) do | |
1008 | if a.Name == "derpp" then | |
1009 | coroutine.wrap(function() | |
1010 | local ray = Ray.new(a.CFrame.p, (m.Hit.p-a.CFrame.p).unit*300) | |
1011 | ||
1012 | local hit, pos = game.Workspace:FindPartOnRay(ray, me.Character) | |
1013 | ||
1014 | local h = hit | |
1015 | if h then | |
1016 | for _, a in pairs(h.Parent:GetChildren()) do | |
1017 | if a:IsA("Humanoid") then | |
1018 | a.Health = a.Health - 20 | |
1019 | end | |
1020 | end | |
1021 | end | |
1022 | ||
1023 | local dis = (pos-a.CFrame.p).magnitude | |
1024 | ||
1025 | local beam = Instance.new("Part", user) | |
1026 | beam.TopSurface = "Smooth" | |
1027 | beam.BottomSurface = "Smooth" | |
1028 | beam.FormFactor = "Custom" | |
1029 | beam.Size = Vector3.new(1, 1, dis) | |
1030 | beam.Anchored = true | |
1031 | beam.BrickColor = BrickColor.new("Really black") | |
1032 | beam.CanCollide = false | |
1033 | beam.Transparency = 0.3 | |
1034 | coroutine.wrap(function() | |
1035 | for d = 1, 10 do | |
1036 | beam.Size = beam.Size - Vector3.new(0.1, 0.1, 0) | |
1037 | beam.CFrame = CFrame.new(pos, a.CFrame.p) * CFrame.new(0, 0, -dis/2) | |
1038 | wait() | |
1039 | end | |
1040 | end)() | |
1041 | wait(0.5) | |
1042 | beam:Remove() | |
1043 | end)() | |
1044 | end | |
1045 | end | |
1046 | ||
1047 | wait(0.5) | |
1048 | mode = 1 | |
1049 | end) | |
1050 | ||
1051 | m.Button2Up:connect(function(k) | |
1052 | fire.Size = 3 | |
1053 | end) | |
1054 | ||
1055 | m.KeyDown:connect(function(key) | |
1056 | if key:lower() == "e" then | |
1057 | me.Character.Animate.Disabled = true | |
1058 | wait(1) | |
1059 | RS.C0 = RSAnim | |
1060 | LS.C0 = LSAnim | |
1061 | for _, a in pairs(tool:GetChildren()) do | |
1062 | if a.Name ~= "derpp" then | |
1063 | a.Transparency = 1 | |
1064 | end | |
1065 | end | |
1066 | fire.Enabled = false | |
1067 | ||
1068 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(30), 0, 0) | |
1069 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30), 0, 0) | |
1070 | ||
1071 | coroutine.wrap(function() | |
1072 | for d = 1, 30 do | |
1073 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad((30-(d))), 0, 0) | |
1074 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30-(d)), 0, 0) | |
1075 | wait() | |
1076 | end | |
1077 | end)() | |
1078 | ||
1079 | local ball = Instance.new("Part", me.Character) | |
1080 | ball.Name = "EnergyBrick" | |
1081 | ball.TopSurface = "Smooth" | |
1082 | ball.BottomSurface = "Smooth" | |
1083 | ball.CanCollide = false | |
1084 | ball.Transparency = 0.4 | |
1085 | ball.BrickColor = BrickColor.new("Really black") | |
1086 | ball.Anchored = true | |
1087 | ball.Size = Vector3.new(1, 1, 1) | |
1088 | ball.FormFactor = "Custom" | |
1089 | ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, 0, fdist) | |
1090 | ball.Touched:connect(function(h) | |
1091 | if not h:IsDescendantOf(me.Character) then | |
1092 | if h:IsA("Part") and not h.Name:lower():find("base") then | |
1093 | h:Destroy() | |
1094 | end | |
1095 | end | |
1096 | end) | |
1097 | local f = Instance.new("Fire", ball) | |
1098 | f.Size = 3 | |
1099 | f.Color = Color3.new(0, 0, 0) | |
1100 | f.SecondaryColor = Color3.new(0, 0, 255) | |
1101 | wait() | |
1102 | mode = 3 | |
1103 | ||
1104 | for d = 1, 40 do | |
1105 | f.Size = f.Size + 0.25 | |
1106 | fdist = fdist + 0.05 | |
1107 | dist = dist + 0.05 | |
1108 | updist = updist + 0.025 | |
1109 | ball.Size = ball.Size + Vector3.new(0.1, 0.1, 0.1) | |
1110 | ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, updist, fdist) | |
1111 | wait() | |
1112 | end | |
1113 | ||
1114 | local scf = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) | |
1115 | me.Character.Animate.Disabled = false | |
1116 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0) | |
1117 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0) | |
1118 | for _, a in pairs(tool:GetChildren()) do | |
1119 | a.Transparency = 0 | |
1120 | end | |
1121 | fp.Transparency = 1 | |
1122 | mode = 1 | |
1123 | dist = defdist | |
1124 | updist = 0 | |
1125 | fire.Enabled = true | |
1126 | for i = 1, 150 do | |
1127 | ball.CFrame = scf * CFrame.new(0, 0, fdist+(i*2)) * CFrame.Angles(0, 0, math.rad(i*3)) | |
1128 | local b2 = ball:Clone() | |
1129 | b2.Fire:Destroy() | |
1130 | b2.Parent = me.Character | |
1131 | b2.CFrame = ball.CFrame * CFrame.Angles(0, 0, math.rad(i*3)) | |
1132 | b2.Touched:connect(function(h) | |
1133 | if not h:IsDescendantOf(me.Character) then | |
1134 | if h:IsA("Part") and not h.Name:lower():find("base") then | |
1135 | h:Destroy() | |
1136 | end | |
1137 | end | |
1138 | end) | |
1139 | coroutine.wrap(function() | |
1140 | wait(1) | |
1141 | for i = 1, 20 do | |
1142 | b2.Transparency = b2.Transparency + 0.05 | |
1143 | wait() | |
1144 | end | |
1145 | b2:Destroy() | |
1146 | end)() | |
1147 | wait() | |
1148 | end | |
1149 | ||
1150 | ball:Destroy() | |
1151 | fdist = 2 | |
1152 | ||
1153 | elseif key:lower() == "f" then | |
1154 | me.Character.Animate.Disabled = true | |
1155 | wait(1) | |
1156 | RS.C0 = RSAnim | |
1157 | LS.C0 = LSAnim | |
1158 | for i = 1, 11 do | |
1159 | LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(-90), 0) * CFrame.Angles(math.rad(i*2), 0, 0) | |
1160 | RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(90), 0) * CFrame.Angles(math.rad(i*2), 0, 0) | |
1161 | wait() | |
1162 | end | |
1163 | ||
1164 | local bp = Instance.new("BodyPosition", me.Character.Torso) | |
1165 | bp.maxForce = Vector3.new(0, 9999, 0) | |
1166 | coroutine.wrap(function() | |
1167 | for rs = 1, 10 do | |
1168 | bp.position = me.Character.Head.Position + Vector3.new(0, 4, 0) | |
1169 | wait() | |
1170 | end | |
1171 | end)() | |
1172 | ||
1173 | for an = 1, 30 do | |
1174 | LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0) | |
1175 | RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0) | |
1176 | wait() | |
1177 | end | |
1178 | wait(0.5) | |
1179 | bp:Remove() | |
1180 | for an = 1, 7 do | |
1181 | LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0) | |
1182 | RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0) | |
1183 | wait() | |
1184 | end | |
1185 | wait(0.25) | |
1186 | local ex = Instance.new("Part", me.Character) | |
1187 | ex.Size = Vector3.new(1, 1, 1) | |
1188 | ex.Transparency = 0.4 | |
1189 | ex.BrickColor = BrickColor.new("Deep orange") | |
1190 | ||
1191 | local msh = Instance.new("SpecialMesh", ex) | |
1192 | msh.MeshType = "FileMesh" | |
1193 | msh.MeshId = "http://www.roblox.com/asset/?id=1323306" | |
1194 | msh.Scale = Vector3.new(0.5, 0.5, 0.5) | |
1195 | ||
1196 | ex.Position = handle.Position | |
1197 | ex.Anchored = true | |
1198 | ||
1199 | for i = 1, 20 do | |
1200 | msh.Scale = msh.Scale + Vector3.new(3, 3, 3) | |
1201 | for _, a in pairs(game.Players:GetChildren()) do | |
1202 | if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then | |
1203 | for _, b in pairs(a.Character:GetChildren()) do | |
1204 | if b:IsA("Humanoid") then | |
1205 | b.Health = b.Health - 10 | |
1206 | end | |
1207 | end | |
1208 | end | |
1209 | end | |
1210 | wait() | |
1211 | end | |
1212 | ||
1213 | for i = 1, 12 do | |
1214 | ex.Transparency = ex.Transparency + 0.05 | |
1215 | wait() | |
1216 | end | |
1217 | ex:Remove() | |
1218 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0) | |
1219 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0) | |
1220 | wait() | |
1221 | me.Character.Animate.Disabled = false | |
1222 | ||
1223 | elseif key:lower() == "l" then | |
1224 | me.Character.Animate.Disabled = true | |
1225 | wait(1) | |
1226 | RS.C0 = RSAnim | |
1227 | LS.C0 = LSAnim | |
1228 | for i = 1, 60 do | |
1229 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(-90), 0, -math.rad(i)) | |
1230 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(-90), 0, math.rad(i)) | |
1231 | wait() | |
1232 | end | |
1233 | ||
1234 | local beam = Instance.new("Part", me.Character) | |
1235 | beam.Size = Vector3.new(5, 300, 5) | |
1236 | beam.CanCollide = false | |
1237 | beam.CFrame = me.Character.Torso.CFrame * CFrame.new(0, (300/2)-2, 0) | |
1238 | beam.TopSurface = "Smooth" | |
1239 | beam.BottomSurface = "Smooth" | |
1240 | beam.BrickColor = BrickColor.new("New Yeller") | |
1241 | beam.Anchored = true | |
1242 | beam.Transparency = 0.3 | |
1243 | wait(0.4) | |
1244 | for e = 1, 14 do | |
1245 | beam.Transparency = beam.Transparency + 0.05 | |
1246 | wait() | |
1247 | end | |
1248 | beam:Remove() | |
1249 | local m = Instance.new("ForceField", me.Character) | |
1250 | for i = 1, 40 do | |
1251 | d1 = math.random(-200, 200) | |
1252 | d2 = math.random(-200, 200) | |
1253 | local ltn = Instance.new("Part", game.Workspace) | |
1254 | ltn.Size = Vector3.new(3, 300, 3) | |
1255 | ltn.CanCollide = false | |
1256 | ltn.CFrame = CFrame.new(d1, 0, d2) * CFrame.new(0, 300/2, 0) | |
1257 | ltn.TopSurface = "Smooth" | |
1258 | ltn.BottomSurface = "Smooth" | |
1259 | ltn.BrickColor = BrickColor.new("Deep blue") | |
1260 | ltn.Anchored = true | |
1261 | ltn.Transparency = 0.3 | |
1262 | local ex = Instance.new("Explosion") | |
1263 | ex.Position = Vector3.new(d1, 0.5, d2) | |
1264 | ex.BlastRadius = 10 | |
1265 | wait() | |
1266 | ex.Parent = game.Workspace | |
1267 | game.Lighting.Ambient = Color3.new(1, 1, 1) | |
1268 | wait(0.125) | |
1269 | ltn:Destroy() | |
1270 | game.Lighting.Ambient = Color3.new(0.5, 0.5, 0.5) | |
1271 | end | |
1272 | m:Remove() | |
1273 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0) | |
1274 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0) | |
1275 | wait() | |
1276 | me.Character.Animate.Disabled = false | |
1277 | ||
1278 | elseif key:lower() == "c" then | |
1279 | me.Character.Animate.Disabled = true | |
1280 | wait(1) | |
1281 | RS.C0 = RSAnim | |
1282 | LS.C0 = LSAnim | |
1283 | for _, a in pairs(tool:GetChildren()) do | |
1284 | a.Transparency = 1 | |
1285 | end | |
1286 | fire.Enabled = false | |
1287 | ||
1288 | local s = Instance.new("Part", me.Character) | |
1289 | s.Transparency = 0 | |
1290 | s.Name = "StrikeSword" | |
1291 | ||
1292 | local w = Instance.new("Weld", s) | |
1293 | w.Part0 = me.Character["Right Arm"] | |
1294 | w.Part1 = s | |
1295 | w.C0 = CFrame.new(0, -1, -2) * CFrame.Angles(math.rad(180), 0, 0) | |
1296 | ||
1297 | local derpe = Instance.new("SpecialMesh", s) | |
1298 | derpe.MeshType = "FileMesh" | |
1299 | derpe.MeshId = "http://www.roblox.com/asset/?id=61357428" | |
1300 | derpe.TextureId = "http://www.roblox.com/asset/?id=61357495" | |
1301 | derpe.Scale = Vector3.new(2, 2, 2.5) | |
1302 | for i = 1, 35 do | |
1303 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(-90), 0) * CFrame.Angles(math.rad(i+20), 0, 0) | |
1304 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(90), 0) * CFrame.Angles(math.rad(i+20), 0, 0) | |
1305 | wait() | |
1306 | end | |
1307 | ||
1308 | wait(1) | |
1309 | ||
1310 | for i = 1, 30 do | |
1311 | derpe.Scale = derpe.Scale + Vector3.new(0.2, 0.2, 0.2) | |
1312 | w.C0 = CFrame.new(0, -1, -2-i/3) * CFrame.Angles(math.rad(180), 0, 0) | |
1313 | wait() | |
1314 | end | |
1315 | ||
1316 | wait(0.125) | |
1317 | ||
1318 | for i = 1, 17 do | |
1319 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(-90), 0) | |
1320 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(90), 0) | |
1321 | wait() | |
1322 | end | |
1323 | wait(0.125) | |
1324 | local ex = Instance.new("Part", me.Character) | |
1325 | ex.Size = Vector3.new(1, 1, 1) | |
1326 | ex.Transparency = 0.4 | |
1327 | ex.BrickColor = BrickColor.new("Deep orange") | |
1328 | ||
1329 | local msh = Instance.new("SpecialMesh", ex) | |
1330 | msh.MeshType = "FileMesh" | |
1331 | msh.MeshId = "http://www.roblox.com/asset/?id=1323306" | |
1332 | msh.Scale = Vector3.new(0.5, 0.5, 0.5) | |
1333 | ||
1334 | ex.Position = s.Position | |
1335 | ex.Anchored = true | |
1336 | ||
1337 | coroutine.wrap(function() | |
1338 | s:Destroy() | |
1339 | for _, a in pairs(tool:GetChildren()) do | |
1340 | a.Transparency = 0 | |
1341 | end | |
1342 | fp.Transparency = 1 | |
1343 | fire.Enabled = true | |
1344 | me.Character.Animate.Disabled = false | |
1345 | end)() | |
1346 | ||
1347 | for i = 1, 20 do | |
1348 | msh.Scale = msh.Scale + Vector3.new(3, 3, 3) | |
1349 | for _, a in pairs(game.Players:GetChildren()) do | |
1350 | if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then | |
1351 | for _, b in pairs(a.Character:GetChildren()) do | |
1352 | if b:IsA("Humanoid") then | |
1353 | b.Health = b.Health - 10 | |
1354 | end | |
1355 | end | |
1356 | end | |
1357 | end | |
1358 | wait() | |
1359 | end | |
1360 | ||
1361 | for i = 1, 12 do | |
1362 | ex.Transparency = ex.Transparency + 0.05 | |
1363 | wait() | |
1364 | end | |
1365 | end | |
1366 | end) | |
1367 | ||
1368 | me.Character.Humanoid.Died:connect(function() | |
1369 | local ex = Instance.new("Explosion") | |
1370 | ex.Position = handle.Position | |
1371 | ex.BlastRadius = 100 | |
1372 | ex.BlastPressure = 1e6 | |
1373 | wait() | |
1374 | ex.Parent = game.Workspace | |
1375 | end) | |
1376 | end) | |
1377 | ||
1378 | tool.Unequipped:connect(function() | |
1379 | end) | |
1380 | --[[ | |
1381 | abyssal sword | |
1382 | LOCALSCRIPT | |
1383 | ||
1384 | keys: | |
1385 | e = energy brick | |
1386 | c = smash | |
1387 | f = fall | |
1388 | l = lightning | |
1389 | click = slash | |
1390 | right click = lasers | |
1391 | ]] | |
1392 | ||
1393 | me = game.Players.LocalPlayer | |
1394 | ||
1395 | local user = me.Character | |
1396 | ||
1397 | local tool = Instance.new("Tool", me.Backpack) | |
1398 | tool.Name = "Abyssal Sword" | |
1399 | ||
1400 | local handle = Instance.new("Part", tool) | |
1401 | handle.formFactor = "Custom" | |
1402 | handle.CanCollide = false | |
1403 | handle.Name = "Handle" | |
1404 | handle.TopSurface = "Smooth" | |
1405 | handle.BottomSurface = "Smooth" | |
1406 | handle.Size = Vector3.new(0.3, 1, 0.3) | |
1407 | handle.Rotation = Vector3.new(90, 0, 0) | |
1408 | ||
1409 | handle.Touched:connect(function(h) | |
1410 | if not h:IsDescendantOf(me.Character) then | |
1411 | for _, a in pairs(h.Parent:GetChildren()) do | |
1412 | if a:IsA("Humanoid") then | |
1413 | a.Health = a.Health - 20 | |
1414 | end | |
1415 | end | |
1416 | end | |
1417 | end) | |
1418 | ||
1419 | tool.GripPos = Vector3.new(0, 0, -2) | |
1420 | tool.GripForward = Vector3.new(-1, 0, 0) | |
1421 | tool.GripRight = Vector3.new(0, 1, 0) | |
1422 | tool.GripUp = Vector3.new(0, 0, 1.5) | |
1423 | ||
1424 | local fp = Instance.new("Part", tool) | |
1425 | fp.FormFactor = "Custom" | |
1426 | fp.Transparency = 1 | |
1427 | fp.Size = Vector3.new(0.25, 0.25, 0.25) | |
1428 | ||
1429 | local fire = Instance.new("Fire", fp) | |
1430 | fire.Color = Color3.new(0, 0, 0) | |
1431 | fire.SecondaryColor = Color3.new(255, 0, 0) | |
1432 | fire.Size = 3 | |
1433 | fire.Heat = 0 | |
1434 | ||
1435 | local derp = Instance.new("SpecialMesh", handle) | |
1436 | derp.MeshId = "http://www.roblox.com/asset/?id=61357428" | |
1437 | derp.TextureId = "http://www.roblox.com/asset/?id=61357495 " | |
1438 | derp.Scale = Vector3.new(2, 2, 2.5) | |
1439 | ||
1440 | dist = 1.5 | |
1441 | defdist = 1.5 | |
1442 | upos = 0 | |
1443 | yrot = 90 | |
1444 | mode = 1 | |
1445 | fdist = 2 | |
1446 | updist = 0 | |
1447 | ||
1448 | RS = me.Character.Torso["Right Shoulder"] | |
1449 | LS = me.Character.Torso["Left Shoulder"] | |
1450 | ||
1451 | RSAnim = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0) | |
1452 | LSAnim = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0) | |
1453 | ||
1454 | local keys = {} | |
1455 | ||
1456 | coroutine.wrap(function() | |
1457 | while true do | |
1458 | for i = 1, 40 do | |
1459 | dist = dist + 0.02 | |
1460 | defdist = defdist + 0.02 | |
1461 | wait() | |
1462 | end | |
1463 | ||
1464 | for i = 1, 40 do | |
1465 | dist = dist - 0.02 | |
1466 | defdist = defdist - 0.02 | |
1467 | wait() | |
1468 | end | |
1469 | end | |
1470 | end)() | |
1471 | ||
1472 | for i = 1, 6 do | |
1473 | local pr = Instance.new("Part", tool) | |
1474 | pr.FormFactor = "Custom" | |
1475 | pr.TopSurface = "Smooth" | |
1476 | pr.BottomSurface = "Smooth" | |
1477 | pr.Name = "derpp" | |
1478 | pr.Transparency = 0 | |
1479 | pr.Anchored = true | |
1480 | pr.CanCollide = false | |
1481 | ||
1482 | pr.Touched:connect(function(h) | |
1483 | if not h:IsDescendantOf(me.Character) then | |
1484 | if h.Parent:FindFirstChild("Humanoid") then | |
1485 | h.Parent.Humanoid:TakeDamage(10) | |
1486 | end | |
1487 | end | |
1488 | end) | |
1489 | if i == 1 or i == 3 or i == 5 then | |
1490 | pr.BrickColor = BrickColor.new("Really black") | |
1491 | ||
1492 | else | |
1493 | pr.BrickColor = BrickColor.new("Dusty Rose") | |
1494 | end | |
1495 | ||
1496 | pr.CanCollide = false | |
1497 | pr.Size = Vector3.new(0.5, 0.5, 0.5) | |
1498 | coroutine.wrap(function() | |
1499 | while true do | |
1500 | for r = 1, 90 do | |
1501 | if mode == 1 then | |
1502 | pr.CFrame = fp.CFrame * CFrame.Angles(0, math.rad((r*4)+((360/6)*i)), math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist) | |
1503 | ||
1504 | elseif mode == 2 then | |
1505 | pr.CFrame = (fp.CFrame * CFrame.new(2, 0, 0)) * CFrame.Angles(math.rad((r*4)+((360/6)*i)), 0, math.rad((r*4)+((360/5)*i))) * CFrame.new(0, 0, dist) | |
1506 | ||
1507 | elseif mode == 3 then | |
1508 | pr.CFrame = me.Character["EnergyBrick"].CFrame * CFrame.Angles(0, 0, math.rad((r*4)+((360/6)*i))) * CFrame.new(0, dist, 0) | |
1509 | end | |
1510 | wait() | |
1511 | end | |
1512 | end | |
1513 | end)() | |
1514 | end | |
1515 | ||
1516 | tool.Equipped:connect(function(m) | |
1517 | local w = Instance.new("Weld", handle) | |
1518 | w.Part0 = handle | |
1519 | w.Part1 = fp | |
1520 | w.C0 = CFrame.new(0, 0, 0.75) | |
1521 | ||
1522 | m.Button1Down:connect(function() | |
1523 | down = true | |
1524 | wait() | |
1525 | ||
1526 | for i = 1,6 do | |
1527 | me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(-i*4)) | |
1528 | wait() | |
1529 | end | |
1530 | ||
1531 | for i = 1, 6 do | |
1532 | me.Character.Torso["Right Shoulder"].C0 = me.Character.Torso["Right Shoulder"].C0 * CFrame.Angles(0, 0, math.rad(i*4)) | |
1533 | wait() | |
1534 | end | |
1535 | end) | |
1536 | ||
1537 | m.Button1Up:connect(function() | |
1538 | down = false | |
1539 | end) | |
1540 | ||
1541 | m.Button2Down:connect(function() | |
1542 | mode = 2 | |
1543 | fire.Size = 6 | |
1544 | wait(0.5) | |
1545 | for _, a in pairs(tool:GetChildren()) do | |
1546 | if a.Name == "derpp" then | |
1547 | coroutine.wrap(function() | |
1548 | local ray = Ray.new(a.CFrame.p, (m.Hit.p-a.CFrame.p).unit*300) | |
1549 | ||
1550 | local hit, pos = game.Workspace:FindPartOnRay(ray, me.Character) | |
1551 | ||
1552 | local h = hit | |
1553 | if h then | |
1554 | for _, a in pairs(h.Parent:GetChildren()) do | |
1555 | if a:IsA("Humanoid") then | |
1556 | a.Health = a.Health - 20 | |
1557 | end | |
1558 | end | |
1559 | end | |
1560 | ||
1561 | local dis = (pos-a.CFrame.p).magnitude | |
1562 | ||
1563 | local beam = Instance.new("Part", user) | |
1564 | beam.TopSurface = "Smooth" | |
1565 | beam.BottomSurface = "Smooth" | |
1566 | beam.FormFactor = "Custom" | |
1567 | beam.Size = Vector3.new(1, 1, dis) | |
1568 | beam.Anchored = true | |
1569 | beam.BrickColor = BrickColor.new("Really black") | |
1570 | beam.CanCollide = false | |
1571 | beam.Transparency = 0.3 | |
1572 | coroutine.wrap(function() | |
1573 | for d = 1, 10 do | |
1574 | beam.Size = beam.Size - Vector3.new(0.1, 0.1, 0) | |
1575 | beam.CFrame = CFrame.new(pos, a.CFrame.p) * CFrame.new(0, 0, -dis/2) | |
1576 | wait() | |
1577 | end | |
1578 | end)() | |
1579 | wait(0.5) | |
1580 | beam:Remove() | |
1581 | end)() | |
1582 | end | |
1583 | end | |
1584 | ||
1585 | wait(0.5) | |
1586 | mode = 1 | |
1587 | end) | |
1588 | ||
1589 | m.Button2Up:connect(function(k) | |
1590 | fire.Size = 3 | |
1591 | end) | |
1592 | ||
1593 | m.KeyDown:connect(function(key) | |
1594 | if key:lower() == "e" then | |
1595 | me.Character.Animate.Disabled = true | |
1596 | wait(1) | |
1597 | RS.C0 = RSAnim | |
1598 | LS.C0 = LSAnim | |
1599 | for _, a in pairs(tool:GetChildren()) do | |
1600 | if a.Name ~= "derpp" then | |
1601 | a.Transparency = 1 | |
1602 | end | |
1603 | end | |
1604 | fire.Enabled = false | |
1605 | ||
1606 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(30), 0, 0) | |
1607 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30), 0, 0) | |
1608 | ||
1609 | coroutine.wrap(function() | |
1610 | for d = 1, 30 do | |
1611 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad((30-(d))), 0, 0) | |
1612 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(30-(d)), 0, 0) | |
1613 | wait() | |
1614 | end | |
1615 | end)() | |
1616 | ||
1617 | local ball = Instance.new("Part", me.Character) | |
1618 | ball.Name = "EnergyBrick" | |
1619 | ball.TopSurface = "Smooth" | |
1620 | ball.BottomSurface = "Smooth" | |
1621 | ball.CanCollide = false | |
1622 | ball.Transparency = 0.4 | |
1623 | ball.BrickColor = BrickColor.new("Really black") | |
1624 | ball.Anchored = true | |
1625 | ball.Size = Vector3.new(1, 1, 1) | |
1626 | ball.FormFactor = "Custom" | |
1627 | ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, 0, fdist) | |
1628 | ball.Touched:connect(function(h) | |
1629 | if not h:IsDescendantOf(me.Character) then | |
1630 | if h:IsA("Part") and not h.Name:lower():find("base") then | |
1631 | h:Destroy() | |
1632 | end | |
1633 | end | |
1634 | end) | |
1635 | local f = Instance.new("Fire", ball) | |
1636 | f.Size = 3 | |
1637 | f.Color = Color3.new(0, 0, 0) | |
1638 | f.SecondaryColor = Color3.new(0, 0, 255) | |
1639 | wait() | |
1640 | mode = 3 | |
1641 | ||
1642 | for d = 1, 40 do | |
1643 | f.Size = f.Size + 0.25 | |
1644 | fdist = fdist + 0.05 | |
1645 | dist = dist + 0.05 | |
1646 | updist = updist + 0.025 | |
1647 | ball.Size = ball.Size + Vector3.new(0.1, 0.1, 0.1) | |
1648 | ball.CFrame = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) * CFrame.new(0, updist, fdist) | |
1649 | wait() | |
1650 | end | |
1651 | ||
1652 | local scf = me.Character.Torso.CFrame * CFrame.Angles(0, math.rad(180), 0) | |
1653 | me.Character.Animate.Disabled = false | |
1654 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0) | |
1655 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0) | |
1656 | for _, a in pairs(tool:GetChildren()) do | |
1657 | a.Transparency = 0 | |
1658 | end | |
1659 | fp.Transparency = 1 | |
1660 | mode = 1 | |
1661 | dist = defdist | |
1662 | updist = 0 | |
1663 | fire.Enabled = true | |
1664 | for i = 1, 150 do | |
1665 | ball.CFrame = scf * CFrame.new(0, 0, fdist+(i*2)) * CFrame.Angles(0, 0, math.rad(i*3)) | |
1666 | local b2 = ball:Clone() | |
1667 | b2.Fire:Destroy() | |
1668 | b2.Parent = me.Character | |
1669 | b2.CFrame = ball.CFrame * CFrame.Angles(0, 0, math.rad(i*3)) | |
1670 | b2.Touched:connect(function(h) | |
1671 | if not h:IsDescendantOf(me.Character) then | |
1672 | if h:IsA("Part") and not h.Name:lower():find("base") then | |
1673 | h:Destroy() | |
1674 | end | |
1675 | end | |
1676 | end) | |
1677 | coroutine.wrap(function() | |
1678 | wait(1) | |
1679 | for i = 1, 20 do | |
1680 | b2.Transparency = b2.Transparency + 0.05 | |
1681 | wait() | |
1682 | end | |
1683 | b2:Destroy() | |
1684 | end)() | |
1685 | wait() | |
1686 | end | |
1687 | ||
1688 | ball:Destroy() | |
1689 | fdist = 2 | |
1690 | ||
1691 | elseif key:lower() == "f" then | |
1692 | me.Character.Animate.Disabled = true | |
1693 | wait(1) | |
1694 | RS.C0 = RSAnim | |
1695 | LS.C0 = LSAnim | |
1696 | for i = 1, 11 do | |
1697 | LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(-90), 0) * CFrame.Angles(math.rad(i*2), 0, 0) | |
1698 | RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(i*8), math.rad(90), 0) * CFrame.Angles(math.rad(i*2), 0, 0) | |
1699 | wait() | |
1700 | end | |
1701 | ||
1702 | local bp = Instance.new("BodyPosition", me.Character.Torso) | |
1703 | bp.maxForce = Vector3.new(0, 9999, 0) | |
1704 | coroutine.wrap(function() | |
1705 | for rs = 1, 10 do | |
1706 | bp.position = me.Character.Head.Position + Vector3.new(0, 4, 0) | |
1707 | wait() | |
1708 | end | |
1709 | end)() | |
1710 | ||
1711 | for an = 1, 30 do | |
1712 | LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0) | |
1713 | RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90+(an)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0) | |
1714 | wait() | |
1715 | end | |
1716 | wait(0.5) | |
1717 | bp:Remove() | |
1718 | for an = 1, 7 do | |
1719 | LS.C0 = CFrame.new(-0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(-90), 0) * CFrame.Angles(math.rad(45), 0, 0) | |
1720 | RS.C0 = CFrame.new(0.75, 0.5, -0.5) * CFrame.Angles(math.rad(90-(an*9)), math.rad(90), 0) * CFrame.Angles(math.rad(45), 0, 0) | |
1721 | wait() | |
1722 | end | |
1723 | wait(0.25) | |
1724 | local ex = Instance.new("Part", me.Character) | |
1725 | ex.Size = Vector3.new(1, 1, 1) | |
1726 | ex.Transparency = 0.4 | |
1727 | ex.BrickColor = BrickColor.new("Deep orange") | |
1728 | ||
1729 | local msh = Instance.new("SpecialMesh", ex) | |
1730 | msh.MeshType = "FileMesh" | |
1731 | msh.MeshId = "http://www.roblox.com/asset/?id=1323306" | |
1732 | msh.Scale = Vector3.new(0.5, 0.5, 0.5) | |
1733 | ||
1734 | ex.Position = handle.Position | |
1735 | ex.Anchored = true | |
1736 | ||
1737 | for i = 1, 20 do | |
1738 | msh.Scale = msh.Scale + Vector3.new(3, 3, 3) | |
1739 | for _, a in pairs(game.Players:GetChildren()) do | |
1740 | if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then | |
1741 | for _, b in pairs(a.Character:GetChildren()) do | |
1742 | if b:IsA("Humanoid") then | |
1743 | b.Health = b.Health - 10 | |
1744 | end | |
1745 | end | |
1746 | end | |
1747 | end | |
1748 | wait() | |
1749 | end | |
1750 | ||
1751 | for i = 1, 12 do | |
1752 | ex.Transparency = ex.Transparency + 0.05 | |
1753 | wait() | |
1754 | end | |
1755 | ex:Remove() | |
1756 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0) | |
1757 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0) | |
1758 | wait() | |
1759 | me.Character.Animate.Disabled = false | |
1760 | ||
1761 | elseif key:lower() == "l" then | |
1762 | me.Character.Animate.Disabled = true | |
1763 | wait(1) | |
1764 | RS.C0 = RSAnim | |
1765 | LS.C0 = LSAnim | |
1766 | for i = 1, 60 do | |
1767 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(-90), 0) * CFrame.Angles(math.rad(-90), 0, -math.rad(i)) | |
1768 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(90), math.rad(90), 0) * CFrame.Angles(math.rad(-90), 0, math.rad(i)) | |
1769 | wait() | |
1770 | end | |
1771 | ||
1772 | local beam = Instance.new("Part", me.Character) | |
1773 | beam.Size = Vector3.new(5, 300, 5) | |
1774 | beam.CanCollide = false | |
1775 | beam.CFrame = me.Character.Torso.CFrame * CFrame.new(0, (300/2)-2, 0) | |
1776 | beam.TopSurface = "Smooth" | |
1777 | beam.BottomSurface = "Smooth" | |
1778 | beam.BrickColor = BrickColor.new("New Yeller") | |
1779 | beam.Anchored = true | |
1780 | beam.Transparency = 0.3 | |
1781 | wait(0.4) | |
1782 | for e = 1, 14 do | |
1783 | beam.Transparency = beam.Transparency + 0.05 | |
1784 | wait() | |
1785 | end | |
1786 | beam:Remove() | |
1787 | local m = Instance.new("ForceField", me.Character) | |
1788 | for i = 1, 40 do | |
1789 | d1 = math.random(-200, 200) | |
1790 | d2 = math.random(-200, 200) | |
1791 | local ltn = Instance.new("Part", game.Workspace) | |
1792 | ltn.Size = Vector3.new(3, 300, 3) | |
1793 | ltn.CanCollide = false | |
1794 | ltn.CFrame = CFrame.new(d1, 0, d2) * CFrame.new(0, 300/2, 0) | |
1795 | ltn.TopSurface = "Smooth" | |
1796 | ltn.BottomSurface = "Smooth" | |
1797 | ltn.BrickColor = BrickColor.new("Deep blue") | |
1798 | ltn.Anchored = true | |
1799 | ltn.Transparency = 0.3 | |
1800 | local ex = Instance.new("Explosion") | |
1801 | ex.Position = Vector3.new(d1, 0.5, d2) | |
1802 | ex.BlastRadius = 10 | |
1803 | wait() | |
1804 | ex.Parent = game.Workspace | |
1805 | game.Lighting.Ambient = Color3.new(1, 1, 1) | |
1806 | wait(0.125) | |
1807 | ltn:Destroy() | |
1808 | game.Lighting.Ambient = Color3.new(0.5, 0.5, 0.5) | |
1809 | end | |
1810 | m:Remove() | |
1811 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, math.rad(-90), 0) | |
1812 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.rad(90), 0) | |
1813 | wait() | |
1814 | me.Character.Animate.Disabled = false | |
1815 | ||
1816 | elseif key:lower() == "c" then | |
1817 | me.Character.Animate.Disabled = true | |
1818 | wait(1) | |
1819 | RS.C0 = RSAnim | |
1820 | LS.C0 = LSAnim | |
1821 | for _, a in pairs(tool:GetChildren()) do | |
1822 | a.Transparency = 1 | |
1823 | end | |
1824 | fire.Enabled = false | |
1825 | ||
1826 | local s = Instance.new("Part", me.Character) | |
1827 | s.Transparency = 0 | |
1828 | s.Name = "StrikeSword" | |
1829 | ||
1830 | local w = Instance.new("Weld", s) | |
1831 | w.Part0 = me.Character["Right Arm"] | |
1832 | w.Part1 = s | |
1833 | w.C0 = CFrame.new(0, -1, -2) * CFrame.Angles(math.rad(180), 0, 0) | |
1834 | ||
1835 | local derpe = Instance.new("SpecialMesh", s) | |
1836 | derpe.MeshType = "FileMesh" | |
1837 | derpe.MeshId = "http://www.roblox.com/asset/?id=61357428" | |
1838 | derpe.TextureId = "http://www.roblox.com/asset/?id=61357495" | |
1839 | derpe.Scale = Vector3.new(2, 2, 2.5) | |
1840 | for i = 1, 35 do | |
1841 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(-90), 0) * CFrame.Angles(math.rad(i+20), 0, 0) | |
1842 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(20+(i*3)), math.rad(90), 0) * CFrame.Angles(math.rad(i+20), 0, 0) | |
1843 | wait() | |
1844 | end | |
1845 | ||
1846 | wait(1) | |
1847 | ||
1848 | for i = 1, 30 do | |
1849 | derpe.Scale = derpe.Scale + Vector3.new(0.2, 0.2, 0.2) | |
1850 | w.C0 = CFrame.new(0, -1, -2-i/3) * CFrame.Angles(math.rad(180), 0, 0) | |
1851 | wait() | |
1852 | end | |
1853 | ||
1854 | wait(0.125) | |
1855 | ||
1856 | for i = 1, 17 do | |
1857 | LS.C0 = CFrame.new(-1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(-90), 0) | |
1858 | RS.C0 = CFrame.new(1, 0.5, 0) * CFrame.Angles(math.rad(110-(i*6)), math.rad(90), 0) | |
1859 | wait() | |
1860 | end | |
1861 | wait(0.125) | |
1862 | local ex = Instance.new("Part", me.Character) | |
1863 | ex.Size = Vector3.new(1, 1, 1) | |
1864 | ex.Transparency = 0.4 | |
1865 | ex.BrickColor = BrickColor.new("Deep orange") | |
1866 | ||
1867 | local msh = Instance.new("SpecialMesh", ex) | |
1868 | msh.MeshType = "FileMesh" | |
1869 | msh.MeshId = "http://www.roblox.com/asset/?id=1323306" | |
1870 | msh.Scale = Vector3.new(0.5, 0.5, 0.5) | |
1871 | ||
1872 | ex.Position = s.Position | |
1873 | ex.Anchored = true | |
1874 | ||
1875 | coroutine.wrap(function() | |
1876 | s:Destroy() | |
1877 | for _, a in pairs(tool:GetChildren()) do | |
1878 | a.Transparency = 0 | |
1879 | end | |
1880 | fp.Transparency = 1 | |
1881 | fire.Enabled = true | |
1882 | me.Character.Animate.Disabled = false | |
1883 | end)() | |
1884 | ||
1885 | for i = 1, 20 do | |
1886 | msh.Scale = msh.Scale + Vector3.new(3, 3, 3) | |
1887 | for _, a in pairs(game.Players:GetChildren()) do | |
1888 | if a.Name ~= me.Name and (a.Character.Torso.Position-ex.Position).magnitude <= i*2 then | |
1889 | for _, b in pairs(a.Character:GetChildren()) do | |
1890 | if b:IsA("Humanoid") then | |
1891 | b.Health = b.Health - 10 | |
1892 | end | |
1893 | end | |
1894 | end | |
1895 | end | |
1896 | wait() | |
1897 | end | |
1898 | ||
1899 | for i = 1, 12 do | |
1900 | ex.Transparency = ex.Transparency + 0.05 | |
1901 | wait() | |
1902 | end | |
1903 | end | |
1904 | end) | |
1905 | ||
1906 | me.Character.Humanoid.Died:connect(function() | |
1907 | local ex = Instance.new("Explosion") | |
1908 | ex.Position = handle.Position | |
1909 | ex.BlastRadius = 100 | |
1910 | ex.BlastPressure = 1e6 | |
1911 | wait() | |
1912 | ex.Parent = game.Workspace | |
1913 | end) | |
1914 | end) | |
1915 | ||
1916 | tool.Unequipped:connect(function() | |
1917 | end) |