SHOW:
|
|
- or go back to the newest paste.
1 | --[Put your name on line 4 created by GiantLuaScriptMaker] | |
2 | ||
3 | ||
4 | - | for i, v in pairs(game.Players.henry9h.Backpack:children()) do |
4 | + | for i, v in pairs(game.Players.bmark2003.Backpack:children()) do |
5 | if v.className == "HopperBin" and v.Name == "Spirit Sword" then | |
6 | v:remove() | |
7 | end | |
8 | end | |
9 | bin = Instance.new("HopperBin") | |
10 | bin.Name = "Spirit Sword" | |
11 | bin.Parent = game.Players.LocalPlayer.Backpack | |
12 | local doublesword = true | |
13 | local doubleclicktime = 0.3 | |
14 | local idledmg = 5 | |
15 | local chargedmg = 8 | |
16 | if doublesword == true then | |
17 | idledmg = idledmg/1.7 | |
18 | chargedmg = chargedmg/1.7 | |
19 | end | |
20 | local character = game.Players.LocalPlayer.Character | |
21 | local char = game.Players.LocalPlayer.Character | |
22 | local HUM = game.Players.LocalPlayer.Character:findFirstChild("Humanoid") | |
23 | local Torsoz = game.Players.LocalPlayer.Character:findFirstChild("Torso") | |
24 | local RA = game.Players.LocalPlayer.Character:findFirstChild("Right Arm") | |
25 | local LA = game.Players.LocalPlayer.Character:findFirstChild("Left Arm") | |
26 | local H = game.Players.LocalPlayer.Character:findFirstChild("Head") | |
27 | local RS = Torsoz:findFirstChild("Right Shoulder") | |
28 | local LS = Torsoz:findFirstChild("Left Shoulder") | |
29 | local RH = Torsoz:findFirstChild("Right Hip") | |
30 | local LH = Torsoz:findFirstChild("Left Hip") | |
31 | local N = Torsoz:findFirstChild("Neck") | |
32 | local Joint1 | |
33 | local Joint2 | |
34 | local Main | |
35 | local j | |
36 | local j2 | |
37 | local Attacking = false | |
38 | local Charging = false | |
39 | local Casting = false | |
40 | local clickval = false | |
41 | local effectz = false | |
42 | local rnum = Instance.new("NumberValue") | |
43 | rnum.Value = math.random() | |
44 | local efftable = {} | |
45 | local raytable = {} | |
46 | chargepitch = 1.7 | |
47 | chargevol = 0.2 | |
48 | local ChargeSwing = Instance.new("Sound", H) | |
49 | ChargeSwing.SoundId = "http://www.roblox.com/asset/?id=31758934" | |
50 | ChargeSwing.Pitch = chargepitch | |
51 | ChargeSwing.Volume = chargevol | |
52 | summonpitch = 1 | |
53 | summonvol = 1 | |
54 | local Summon = Instance.new("Sound", H) | |
55 | Summon.SoundId = "http://www.roblox.com/asset/?id=12229501" | |
56 | Summon.Pitch = summonpitch | |
57 | Summon.Volume = summonvol | |
58 | Summon.Looped = false | |
59 | local HitSound = Instance.new("Sound", H) | |
60 | HitSound.SoundId = "http://www.roblox.com/asset/?id=16950449" | |
61 | HitSound.Pitch = 0.6 | |
62 | HitSound.Volume = 0.7 | |
63 | HitSound.Looped = false | |
64 | local P = Instance.new("Part") | |
65 | P.Anchored = false | |
66 | P.CanCollide = false | |
67 | P.Name = "Part" | |
68 | P.formFactor = "Custom" | |
69 | P.Size = Vector3.new(0.5,0.5,0.5) | |
70 | P.Locked = true | |
71 | P.TopSurface = 0 | |
72 | P.BottomSurface = 0 | |
73 | function Build() | |
74 | for i, v in pairs(char:children()) do | |
75 | if v.className == "Model" and v.Name == "SpiritSword" then | |
76 | v:remove() | |
77 | end | |
78 | end | |
79 | local mdl = Instance.new("Model", char) | |
80 | mdl.Name = "SpiritSword" | |
81 | local h = P:Clone() | |
82 | h.Name = "Sword" | |
83 | h.Parent = mdl | |
84 | h.Size = Vector3.new(1,1,4.2) | |
85 | local mesh = Instance.new("SpecialMesh", h) | |
86 | mesh.Name = "Mesh" | |
87 | mesh.MeshId = "http://www.roblox.com/asset/?id=76448940" | |
88 | mesh.TextureId = "http://www.roblox.com/asset/?id=76448989" | |
89 | mesh.Scale = Vector3.new(0.75,0.75,0.75) | |
90 | j = h:Clone() | |
91 | j.Parent = h | |
92 | j.Size = Vector3.new(0.5,0.5,0.5) | |
93 | j.Name = "SwordEffect" | |
94 | j.Transparency = 0.2 | |
95 | local w = Instance.new("Motor", j) | |
96 | w.Part0 = h | |
97 | w.Part1 = j | |
98 | local w = Instance.new("Motor", h) | |
99 | w.Part0 = Torsoz | |
100 | w.Part1 = h | |
101 | w.C0 = CFrame.new(0,0,0.55) * CFrame.Angles(math.pi/2,0,math.pi) | |
102 | w.C0 = w.C0 * CFrame.Angles(0,math.pi/4,0) | |
103 | Main = w | |
104 | if doublesword == true then | |
105 | local h2 = P:Clone() | |
106 | h2.Name = "Sword2" | |
107 | h2.Parent = h | |
108 | h2.Size = Vector3.new(1,1,4.2) | |
109 | local mesh = Instance.new("SpecialMesh", h2) | |
110 | mesh.MeshId = "http://www.roblox.com/asset/?id=76448940" | |
111 | mesh.TextureId = "http://www.roblox.com/asset/?id=76448989" | |
112 | mesh.Scale = Vector3.new(0.75,0.75,0.75) | |
113 | j2 = h2:Clone() | |
114 | j2.Parent = h2 | |
115 | j2.Size = Vector3.new(0.5,0.5,0.5) | |
116 | j2.Name = "SwordEffect2" | |
117 | j2.Transparency = 0.2 | |
118 | local w = Instance.new("Motor", j2) | |
119 | w.Part0 = h2 | |
120 | w.Part1 = j2 | |
121 | local w = Instance.new("Motor", h2) | |
122 | w.Part0 = h | |
123 | w.Part1 = h2 | |
124 | w.C0 = CFrame.new(0,0,-3.25) * CFrame.Angles(0,-math.pi,0) | |
125 | end | |
126 | end | |
127 | Build() | |
128 | function Click(num) | |
129 | if clickval == true then | |
130 | wait() | |
131 | clickval = false | |
132 | else | |
133 | clickval = true | |
134 | wait(doubleclicktime) | |
135 | clickval = false | |
136 | end | |
137 | end | |
138 | function ChargeAttack(mouse, speed) | |
139 | Charging = true | |
140 | local p = Joint1.Parent | |
141 | Joint1:remove() | |
142 | Joint1 = Instance.new("Motor", p) | |
143 | Joint1.Part0 = Torsoz | |
144 | Joint1.Part1 = p | |
145 | Joint1.C0 = CFrame.new(1.5,0.5,0) | |
146 | local rnumz = rnum.Value | |
147 | local jointz = Joint1 | |
148 | local con = Main.Parent.Touched:connect(function(hit) | |
149 | if hit.Parent:findFirstChild("Humanoid") ~= nil and hit.Parent.Name ~= char.Name then | |
150 | HitSound:Stop() | |
151 | hit.Parent.Humanoid:TakeDamage(chargedmg) | |
152 | HitSound:Play() | |
153 | end | |
154 | end) | |
155 | local con2 = nil | |
156 | if doublesword == true then | |
157 | con2 = Main.Parent.Sword2.Touched:connect(function(hit) | |
158 | if hit.Parent:findFirstChild("Humanoid") ~= nil and hit.Parent.Name ~= char.Name then | |
159 | hit.Parent.Humanoid:TakeDamage(chargedmg) | |
160 | end | |
161 | end) | |
162 | end | |
163 | wait() | |
164 | Attacking = true | |
165 | --print("Charge Activated") | |
166 | Torsoz.CFrame = CFrame.new(Torsoz.Position, Vector3.new(mouse.Hit.x,Torsoz.Position.y,mouse.Hit.z)) | |
167 | local bv = Instance.new("BodyVelocity", Torsoz) | |
168 | bv.maxForce = Vector3.new(math.huge,0,math.huge) | |
169 | bv.velocity = CFrame.new(Torsoz.Position, Vector3.new(mouse.Hit.x,Torsoz.Position.y,mouse.Hit.z)).lookVector * speed | |
170 | local bg = Instance.new("BodyGyro", Torsoz) | |
171 | bg.maxTorque = Vector3.new(math.huge,0,math.huge) | |
172 | bg.cframe = CFrame.new(Torsoz.Position, Vector3.new(mouse.Hit.x,Torsoz.Position.y,mouse.Hit.z)) | |
173 | bg.D = 100 | |
174 | effectz = true | |
175 | for _ = 1, 1 do | |
176 | jointz.C0 = CFrame.new(1.35,0.5,0) * CFrame.Angles(0,0,-math.pi/3) | |
177 | jointz.C0 = jointz.C0 * CFrame.Angles(math.pi/1.1,0,0) | |
178 | ChargeSwing.Pitch = chargepitch | |
179 | ChargeSwing.Volume = chargevol | |
180 | ChargeSwing:Play() | |
181 | for i = 1, 13 do | |
182 | ChargeSwing.Pitch = ChargeSwing.Pitch - 0.045 | |
183 | ChargeSwing.Volume = ChargeSwing.Volume + 0.1 | |
184 | jointz.C0 = jointz.C0 * CFrame.Angles(-(math.pi/1.1)/13,0,0) | |
185 | wait() | |
186 | end | |
187 | jointz.C0 = CFrame.new(1.25,0.5,0) * CFrame.Angles(0,0,math.pi/3) | |
188 | jointz.C0 = jointz.C0 * CFrame.Angles(math.pi/1.3,0,0) | |
189 | ChargeSwing.Pitch = chargepitch | |
190 | ChargeSwing.Volume = chargevol | |
191 | ChargeSwing:Play() | |
192 | for i = 1, 13 do | |
193 | ChargeSwing.Pitch = ChargeSwing.Pitch - 0.045 | |
194 | ChargeSwing.Volume = ChargeSwing.Volume + 0.1 | |
195 | jointz.C0 = jointz.C0 * CFrame.Angles(-(math.pi*1.15)/13,0,0) | |
196 | wait() | |
197 | end | |
198 | end | |
199 | HUM.PlatformStand = false | |
200 | con:disconnect() | |
201 | if con2 ~= nil then | |
202 | con2:disconnect() | |
203 | end | |
204 | bv:Destroy() | |
205 | bg:Destroy() | |
206 | jointz.C0 = CFrame.new(1.5,0.5,0) * CFrame.Angles(math.pi/2.4,0,0) | |
207 | wait() | |
208 | ChargeSwing.Pitch = chargepitch | |
209 | ChargeSwing.Volume = chargevol | |
210 | Attacking = false | |
211 | Charging = false | |
212 | effectz = false | |
213 | end | |
214 | function IdleAttack() | |
215 | effectz = true | |
216 | local numz = rnum.Value | |
217 | local jointz = Joint1 | |
218 | local con = Main.Parent.Touched:connect(function(hit) | |
219 | if hit.Parent:findFirstChild("Humanoid") ~= nil and hit.Parent.Name ~= char.Name then | |
220 | HitSound:Stop() | |
221 | hit.Parent.Humanoid:TakeDamage(idledmg) | |
222 | HitSound:Play() | |
223 | end | |
224 | end) | |
225 | local con2 = nil | |
226 | if doublesword == true then | |
227 | con2 = Main.Parent.Sword2.Touched:connect(function(hit) | |
228 | if hit.Parent:findFirstChild("Humanoid") ~= nil and hit.Parent.Name ~= char.Name then | |
229 | hit.Parent.Humanoid:TakeDamage(idledmg) | |
230 | end | |
231 | end) | |
232 | end | |
233 | Attacking = true | |
234 | --print("Attack Activated") | |
235 | jointz.C0 = CFrame.new(1.25,0.5,0) * CFrame.Angles(0,0,math.pi/3) | |
236 | jointz.C0 = jointz.C0 * CFrame.Angles(math.pi/1.3,0,0) | |
237 | ChargeSwing.Pitch = chargepitch | |
238 | ChargeSwing.Volume = chargevol | |
239 | ChargeSwing:Play() | |
240 | for i = 1, 16 do | |
241 | if rnum.Value ~= numz then | |
242 | ChargeSwing:Stop() | |
243 | --print("Attack Deactivated") | |
244 | break | |
245 | end | |
246 | ChargeSwing.Pitch = ChargeSwing.Pitch - 0.045 | |
247 | ChargeSwing.Volume = ChargeSwing.Volume + 0.1 | |
248 | jointz.C0 = jointz.C0 * CFrame.Angles(-(math.pi*1.15)/16,0,0) | |
249 | wait() | |
250 | end | |
251 | HUM.PlatformStand = false | |
252 | con:disconnect() | |
253 | if con2 ~= nil then | |
254 | con2:disconnect() | |
255 | end | |
256 | jointz.C0 = CFrame.new(1.5,0.5,0) * CFrame.Angles(math.pi/2.4,0,0) | |
257 | ChargeSwing.Pitch = chargepitch | |
258 | ChargeSwing.Volume = chargevol | |
259 | Attacking = false | |
260 | effectz = false | |
261 | end | |
262 | function onButton1Down(mouse) | |
263 | if Charging == false and Casting == false then | |
264 | if clickval == true then | |
265 | rnum.Value = math.random() | |
266 | coroutine.resume(coroutine.create(ChargeAttack), mouse, 40) | |
267 | else | |
268 | if Attacking == false then | |
269 | coroutine.resume(coroutine.create(IdleAttack)) | |
270 | end | |
271 | end | |
272 | end | |
273 | coroutine.resume(coroutine.create(Click), rnum.Value) | |
274 | end | |
275 | function SwordThrow(mouse) | |
276 | local bp = Instance.new("BodyPosition", Torsoz) | |
277 | bp.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
278 | bp.position = Torsoz.Position | |
279 | local bg = Instance.new("BodyGyro", Torsoz) | |
280 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
281 | bg.cframe = CFrame.new(Torsoz.Position, Vector3.new(mouse.Hit.x,Torsoz.Position.y,mouse.Hit.z)) | |
282 | HUM.WalkSpeed = 0 | |
283 | local jointz = Joint1 | |
284 | Casting = true | |
285 | Torsoz.CFrame = CFrame.new(Torsoz.Position, Vector3.new(mouse.Hit.x,Torsoz.Position.y,mouse.Hit.z)) | |
286 | local tab = {} | |
287 | for i = 1, 3 do | |
288 | local s = P:Clone() | |
289 | s.Name = "SwordSpell" | |
290 | s.Parent = char | |
291 | s.Anchored = true | |
292 | s.Size = Vector3.new(0.5,0.5,0.5) | |
293 | s.Transparency = 1 | |
294 | if i == 1 then | |
295 | s.CFrame = Torsoz.CFrame * CFrame.new(-4,-4.5,0) * CFrame.Angles(-math.pi/2,0,0) | |
296 | elseif i == 2 then | |
297 | s.CFrame = Torsoz.CFrame * CFrame.new(0,-4.5,-4) * CFrame.Angles(-math.pi/2,0,-math.pi/2) | |
298 | elseif i == 3 then | |
299 | s.CFrame = Torsoz.CFrame * CFrame.new(4,-4.5,0) * CFrame.Angles(-math.pi/2,0,math.pi) | |
300 | end | |
301 | local mesh = Instance.new("SpecialMesh", s) | |
302 | mesh.MeshId = "http://www.roblox.com/asset/?id=76448940" | |
303 | mesh.TextureId = "http://www.roblox.com/asset/?id=76448989" | |
304 | mesh.Scale = Vector3.new(0.55,0.55,0.75) | |
305 | mesh.VertexColor = Vector3.new(0.2,0.45,1) | |
306 | tab[i] = s | |
307 | end | |
308 | jointz.C0 = CFrame.new(1.5,0.5,0) * CFrame.Angles(0,0,0) | |
309 | Summon.Pitch = summonpitch | |
310 | Summon.Volume = summonvol | |
311 | effectz = true | |
312 | Summon:Play() | |
313 | for i = 1, 22 do | |
314 | Summon.Pitch = Summon.Pitch - (1/22) | |
315 | for i, v in pairs(tab) do | |
316 | v.CFrame = v.CFrame * CFrame.new(0,0,9/22) * CFrame.Angles(0,0,math.pi*6/22) | |
317 | v.Transparency = v.Transparency - 0.65/22 | |
318 | end | |
319 | jointz.C0 = jointz.C0 * CFrame.Angles(math.pi/1.6/22,0,0) * CFrame.Angles(0,0,0.08) | |
320 | wait(0.012) | |
321 | end | |
322 | wait(0.12) | |
323 | Summon:Stop() | |
324 | Summon.Pitch = summonpitch | |
325 | Summon.Volume = summonvol | |
326 | for i = 1, 3 do | |
327 | jointz.C0 = jointz.C0 * CFrame.Angles(0,-math.pi/2/3,0) | |
328 | wait() | |
329 | end | |
330 | for i, v in pairs(tab) do | |
331 | v.CFrame = CFrame.new(v.Position, mouse.Hit.p) * CFrame.Angles(0,math.pi,0) | |
332 | end | |
333 | for i = 1, 5 do | |
334 | jointz.C0 = jointz.C0 * CFrame.Angles(-math.pi/1.4/5,0.06,0) | |
335 | if i == 3 then | |
336 | for ii = 1, 3 do | |
337 | table.insert(raytable, tab[ii]) | |
338 | game:service("Debris"):AddItem(tab[ii], 8.5) | |
339 | tab[ii] = nil | |
340 | end | |
341 | end | |
342 | wait() | |
343 | end | |
344 | effectz = false | |
345 | HUM.WalkSpeed = 16 | |
346 | bp:Destroy() | |
347 | bg:Destroy() | |
348 | wait(0.45) | |
349 | Casting = false | |
350 | jointz.C0 = CFrame.new(1.5,0.5,0) * CFrame.Angles(math.pi/2.4,0,0) | |
351 | end | |
352 | function Teleport(mouse) | |
353 | local posz = mouse.Hit.p | |
354 | local bp = Instance.new("BodyPosition", Torsoz) | |
355 | bp.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
356 | bp.position = Torsoz.Position | |
357 | local bg = Instance.new("BodyGyro", Torsoz) | |
358 | bg.maxTorque = Vector3.new(math.huge,math.huge,math.huge) | |
359 | bg.cframe = CFrame.new(Torsoz.Position, Vector3.new(mouse.Hit.x,Torsoz.Position.y,mouse.Hit.z)) | |
360 | HUM.WalkSpeed = 0 | |
361 | local jointz = Joint1 | |
362 | jointz.C0 = CFrame.new(1.5,0.5,0) * CFrame.Angles(0,0,0) | |
363 | Casting = true | |
364 | effectz = true | |
365 | Torsoz.CFrame = CFrame.new(Torsoz.Position, Vector3.new(mouse.Hit.x,Torsoz.Position.y,mouse.Hit.z)) | |
366 | local por = P:Clone() | |
367 | por.Parent = Torsoz | |
368 | por.Anchored = true | |
369 | por.CFrame = Torsoz.CFrame + Torsoz.CFrame.lookVector*3.5 | |
370 | por.BrickColor = BrickColor.new("Navy blue") | |
371 | por.Transparency = 1 | |
372 | por.Reflectance = 1 | |
373 | local mesh = Instance.new("SpecialMesh", por) | |
374 | mesh.MeshType = "Sphere" | |
375 | mesh.Scale = Vector3.new(0,0,0) | |
376 | local mar = P:Clone() | |
377 | mar.Parent = Torsoz | |
378 | mar.Anchored = true | |
379 | mar.CFrame = CFrame.new(posz) | |
380 | mar.BrickColor = BrickColor.new("Navy blue") | |
381 | mar.Transparency = 1 | |
382 | mar.Reflectance = 1 | |
383 | local mesh = Instance.new("SpecialMesh", mar) | |
384 | mesh.Scale = Vector3.new(0,3,0) | |
385 | mesh.MeshType = "Brick" | |
386 | --mesh.MeshId = "http://www.roblox.com/asset/?id=20329976" | |
387 | for i = 1, 22 do | |
388 | por.Transparency = por.Transparency - (0.7/22) | |
389 | por.Reflectance = por.Reflectance - (0.9/22) | |
390 | por.Mesh.Scale = por.Mesh.Scale + Vector3.new(16/22,19/22,0.6/22) | |
391 | jointz.C0 = jointz.C0 * CFrame.Angles(math.pi/1.6/22,0,0) * CFrame.Angles(0,0,0.08) | |
392 | wait(0.012) | |
393 | end | |
394 | for i = 1, 10 do | |
395 | mar.Transparency = mar.Transparency - (0.7/10) | |
396 | mar.Reflectance = mar.Reflectance - (0.9/10) | |
397 | mar.Mesh.Scale = mar.Mesh.Scale + Vector3.new(3/10,0,3/10) | |
398 | jointz.C0 = jointz.C0 * CFrame.Angles(0,-math.pi*2/10,0) | |
399 | wait() | |
400 | end | |
401 | HUM.WalkSpeed = 16 | |
402 | bp:Destroy() | |
403 | bg:Destroy() | |
404 | Torsoz.CFrame = CFrame.new(posz, Torsoz.CFrame.p) * CFrame.Angles(0,math.pi,0) + Vector3.new(0,3.5,0) | |
405 | for i = 1, 11 do | |
406 | por.Transparency = por.Transparency + (0.7/11) | |
407 | por.Reflectance = por.Reflectance + (0.9/11) | |
408 | por.Mesh.Scale = por.Mesh.Scale - Vector3.new(16/11,19/11,0.6/11) | |
409 | mar.Transparency = mar.Transparency + (0.7/11) | |
410 | mar.Reflectance = mar.Reflectance + (0.9/11) | |
411 | mar.Mesh.Scale = mar.Mesh.Scale - Vector3.new(3/11,2/11,3/11) | |
412 | jointz.C0 = jointz.C0 * CFrame.Angles(-(math.pi/1.6)/11,0,0) * CFrame.Angles(0,0,-0.16) | |
413 | wait() | |
414 | end | |
415 | por:Destroy() | |
416 | mar:Destroy() | |
417 | effectz = false | |
418 | wait(0.15) | |
419 | Casting = false | |
420 | jointz.C0 = CFrame.new(1.5,0.5,0) * CFrame.Angles(math.pi/2.4,0,0) | |
421 | end | |
422 | function onKeyDown(key, mouse) | |
423 | if Charging == false and Attacking == false and Casting == false then | |
424 | if key == "e" then | |
425 | SwordThrow(mouse) | |
426 | elseif key == "g" then | |
427 | Teleport(mouse) | |
428 | end | |
429 | end | |
430 | end | |
431 | function Equip() | |
432 | effectz = true | |
433 | Attacking = true | |
434 | Charging = true | |
435 | local p = P:Clone() | |
436 | p.Parent = Torsoz | |
437 | p.Transparency = 1 | |
438 | local w = Instance.new("Motor", p) | |
439 | w.Part0 = p | |
440 | w.Part1 = RA | |
441 | w.C0 = CFrame.new(0,-0.5,0) | |
442 | RS.Part0 = nil | |
443 | Joint1 = Instance.new("Motor", p) | |
444 | Joint1.Part0 = Torsoz | |
445 | Joint1.Part1 = p | |
446 | Joint1.C0 = CFrame.new(1.5,0.5,0) | |
447 | for i = 1, 8 do | |
448 | Joint1.C0 = Joint1.C0 * CFrame.Angles(math.pi*1.2/8,-0.4/8,0) | |
449 | wait() | |
450 | end | |
451 | Main.Part0 = RA | |
452 | Main.C0 = CFrame.new(0,-1,-1.5) * CFrame.Angles(0,math.pi,math.pi/2) | |
453 | for i = 1, 9 do | |
454 | Joint1.C0 = Joint1.C0 * CFrame.Angles(-math.pi*1.2/14,0,0) | |
455 | wait() | |
456 | end | |
457 | Main.Part0 = RA | |
458 | Main.C0 = CFrame.new(0,-1,-1.5) * CFrame.Angles(0,math.pi,math.pi/2) | |
459 | Joint1.C0 = CFrame.new(1.5,0.5,0) * CFrame.Angles(math.pi/2.4,0,0) | |
460 | Attacking = false | |
461 | Charging = false | |
462 | effectz = false | |
463 | end | |
464 | function UnEquip() | |
465 | effectz = true | |
466 | local joint = Joint1 | |
467 | Joint1.C0 = CFrame.new(1.5,0.5,0) * CFrame.Angles(math.pi/2.4,0,0) | |
468 | for i = 1, 9 do | |
469 | Joint1.C0 = Joint1.C0 * CFrame.Angles(math.pi*1.2/14,0,0) | |
470 | wait() | |
471 | end | |
472 | Main.Part0 = Torsoz | |
473 | Main.C0 = CFrame.new(0,0,0.55) * CFrame.Angles(math.pi/2,0,math.pi) | |
474 | Main.C0 = Main.C0 * CFrame.Angles(0,math.pi/4,0) | |
475 | for i = 1, 8 do | |
476 | Joint1.C0 = Joint1.C0 * CFrame.Angles(-math.pi*1.2/8,0,0) | |
477 | wait() | |
478 | end | |
479 | joint.Parent:remove() | |
480 | RS.Part0 = Torsoz | |
481 | RS.Part1 = RA | |
482 | effectz = false | |
483 | end | |
484 | bin.Selected:connect(function(mouse) | |
485 | mouse.Icon = "rbxasset://textures\\GunCursor.png" | |
486 | mouse.Button1Down:connect(function() onButton1Down(mouse) end) | |
487 | mouse.KeyDown:connect(function(key) onKeyDown(key, mouse) end) | |
488 | Equip() | |
489 | end) | |
490 | bin.Deselected:connect(function() | |
491 | UnEquip() | |
492 | Build() | |
493 | end) | |
494 | wait(1) | |
495 | local plus = true | |
496 | local DDD = 1 | |
497 | coroutine.resume(coroutine.create(function() | |
498 | while true do | |
499 | DDD = DDD + 1 | |
500 | if DDD%1 == 0 then | |
501 | if effectz == true then | |
502 | if Main.Parent ~= nil then | |
503 | local gg = P:Clone() | |
504 | gg.Name = "SwordEffect" | |
505 | gg.Parent = Torsoz | |
506 | gg.Anchored = true | |
507 | gg.Size = Vector3.new(0.5,0.5,0.5) | |
508 | gg.CFrame = Main.Parent.CFrame | |
509 | local mesh = Instance.new("SpecialMesh", gg) | |
510 | mesh.MeshId = "http://www.roblox.com/asset/?id=76448940" | |
511 | mesh.TextureId = "http://www.roblox.com/asset/?id=76448989" | |
512 | mesh.Scale = Vector3.new(0.75,0.75,0.75) | |
513 | table.insert(efftable, gg) | |
514 | if doublesword == true then | |
515 | local gg2 = P:Clone() | |
516 | gg2.Name = "SwordEffect2" | |
517 | gg2.Parent = Torsoz | |
518 | gg2.Anchored = true | |
519 | gg2.Size = Vector3.new(0.5,0.5,0.5) | |
520 | gg2.CFrame = gg.CFrame * CFrame.new(0,0,-3.25) * CFrame.Angles(0,math.pi,0) | |
521 | local mesh = Instance.new("SpecialMesh", gg2) | |
522 | mesh.MeshId = "http://www.roblox.com/asset/?id=76448940" | |
523 | mesh.TextureId = "http://www.roblox.com/asset/?id=76448989" | |
524 | mesh.Scale = Vector3.new(0.75,0.75,0.75) | |
525 | table.insert(efftable, gg2) | |
526 | end | |
527 | end | |
528 | end | |
529 | end | |
530 | for i, v in pairs(efftable) do | |
531 | if v.Transparency > 0.9 then | |
532 | efftable[i]:remove() | |
533 | efftable[i] = nil | |
534 | end | |
535 | v.Transparency = v.Transparency + 0.055 | |
536 | end | |
537 | if j ~= nil then | |
538 | if j.Transparency > 0.96 then | |
539 | plus = false | |
540 | j.Transparency = 0.25 | |
541 | j.Mesh.Scale = Vector3.new(0.75,0.75,0.75) | |
542 | j.Mesh.VertexColor = Vector3.new(1,1,1) | |
543 | if j2 ~= nil then | |
544 | j2.Transparency = 0.25 | |
545 | j2.Mesh.Scale = Vector3.new(0.75,0.75,0.75) | |
546 | j2.Mesh.VertexColor = Vector3.new(1,1,1) | |
547 | end | |
548 | Spawn(function() wait(0.5) plus = true end) | |
549 | end | |
550 | if plus == true then | |
551 | j.Transparency = j.Transparency + 0.045 | |
552 | j.Mesh.Scale = j.Mesh.Scale + Vector3.new(0.022*2,0.028*2,0.004*2) | |
553 | j.Mesh.VertexColor = j.Mesh.VertexColor - Vector3.new(0.1,0.04,0) | |
554 | if j2 ~= nil then | |
555 | j2.Transparency = j2.Transparency + 0.045 | |
556 | j2.Mesh.Scale = j2.Mesh.Scale + Vector3.new(0.022*2,0.028*2,0.004*2) | |
557 | j2.Mesh.VertexColor = j2.Mesh.VertexColor - Vector3.new(0.1,0.04,0) | |
558 | end | |
559 | end | |
560 | end | |
561 | ------------------------- Projectiles ------------------------ | |
562 | for i, v in pairs(raytable) do | |
563 | if v ~= nil and v.className == "Part" then | |
564 | local posz1 = v.CFrame * CFrame.new(0,0,-2.25) | |
565 | local ray = Ray.new(posz1.p, posz1.lookVector*-4.5) | |
566 | local hitz, enz = workspace:FindPartOnRay(ray, char) | |
567 | if hitz ~= nil then | |
568 | x = Instance.new("Explosion", workspace) | |
569 | x.Position = enz | |
570 | raytable[i]:remove() | |
571 | raytable[i] = nil | |
572 | end | |
573 | v.CFrame = v.CFrame - v.CFrame.lookVector*4.5 | |
574 | end | |
575 | end | |
576 | wait() | |
577 | end | |
578 | end)) |