SHOW:
|
|
- or go back to the newest paste.
1 | - | --The Legendary Swords RPG 2 Scripts |
1 | + | pls = game:GetService("Players") |
2 | - | --Made by Apostasia |
2 | + | rs = game:GetService("RunService") |
3 | - | |
3 | + | uinps = game:GetService("UserInputService") |
4 | - | --Stats Script (May want to lower Loot |
4 | + | lp = pls.LocalPlayer |
5 | - | game.Players.LocalPlayer.RemoteFunctions.UpgradeRemote:FireServer("Health", "One", 999999999, 999999999) |
5 | + | mouse = lp:GetMouse() |
6 | - | game.Players.LocalPlayer.RemoteFunctions.UpgradeRemote:FireServer("Strength", "One", 999999999, 999999999) |
6 | + | c = lp.Character |
7 | - | game.Players.LocalPlayer.RemoteFunctions.UpgradeRemote:FireServer("Loot", "One", 500000, 999999999) |
7 | + | human = c.Humanoid |
8 | - | |
8 | + | health = 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 |
9 | - | --Any Sword Script (Put sword name at ItemName) |
9 | + | root = c.HumanoidRootPart |
10 | - | game.Players.LocalPlayer.RemoteFunctions.SwordSystem:FireServer("Buy", "Gold", 0, "ItemName") |
10 | + | EfxModel = Instance.new("Model", c) |
11 | - | |
11 | + | Effects = { |
12 | - | --Gold Script (Just use the stats script... whatever) |
12 | + | Spark = {new = function(pos, point, length, thickness, speed, distime, color, trans, material) |
13 | - | game.Players.LocalPlayer.RemoteFunctions.SwordSystem:FireServer("Buy", "Gold", -999999999, "Iron") |
13 | + | local e = Instance.new("Part", EfxModel) |
14 | - | game.Players.LocalPlayer.RemoteFunctions.SwordSystem:FireServer("Sell", "Gold", 0, "Iron") |
14 | + | e.Name = "Spark" |
15 | - | |
15 | + | e.Size = Vector3.new(thickness, thickness, length + math.random(-10, 10) / 10) |
16 | - | --Skyshards Script |
16 | + | e.BrickColor = BrickColor.new(color or "Black") |
17 | - | game.Players.LocalPlayer.RemoteFunctions.SwordSystem:FireServer("Buy", "Shards", -999999999, "Thorned Axe") |
17 | + | if not trans then |
18 | - | |
18 | + | e.Transparency = math.random(1, 3) / 10 |
19 | - | --Super Sword Script (Must be holding sword you want to superize) |
19 | + | e.Material = material or "Neon" |
20 | - | for i = 1,100 do |
20 | + | e.Anchored = true |
21 | - | game.Players.LocalPlayer.RemoteFunctions.SwordSystem:FireServer("UpgradeValue", "0", 0, 0, "0") |
21 | + | e.CanCollide = false |
22 | e.CFrame = CFrame.new(pos, point) | |
23 | - | |
23 | + | local m = Instance.new("SpecialMesh", e) |
24 | - | --Rebirth Script (Change the 50 to how many rebirths you want) |
24 | + | m.MeshType = "Sphere" |
25 | - | for i = 1,50 do |
25 | + | local d = Instance.new("NumberValue", e) |
26 | - | game.Players.LocalPlayer.RemoteFunctions.RebirthSystem:FireServer() |
26 | + | d.Name = "Time" |
27 | d.Value = distime or 0.05 | |
28 | - | |
28 | + | local s = Instance.new("NumberValue", e) |
29 | - | --Mining Level Script |
29 | + | s.Name = "Speed" |
30 | - | game.Players.LocalPlayer.RemoteFunctions.MiningLvlSystem:FireServer(0) |
30 | + | s.Value = speed or 0.5 |
31 | - | |
31 | + | end |
32 | - | --Ores Script |
32 | + | end, move = function(part) |
33 | - | local kek = game.Players.LocalPlayer.RemoteFunctions.ArmorUnlock |
33 | + | part.CFrame = part.CFrame:toWorldSpace(CFrame.new(0, 0, part.Speed.Value / (Debounces.FPS / 60))) |
34 | - | kek:FireServer("CopperOre", -9999999, 0, "Doom Bringer") |
34 | + | part.Transparency = part.Transparency + part.Time.Value / (Debounces.FPS / 60) |
35 | - | kek:FireServer("BronzeOre", -9999999, 0, "Doom Bringer") |
35 | + | if part.Transparency > 0.97 then |
36 | - | kek:FireServer("IronOre", -9999999, 0, "Doom Bringer") |
36 | + | part:Destroy() |
37 | - | kek:FireServer("GoldOre", -9999999, 0, "Doom Bringer") |
37 | + | end |
38 | - | kek:FireServer("DiamondOre", -9999999, 0, "Doom Bringer") |
38 | + | end} |
39 | - | kek:FireServer("DarkOre", -9999999, 0, "Doom Bringer") |
39 | + | , |
40 | - | |
40 | + | Spark2 = {new = function(pos, point, length, thickness, speed, distime, drop, color, trans, material) |
41 | - | |
41 | + | local e = Instance.new("Part", EfxModel) |
42 | - | --All Armors Script |
42 | + | e.Name = "Spark2" |
43 | - | local armor = game.Players.LocalPlayer.RemoteFunctions.ArmorUnlock |
43 | + | e.Size = Vector3.new(thickness, thickness, length + math.random(-10, 10) / 10) |
44 | - | armor:FireServer("CopperOre", 0, 0, "Dark Samurai") |
44 | + | e.BrickColor = BrickColor.new(color or "Black") |
45 | - | armor:FireServer("CopperOre", 0, 0, "Phoenix Guard") |
45 | + | if not trans then |
46 | - | armor:FireServer("CopperOre", 0, 0, "Dark Overseer") |
46 | + | e.Transparency = math.random(1, 3) / 10 |
47 | - | armor:FireServer("CopperOre", 0, 0, "Orinthian") |
47 | + | e.Material = material or "Neon" |
48 | - | armor:FireServer("CopperOre", 0, 0, "Iron") |
48 | + | e.Anchored = true |
49 | - | armor:FireServer("CopperOre", 0, 0, "Fire Forged") |
49 | + | e.CanCollide = false |
50 | - | armor:FireServer("CopperOre", 0, 0, "Elite") |
50 | + | e.CFrame = CFrame.new(pos, point) |
51 | - | armor:FireServer("CopperOre", 0, 0, "Sapphire") |
51 | + | local m = Instance.new("SpecialMesh", e) |
52 | - | armor:FireServer("CopperOre", 0, 0, "Korblox Ice") |
52 | + | m.MeshType = "Sphere" |
53 | - | armor:FireServer("CopperOre", 0, 0, "Doom Bringer") |
53 | + | local d = Instance.new("NumberValue", e) |
54 | d.Name = "Time" | |
55 | d.Value = distime or 0.05 | |
56 | local s = Instance.new("NumberValue", e) | |
57 | s.Name = "Speed" | |
58 | s.Value = speed or 0.5 | |
59 | local d2 = Instance.new("NumberValue", e) | |
60 | d2.Name = "Drop" | |
61 | d2.Value = drop or 0.2 | |
62 | end | |
63 | end, move = function(part) | |
64 | local moveTo = part.CFrame.lookVector * part.Speed.Value | |
65 | moveTo = moveTo - Vector3.new(0, part.Drop.Value / Debounces.FPS, 0) | |
66 | part.CFrame = CFrame.new(part.CFrame.p + (moveTo), part.CFrame.p + (moveTo) * 2) | |
67 | part.Transparency = part.Transparency + part.Time.Value / (Debounces.FPS / 60) | |
68 | if part.Transparency > 0.97 then | |
69 | part:Destroy() | |
70 | end | |
71 | end} | |
72 | , | |
73 | Sphere = {new = function(pos, radius, time, size, color, trans, material) | |
74 | local e = Instance.new("Part", EfxModel) | |
75 | e.Name = "Sphere" | |
76 | e.Size = Vector3.new(radius, radius, radius) | |
77 | e.BrickColor = BrickColor.new(color or "Black") | |
78 | if not trans then | |
79 | e.Transparency = math.random(1, 3) / 10 | |
80 | e.Material = material or "Neon" | |
81 | e.Anchored = true | |
82 | e.CanCollide = false | |
83 | e.CFrame = CFrame.new(pos) | |
84 | local m = Instance.new("SpecialMesh", e) | |
85 | m.MeshType = "Sphere" | |
86 | local d = Instance.new("NumberValue", e) | |
87 | d.Name = "Time" | |
88 | d.Value = distime or 0.055 | |
89 | local s = Instance.new("NumberValue", e) | |
90 | s.Name = "SizeChange" | |
91 | s.Value = size or 0.5 | |
92 | end | |
93 | end, move = function(part) | |
94 | local pcf = part.CFrame | |
95 | part.Size = part.Size + Vector3.new(part.SizeChange.Value, part.SizeChange.Value, part.SizeChange.Value) | |
96 | part.CFrame = pcf | |
97 | part.Transparency = part.Transparency + part.Time.Value | |
98 | if part.Transparency > 0.95 then | |
99 | part:Destroy() | |
100 | end | |
101 | end} | |
102 | , | |
103 | Fire = {new = function(pos, size, speed, transspeed, wave, color, trans, material) | |
104 | local e = Instance.new("Part", EfxModel) | |
105 | e.Name = "Fire" | |
106 | e.Size = Vector3.new(size, size, size) | |
107 | e.BrickColor = BrickColor.new(color or "Lily white") | |
108 | if not trans then | |
109 | e.Transparency = math.random(1, 3) / 10 | |
110 | e.Material = material or "Neon" | |
111 | e.Anchored = true | |
112 | e.CanCollide = false | |
113 | e.CFrame = CFrame.new(pos) | |
114 | local d = Instance.new("NumberValue", e) | |
115 | d.Name = "Time" | |
116 | d.Value = transspeed or 0.05 | |
117 | local s = Instance.new("NumberValue", e) | |
118 | s.Name = "Speed" | |
119 | s.Value = speed or 0.5 | |
120 | local w = Instance.new("NumberValue", e) | |
121 | w.Name = "Wave" | |
122 | w.Value = wave or 0 | |
123 | end | |
124 | end, move = function(part) | |
125 | local partPos = part.CFrame.p | |
126 | part.Size = part.Size - Vector3.new(0.2, 0.2, 0.2) | |
127 | part.CFrame = CFrame.new(partPos + Vector3.new(math.sin(tick() * part.Wave.Value), part.Speed.Value, math.sin(tick() * part.Wave.Value)).unit / part.Size.x) * CFrame.Angles(math.random(1, 6), math.random(1, 6), math.random(1, 6)) | |
128 | part.Transparency = part.Transparency + part.Time.Value / (Debounces.FPS / 60) | |
129 | if part.Transparency > 0.97 then | |
130 | part:Destroy() | |
131 | end | |
132 | end} | |
133 | } | |
134 | CEfx = {SparkSphere = function(pos, loopcount, radius, length, thickness, speed, distime, color, trans, material) | |
135 | for i = 1, loopcount do | |
136 | Effects.Spark.new(pos + Vector3.new(math.sin(i / loopcount * math.pi * 2), math.abs(math.sin(math.random(0, 50))), math.cos(i / loopcount * math.pi * 2)).unit * radius, pos, length, thickness, speed, distime, color, trans, material) | |
137 | end | |
138 | end, Spark2Sphere = function(pos, loopcount, radius, length, thickness, speed, distime, drop, color, trans, material) | |
139 | for i = 1, loopcount do | |
140 | local vector = Vector3.new(math.sin(i / loopcount * math.pi * 2), math.abs(math.sin(math.random(0, 50))), math.cos(i / loopcount * math.pi * 2)).unit * radius | |
141 | Effects.Spark2.new(pos + vector, pos + vector * 2, length, thickness, speed, distime, drop, color, trans, material) | |
142 | end | |
143 | end} | |
144 | Debounces = {FPS = 0, Speed = 1, Combo = 1, ComboTimer = 0, canSpecial = true, canNormal = true, isAttacking = false, isMoving = false, isSprinting = false, isTyping = false} | |
145 | numLerp = function(start, goal, alpha) | |
146 | return (goal - start) * alpha + start | |
147 | end | |
148 | CFrameZero = function() | |
149 | return CFrame.new(Vector3.new()) | |
150 | end | |
151 | rad = function(value) | |
152 | return math.rad(value) | |
153 | end | |
154 | CFAngles = function(Vector) | |
155 | return CFrame.Angles(rad(Vector.x), rad(Vector.y), rad(Vector.z)) | |
156 | end | |
157 | AnimStat = {lerpSpeed = 0.2} | |
158 | Joints = {c.HumanoidRootPart.RootJoint, c.Torso.Neck, c.Torso["Left Shoulder"], c.Torso["Right Shoulder"], c.Torso["Left Hip"], c.Torso["Right Hip"]} | |
159 | JointTargets = {CFrameZero(), CFrameZero(), CFrameZero(), CFrameZero(), CFrameZero(), CFrameZero()} | |
160 | Combo = {function() | |
161 | setLerp(0.3) | |
162 | Debounces.Speed = 0.7 | |
163 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(1.336, 35.63, -1.865)), CFrame.new(Vector3.new(-1.501, 0.059, -0.59)) * CFAngles(Vector3.new(150.11, -61.307, -0.508)), CFrame.new(Vector3.new(1.239, 0.43, -0.91)) * CFAngles(Vector3.new(92.909, 10.092, -31.545)), CFrame.new(Vector3.new(-0.55, -2.051, -0.081)) * CFAngles(Vector3.new(0.962, 35.736, 0.77)), CFrame.new(Vector3.new(0.869, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 16.901))}) | |
164 | wait(0.15) | |
165 | local hit = takeDamage(root.Position, math.random(13, 16), 5, false) | |
166 | setLerp(0.4) | |
167 | Debounces.Speed = 1.1 | |
168 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 65, 0)), CFrame.new(Vector3.new(0.079, 1.5, -0.01)) * CFAngles(Vector3.new(-1.221, -44.109, -2.112)), CFrame.new(Vector3.new(-1.251, 0.189, -0.99)) * CFAngles(Vector3.new(90.281, -49.501, 47.064)), CFrame.new(Vector3.new(1.989, 0.47, -0.4)) * CFAngles(Vector3.new(155.987, -32.162, 72.107)), CFrame.new(Vector3.new(-0.71, -1.991, 0.149)) * CFAngles(Vector3.new(-7.213, 10.172, -12.334)), CFrame.new(Vector3.new(0.51, -1.951, 0.21)) * CFAngles(Vector3.new(-10.342, -20.926, -0.716))}) | |
169 | sound(c.Torso, 280667448, math.random(72, 97) / 100, math.random(85, 115) / 100) | |
170 | wait(0.17) | |
171 | return hit[1] | |
172 | end, function() | |
173 | setLerp(0.3) | |
174 | Debounces.Speed = 0.7 | |
175 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 15, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(-0.157, -15.009, -1.57)), CFrame.new(Vector3.new(-1.621, 0.059, 0.129)) * CFAngles(Vector3.new(25.69, 3.472, -14.641)), CFrame.new(Vector3.new(0.949, 0.239, -0.891)) * CFAngles(Vector3.new(69.388, 5.364, -33.696)), CFrame.new(Vector3.new(-0.8, -1.891, -0.231)) * CFAngles(Vector3.new(-2.542, 16.877, -4.399)), CFrame.new(Vector3.new(0.6, -1.951, 0.13)) * CFAngles(Vector3.new(-8.352, -11.307, 2.56))}) | |
176 | wait(0.15) | |
177 | local hit = takeDamage(root.Position, math.random(13, 15), 5, false) | |
178 | setLerp(0.4) | |
179 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(3.865, 67.238, -3.921)), CFrame.new(Vector3.new(-2.031, 0.31, -0.211)) * CFAngles(Vector3.new(132.173, -1.906, -79.905)), CFrame.new(Vector3.new(1.499, 0.039, -0.261)) * CFAngles(Vector3.new(43.335, -7.22, 25.135)), CFrame.new(Vector3.new(-0.64, -2.071, -0.031)) * CFAngles(Vector3.new(4.351, 39.697, -5.775)), CFrame.new(Vector3.new(0.6, -1.951, -0.01)) * CFAngles(Vector3.new(-2.073, -25.333, 4.241))}) | |
180 | sound(c.Torso, 280667448, math.random(72, 97) / 100, math.random(85, 115) / 100) | |
181 | wait(0.17) | |
182 | return hit[1] | |
183 | end, function() | |
184 | setLerp(0.3) | |
185 | Debounces.Speed = 0.7 | |
186 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(3.247, 63.159, -3.359)), CFrame.new(Vector3.new(-1.771, 0.1, -0.05)) * CFAngles(Vector3.new(-19.34, -18.625, -40.311)), CFrame.new(Vector3.new(1.659, 0.049, -0.251)) * CFAngles(Vector3.new(2.979, 26.217, 31.923)), CFrame.new(Vector3.new(-0.74, -1.941, -0.081)) * CFAngles(Vector3.new(-1.663, 35.343, -2.91)), CFrame.new(Vector3.new(0.909, -1.881, -0.15)) * CFAngles(Vector3.new(1.355, -27.383, 17.173))}) | |
187 | wait(0.15) | |
188 | local hit = takeDamage(root.Position, math.random(13, 17), 5, false) | |
189 | setLerp(0.4) | |
190 | Debounces.Speed = 1.1 | |
191 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(75, 75, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(3.247, 63.159, -3.359)), CFrame.new(Vector3.new(-1.771, 0.1, -0.05)) * CFAngles(Vector3.new(-19.34, -18.625, -40.311)), CFrame.new(Vector3.new(1.659, 0.049, -0.251)) * CFAngles(Vector3.new(2.979, 26.217, 31.923)), CFrame.new(Vector3.new(-1.37, -1.531, 0.379)) * CFAngles(Vector3.new(-25.945, 18.839, -46.095)), CFrame.new(Vector3.new(0.909, -1.881, -0.15)) * CFAngles(Vector3.new(1.355, -27.383, 17.173))}) | |
192 | sound(c.Torso, 147722227, math.random(72, 97) / 100, math.random(85, 115) / 100) | |
193 | wait(0.06) | |
194 | Effects.Fire.new(c["Right Leg"].Position, 4, 0.5, 0.04, 3, "Bright yellow") | |
195 | wait(0.08) | |
196 | return hit[1] | |
197 | end, function() | |
198 | setLerp(0.3) | |
199 | Debounces.Speed = 0.7 | |
200 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(1.336, 35.63, -1.865)), CFrame.new(Vector3.new(-1.501, 0.059, -0.59)) * CFAngles(Vector3.new(150.11, -61.307, -0.508)), CFrame.new(Vector3.new(1.239, 0.43, -0.91)) * CFAngles(Vector3.new(92.909, 10.092, -31.545)), CFrame.new(Vector3.new(-0.55, -2.051, -0.081)) * CFAngles(Vector3.new(0.962, 35.736, 0.77)), CFrame.new(Vector3.new(0.869, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 16.901))}) | |
201 | wait(0.15) | |
202 | local hit = takeDamage(root.Position, math.random(12, 15), 5, false) | |
203 | setLerp(0.4) | |
204 | Debounces.Speed = 1.1 | |
205 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 65, 0)), CFrame.new(Vector3.new(0.079, 1.5, -0.01)) * CFAngles(Vector3.new(-1.221, -44.109, -2.112)), CFrame.new(Vector3.new(-1.251, 0.189, -0.99)) * CFAngles(Vector3.new(90.281, -49.501, 47.064)), CFrame.new(Vector3.new(1.989, 0.47, -0.4)) * CFAngles(Vector3.new(155.987, -32.162, 72.107)), CFrame.new(Vector3.new(-0.71, -1.991, 0.149)) * CFAngles(Vector3.new(-7.213, 10.172, -12.334)), CFrame.new(Vector3.new(0.51, -1.951, 0.21)) * CFAngles(Vector3.new(-10.342, -20.926, -0.716))}) | |
206 | Effects.Fire.new(c["Right Arm"].Position, 4, 0.5, 0.04, 3, "Lily white") | |
207 | CEfx.Spark2Sphere(c["Right Arm"].Position, 15, 4, 8, 0.3, 2, 0.05, 3, "Bright yellow") | |
208 | sound(c.Torso, 260430079, math.random(72, 97) / 100, math.random(85, 115) / 100) | |
209 | wait(0.17) | |
210 | return hit[1] | |
211 | end, function() | |
212 | setLerp(0.3) | |
213 | Debounces.Speed = 0.7 | |
214 | CEfx.SparkSphere(c.Torso.Position, 10, 15, 4, 0.2, -0.8, 0.05, "Bright yellow") | |
215 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 15, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(-0.157, -15.009, -1.57)), CFrame.new(Vector3.new(-1.621, 0.059, 0.129)) * CFAngles(Vector3.new(25.69, 3.472, -14.641)), CFrame.new(Vector3.new(0.949, 0.239, -0.891)) * CFAngles(Vector3.new(69.388, 5.364, -33.696)), CFrame.new(Vector3.new(-0.8, -1.891, -0.231)) * CFAngles(Vector3.new(-2.542, 16.877, -4.399)), CFrame.new(Vector3.new(0.6, -1.951, 0.13)) * CFAngles(Vector3.new(-8.352, -11.307, 2.56))}) | |
216 | wait(0.15) | |
217 | local hit = takeDamage(root.Position, math.random(13, 15), 5, false) | |
218 | setLerp(0.4) | |
219 | Debounces.Speed = 1.1 | |
220 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(3.865, 67.238, -3.921)), CFrame.new(Vector3.new(-2.031, 0.31, -0.211)) * CFAngles(Vector3.new(132.173, -1.906, -79.905)), CFrame.new(Vector3.new(1.499, 0.039, -0.261)) * CFAngles(Vector3.new(43.335, -7.22, 25.135)), CFrame.new(Vector3.new(-0.64, -2.071, -0.031)) * CFAngles(Vector3.new(4.351, 39.697, -5.775)), CFrame.new(Vector3.new(0.6, -1.951, -0.01)) * CFAngles(Vector3.new(-2.073, -25.333, 4.241))}) | |
221 | sound(c.Torso, 147722227, math.random(72, 97) / 100, math.random(85, 115) / 100) | |
222 | wait(0.17) | |
223 | return hit[1] | |
224 | end, function() | |
225 | setLerp(0.3) | |
226 | Debounces.Speed = 0.7 | |
227 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(3.247, 63.159, -3.359)), CFrame.new(Vector3.new(-1.771, 0.1, -0.05)) * CFAngles(Vector3.new(-19.34, -18.625, -40.311)), CFrame.new(Vector3.new(1.659, 0.049, -0.251)) * CFAngles(Vector3.new(2.979, 26.217, 31.923)), CFrame.new(Vector3.new(-0.74, -1.941, -0.081)) * CFAngles(Vector3.new(-1.663, 35.343, -2.91)), CFrame.new(Vector3.new(0.909, -1.881, -0.15)) * CFAngles(Vector3.new(1.355, -27.383, 17.173))}) | |
228 | wait(0.15) | |
229 | local hit = takeDamage(root.Position, math.random(10, 12), 5, false) | |
230 | setLerp(0.4) | |
231 | Debounces.Speed = 1.1 | |
232 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(75, 75, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(3.247, 63.159, -3.359)), CFrame.new(Vector3.new(-1.771, 0.1, -0.05)) * CFAngles(Vector3.new(-19.34, -18.625, -40.311)), CFrame.new(Vector3.new(1.659, 0.049, -0.251)) * CFAngles(Vector3.new(2.979, 26.217, 31.923)), CFrame.new(Vector3.new(-1.37, -1.531, 0.379)) * CFAngles(Vector3.new(-25.945, 18.839, -46.095)), CFrame.new(Vector3.new(0.909, -1.881, -0.15)) * CFAngles(Vector3.new(1.355, -27.383, 17.173))}) | |
233 | wait(0.06) | |
234 | Effects.Fire.new(c["Right Leg"].Position, 4, 0.5, 0.04, 3, "Lily white") | |
235 | sound(c.Torso, 260430079, math.random(72, 97) / 100, math.random(105, 115) / 100) | |
236 | wait(0.08) | |
237 | return hit[1] | |
238 | end, function() | |
239 | Debounces.Speed = 0 | |
240 | setLerp(0.2) | |
241 | CEfx.SparkSphere(c.Torso.Position, 15, 25, 7, 0.3, -0.6, 0.02, "Lily white") | |
242 | sound(c.Torso, 280667448, math.random(47, 72) / 100, math.random(85, 90) / 100) | |
243 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(1.336, 35.63, -1.865)), CFrame.new(Vector3.new(-1.501, 0.059, -0.59)) * CFAngles(Vector3.new(150.11, -61.307, -0.508)), CFrame.new(Vector3.new(1.239, 0.43, -0.91)) * CFAngles(Vector3.new(92.909, 10.092, -31.545)), CFrame.new(Vector3.new(-0.55, -2.051, -0.081)) * CFAngles(Vector3.new(0.962, 35.736, 0.77)), CFrame.new(Vector3.new(0.869, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 16.901))}) | |
244 | wait(0.3) | |
245 | moveVel(root.CFrame.lookVector, 65, 0.5) | |
246 | setLerp(0.4) | |
247 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, 65, 0)), CFrame.new(Vector3.new(0.079, 1.5, -0.01)) * CFAngles(Vector3.new(-1.221, -44.109, -2.112)), CFrame.new(Vector3.new(-1.251, 0.189, -0.99)) * CFAngles(Vector3.new(90.281, -49.501, 47.064)), CFrame.new(Vector3.new(1.989, 0.47, -0.4)) * CFAngles(Vector3.new(155.987, -32.162, 72.107)), CFrame.new(Vector3.new(-0.71, -1.991, 0.149)) * CFAngles(Vector3.new(-7.213, 10.172, -12.334)), CFrame.new(Vector3.new(0.51, -1.951, 0.21)) * CFAngles(Vector3.new(-10.342, -20.926, -0.716))}) | |
248 | sound(c.Torso, 260430117, 1, math.random(95, 115) / 100) | |
249 | for i = 1, 8 do | |
250 | wait(0.05) | |
251 | local hit = takeDamage(root.Position, math.random(5, 7), 5, false) | |
252 | Effects.Fire.new(c["Right Arm"].Position, 4 + math.random(-10, 10) / 10, 0.5, 0.04, 5 + math.random(1, 4), "Lily white") | |
253 | Effects.Fire.new(c["Right Arm"].Position, 4 + math.random(-10, 10) / 10, 0.5, 0.04, 4 + math.random(1, 4), "Lily white") | |
254 | Effects.Fire.new(c["Right Arm"].Position, 4 + math.random(-10, 10) / 10, 0.5, 0.04, 7 + math.random(1, 4), "Lily white") | |
255 | end | |
256 | --return hit[1] | |
257 | end} | |
258 | prepareCharacter = function() | |
259 | local animator = c.Humanoid:FindFirstChild("Animator") | |
260 | if animator then | |
261 | animator:Destroy() | |
262 | end | |
263 | local animate = c:FindFirstChild("Animate") | |
264 | if animate then | |
265 | animate:Destroy() | |
266 | end | |
267 | for _,x in pairs(Joints) do | |
268 | x.C1 = CFrameZero() | |
269 | end | |
270 | for _,v in pairs(c.Head:children()) do | |
271 | if v:isA("Sound") then | |
272 | v:Destroy() | |
273 | end | |
274 | end | |
275 | c.Humanoid.MaxHealth = health | |
276 | wait() | |
277 | c.Humanoid.Health = health | |
278 | end | |
279 | setJointCFrames = function(table) | |
280 | for i = 1, #table do | |
281 | JointTargets[i] = table[i] | |
282 | end | |
283 | end | |
284 | setLerp = function(speed) | |
285 | AnimStat.lerpSpeed = speed | |
286 | end | |
287 | takeDamage = function(position, damage, distance, platformStand) | |
288 | hitPlrs = {} | |
289 | for i,v in pairs(pls:children()) do | |
290 | if v:isA("Player") and workspace:FindFirstChild(v.Name) and v ~= lp then | |
291 | local tor = workspace[v.Name] | |
292 | --if tor and tor:FindFirstChild("HumanoidRootPart") and tor:FindFirstChild("Humanoid") and tor.HumanoidRootPart.Position - position.magnitude < distance then | |
293 | tor.Humanoid:TakeDamage(damage) | |
294 | table.insert(hitPlrs, #hitPlrs + 1, v) | |
295 | sound(tor.HumanoidRootPart, 131237241, math.random(4, 7) / 10, math.random(85, 115) / 100) | |
296 | if platformStand then | |
297 | v.Character.PlatformStand = platformStand | |
298 | end | |
299 | --end | |
300 | end | |
301 | end | |
302 | return hitPlrs | |
303 | end | |
304 | moveVel = function(dir, speed, time) | |
305 | spawn(function() | |
306 | local g = Instance.new("BodyGyro", root) | |
307 | g.D = 0 | |
308 | g.CFrame = root.CFrame | |
309 | g.MaxTorque = Vector3.new(1000000000, 1000000000, 1000000000) | |
310 | g.P = 10000000000 | |
311 | local e = Instance.new("BodyVelocity", root) | |
312 | e.Velocity = dir.unit * speed | |
313 | e.P = 10000 | |
314 | e.MaxForce = Vector3.new(99999999999999999999999999999999999999999999999999999, 100000000999999999999999999999999999999999, 1000000009999999999999999999999999999999) | |
315 | wait(time) | |
316 | e:Destroy() | |
317 | g:Destroy() | |
318 | end) | |
319 | end | |
320 | sound = function(part, id, volume, pitch) | |
321 | local x = Instance.new("Sound", part) | |
322 | x.SoundId = "rbxassetid://" .. id | |
323 | x.Volume = volume or 0.7 | |
324 | x.Pitch = pitch or 1 | |
325 | spawn(function() | |
326 | wait() | |
327 | x:Play() | |
328 | wait((x.TimeLength or 120) + 0.033333333333333) | |
329 | x:Destroy() | |
330 | end) | |
331 | end | |
332 | prepareCharacter() | |
333 | spawn(function() | |
334 | Tick = 0 | |
335 | sine = 0 | |
336 | while wait() do | |
337 | Debounces.ComboTimer = Debounces.ComboTimer - 0.033333333333333 | |
338 | Tick = tick() * 4.5 | |
339 | sine = math.sin(Tick) | |
340 | if Debounces.isAttacking == false and Debounces.isMoving == false and math.abs(root.Velocity.y) < 1 then | |
341 | setLerp(0.2) | |
342 | setJointCFrames({CFrame.new(Vector3.new(0, -0.2 + sine / 45, 0)) * CFAngles(Vector3.new(0, -71, 3)), CFrame.new(Vector3.new(-0.031, 1.5 + math.sin(Tick + 1) / 65, -0.01)) * CFAngles(Vector3.new(2.959 + math.sin(Tick) * 2, 60.763, -3.105)), CFrame.new(Vector3.new(-1.621, 0.229 + math.sin(Tick + 0.5) / 25, -0.46)) * CFAngles(Vector3.new(92.104 + math.sin(Tick + 1.7) * 2, -43.603, -48.471 + math.sin(Tick - 1.4) * 2)), CFrame.new(Vector3.new(0.649, 0.049 + math.sin(Tick + 0.7) / 25, -0.97)) * CFAngles(Vector3.new(121.338 + math.sin(Tick + 1.5) * 2, 13.67 + math.sin(Tick + 2.1), -50.552 + math.sin(Tick + 1.2) * 2)), CFrame.new(Vector3.new(-0.8, -1.891, -0.081)) * CFAngles(Vector3.new(-2.819, 35.424, -4.553)), CFrame.new(Vector3.new(0.6, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 4.072))}) | |
343 | else | |
344 | if Debounces.isAttacking == false and Debounces.isMoving == true and math.abs(root.Velocity.y) < 1 then | |
345 | setLerp(0.3) | |
346 | Debounces.Speed = 0.9 | |
347 | setJointCFrames({CFrame.new(Vector3.new(0, -0.21 + math.sin(Tick * 4) / 45, 0)) * CFAngles(Vector3.new(-math.abs(root.RotVelocity.y / 1.7), -71, 3.7)), CFrame.new(Vector3.new(-0.031, 1.5 + math.sin(Tick * 4 + 1) / 75, -0.01)) * CFAngles(Vector3.new(2.959 + math.sin(Tick) * 2, 60.763 + root.RotVelocity.y * 3, -3.105)), CFrame.new(Vector3.new(-1.621, 0.229 + math.sin(Tick * 4 + 0.5) / 45, -0.46)) * CFAngles(Vector3.new(92.104 + math.sin(Tick * 4 + 1.7), -43.603 + math.sin(Tick * 4) * 2, -48.471 + math.sin(Tick * 4 + 1.4) * 1)), CFrame.new(Vector3.new(0.649, 0.049 + math.sin(Tick * 4 + 0.7) / 45, -0.97)) * CFAngles(Vector3.new(121.338 + math.sin(Tick * 4 + 1.5), 13.67, -50.552 + math.sin(Tick * 4 + 1.2) * 1.2)), CFrame.new(Vector3.new(-0.7 + math.sin(Tick * 2.5) / 3, -1.791 - math.cos(Tick * 2.5) / 35, -0.081 - math.sin(Tick * 2.5) / 35)) * CFAngles(Vector3.new(-2.819 - math.sin(Tick * 2.5) * 12, 35.424, -8.553 + math.sin(Tick * 2.5 + 0.1) * 14)), CFrame.new(Vector3.new(0.55 + math.sin(Tick * 2.5 + math.pi) / 3, -1.821 - math.cos(Tick * 2.5 + math.pi) / 20, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 4.072 + math.sin(Tick * 2.5 + math.pi - 0.1) * 13))}) | |
348 | else | |
349 | if Debounces.isAttacking == false and math.abs(root.Velocity.y) > 1 then | |
350 | if root.Velocity.y > 0 then | |
351 | Debounces.Speed = 0.9 | |
352 | setLerp(0.1) | |
353 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(10.058, 50.565 + root.RotVelocity.y * 3, -9.426)), CFrame.new(Vector3.new(-1.671, 0.559, -0.46)) * CFAngles(Vector3.new(134.256, -65.009, -21.142)), CFrame.new(Vector3.new(0.649, 0.049, -0.97)) * CFAngles(Vector3.new(120.776, 14.331, -50.416)), CFrame.new(Vector3.new(-0.39, -2.021, -0.081)) * CFAngles(Vector3.new(-2.819, 35.424, 5.086)), CFrame.new(Vector3.new(0.6, -1.931, -0.15)) * CFAngles(Vector3.new(-2.057, -13.672, 9.265))}) | |
354 | else | |
355 | setLerp(0.1) | |
356 | Debounces.Speed = 1.1 | |
357 | setJointCFrames({CFrame.new(Vector3.new(0, 0, 0)) * CFAngles(Vector3.new(0, -71, 0)), CFrame.new(Vector3.new(-0.031, 1.5, -0.01)) * CFAngles(Vector3.new(-10.332, 31.167 + root.RotVelocity.y * 3, 6.469)), CFrame.new(Vector3.new(-1.671, 0.229, -0.46)) * CFAngles(Vector3.new(101.838, -52.86, -49.259)), CFrame.new(Vector3.new(0.929, 0.149, -1.311)) * CFAngles(Vector3.new(95.716, 21.155, -49.455)), CFrame.new(Vector3.new(-0.8, -1.891, -0.081)) * CFAngles(Vector3.new(-10.964, 9.476, -6.771)), CFrame.new(Vector3.new(0.6, -1.881, -0.15)) * CFAngles(Vector3.new(-6.112, -7.568, 7.395))}) | |
358 | end | |
359 | end | |
360 | end | |
361 | end | |
362 | human.WalkSpeed = Debounces.Speed * 16 | |
363 | end | |
364 | end) | |
365 | human.Changed:connect(function(prop) | |
366 | if prop == "MoveDirection" then | |
367 | if human.MoveDirection.magnitude > 0.02 then | |
368 | Debounces.isMoving = true | |
369 | else | |
370 | Debounces.isMoving = false | |
371 | end | |
372 | end | |
373 | end) | |
374 | uinps.InputBegan:connect(function(InputObj) | |
375 | if InputObj.KeyCode == Enum.KeyCode.Slash then | |
376 | local finishEvent = nil | |
377 | do | |
378 | Debounces.isTyping = true | |
379 | finishEvent = uinps.InputBegan:connect(function(InputObj) | |
380 | if InputObj.KeyCode == Enum.KeyCode.Return or InputObj.UserInputType == Enum.UserInputType.MouseButton1 then | |
381 | Debounces.isTyping = false | |
382 | finishEvent:disconnect() | |
383 | end | |
384 | end) | |
385 | end | |
386 | end | |
387 | end) | |
388 | uinps.InputBegan:connect(function(InputObj) | |
389 | if not Debounces.isTyping then | |
390 | if InputObj.KeyCode == Enum.KeyCode.LeftShift then | |
391 | Debounces.isSprinting = true | |
392 | else | |
393 | if InputObj.KeyCode == Enum.KeyCode.Q and not Debounces.isAttacking then | |
394 | Debounces.isAttacking = true | |
395 | wait() | |
396 | Debounces.Speed = 0.3 | |
397 | setLerp(0.5) | |
398 | sound(c.Torso, 280667448, 0.3, math.random(100, 110) / 100) | |
399 | setJointCFrames({CFrame.new(Vector3.new(0, -0.2 + sine / 45, 0)) * CFAngles(Vector3.new(0, -71, 3)), CFrame.new(Vector3.new(-0.031, 1.5 + math.sin(Tick + 1) / 65, -0.01)) * CFAngles(Vector3.new(2.959 + math.sin(Tick) * 2, 60.763, 1.105)), CFrame.new(Vector3.new(-1.621, 0.529, -0.46)) * CFAngles(Vector3.new(130.035, -58.975, -25.477)), CFrame.new(Vector3.new(0.649, 0.049 + math.sin(Tick + 0.7) / 25, -0.97)) * CFAngles(Vector3.new(121.338 + math.sin(Tick + 1.5) * 2, 13.67 + math.sin(Tick + 2.1), -50.552 + math.sin(Tick + 1.2) * 2)), CFrame.new(Vector3.new(-0.8, -1.891, -0.081)) * CFAngles(Vector3.new(-2.819, 35.424, -4.553)), CFrame.new(Vector3.new(0.6, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 4.072))}) | |
400 | wait(0.05) | |
401 | setLerp(0.4) | |
402 | setJointCFrames({CFrame.new(Vector3.new(0, -0.2 + sine / 45, 0)) * CFAngles(Vector3.new(0, -71, 3)), CFrame.new(Vector3.new(-0.031, 1.5 + math.sin(Tick + 1) / 65, -0.01)) * CFAngles(Vector3.new(2.959 + math.sin(Tick) * 2, 60.763, -3.105)), CFrame.new(Vector3.new(-1.621, 0.229, -0.46)) * CFAngles(Vector3.new(92.104, -43.603, -48.471)), CFrame.new(Vector3.new(0.649, 0.049 + math.sin(Tick + 0.7) / 25, -0.97)) * CFAngles(Vector3.new(121.338 + math.sin(Tick + 1.5) * 2, 13.67 + math.sin(Tick + 2.1), -50.552 + math.sin(Tick + 1.2) * 2)), CFrame.new(Vector3.new(-0.8, -1.891, -0.081)) * CFAngles(Vector3.new(-2.819, 35.424, -4.553)), CFrame.new(Vector3.new(0.6, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 4.072))}) | |
403 | wait(0.07) | |
404 | setLerp(0.5) | |
405 | sound(c.Torso, 280667448, 0.3, math.random(100, 110) / 100) | |
406 | setJointCFrames({CFrame.new(Vector3.new(0, -0.2 + sine / 45, 0)) * CFAngles(Vector3.new(0, -71, 3)), CFrame.new(Vector3.new(-0.031, 1.5 + math.sin(Tick + 1) / 65, -0.01)) * CFAngles(Vector3.new(2.959 + math.sin(Tick) * 2, 60.763, 1.105)), CFrame.new(Vector3.new(-1.621, 0.529, -0.46)) * CFAngles(Vector3.new(130.035, -58.975, -25.477)), CFrame.new(Vector3.new(0.649, 0.049 + math.sin(Tick + 0.7) / 25, -0.97)) * CFAngles(Vector3.new(121.338 + math.sin(Tick + 1.5) * 2, 13.67 + math.sin(Tick + 2.1), -50.552 + math.sin(Tick + 1.2) * 2)), CFrame.new(Vector3.new(-0.8, -1.891, -0.081)) * CFAngles(Vector3.new(-2.819, 35.424, -4.553)), CFrame.new(Vector3.new(0.6, -1.881, -0.15)) * CFAngles(Vector3.new(-0.82, -20.773, 4.072))}) | |
407 | wait(0.08) | |
408 | Debounces.isAttacking = false | |
409 | else | |
410 | if InputObj.KeyCode == Enum.KeyCode.E and Debounces.canSpecial and not Debounces.isAttacking then | |
411 | Debounces.isAttacking = true | |
412 | Debounces.canSpecial = false | |
413 | Combo[#Combo]() | |
414 | Debounces.isAttacking = false | |
415 | wait(7) | |
416 | Debounces.canSpecial = true | |
417 | else | |
418 | if InputObj.KeyCode == Enum.KeyCode.X and Debounces.canNormal and not Debounces.isAttacking then | |
419 | Debounces.isAttacking = true | |
420 | Debounces.canNormal = false | |
421 | Combo[4]() | |
422 | Debounces.isAttacking = false | |
423 | wait(3.25) | |
424 | Debounces.canNormal = true | |
425 | else | |
426 | if InputObj.KeyCode == Enum.KeyCode.Z and Debounces.canNormal and not Debounces.isAttacking then | |
427 | Debounces.isAttacking = true | |
428 | Debounces.canNormal = false | |
429 | Combo[6]() | |
430 | Debounces.isAttacking = false | |
431 | wait(2.75) | |
432 | Debounces.canNormal = true | |
433 | end | |
434 | end | |
435 | end | |
436 | end | |
437 | end | |
438 | end | |
439 | end) | |
440 | uinps.InputEnded:connect(function(InputObj) | |
441 | if InputObj.KeyCode == Enum.KeyCode.LeftShift then | |
442 | Debounces.isSprinting = false | |
443 | end | |
444 | end) | |
445 | mouse.Button1Down:connect(function() | |
446 | if not Debounces.isAttacking then | |
447 | Debounces.isAttacking = true | |
448 | if Debounces.ComboTimer > 0 then | |
449 | Debounces.Combo = Debounces.Combo + 1 | |
450 | else | |
451 | Debounces.Combo = 1 | |
452 | end | |
453 | local hit = Combo[Debounces.Combo % #Combo + 1]() | |
454 | if hit then | |
455 | Debounces.ComboTimer = 1.25 | |
456 | end | |
457 | Debounces.isAttacking = false | |
458 | end | |
459 | end) | |
460 | rs.RenderStepped:connect(function() | |
461 | Debounces.FPS = 1 / rs.RenderStepped:wait() | |
462 | if Debounces.FPS < 15 then | |
463 | Debounces.FPS = 15 | |
464 | end | |
465 | for _,v in pairs(EfxModel:children()) do | |
466 | Effects[v.Name].move(v) | |
467 | end | |
468 | local FPSLerp = AnimStat.lerpSpeed / (Debounces.FPS / 60) | |
469 | for i = 1, #Joints do | |
470 | Joints[i].C0 = Joints[i].C0:lerp(JointTargets[i], FPSLerp) | |
471 | end | |
472 | local sineval = math.sin(tick() * 2) * 3 | |
473 | end) |