SHOW:
|
|
- or go back to the newest paste.
1 | local Player = game.Players.LocalPlayer | |
2 | local Character = Player.Character | |
3 | wait(0.016666666666667) | |
4 | Effects = {} | |
5 | local Player = game.Players.localPlayer | |
6 | local Character = Player.Character | |
7 | local cn = CFrame.new | |
8 | local Humanoid = Character.Humanoid | |
9 | local mouse = Player:GetMouse() | |
10 | local m = Instance.new("Model", Character) | |
11 | m.Name = "WeaponModel" | |
12 | local effect = Instance.new("Model", Character) | |
13 | effect.Name = "Effect" | |
14 | local LeftArm = Character["Left Arm"] | |
15 | local RightArm = Character["Right Arm"] | |
16 | local LeftLeg = Character["Left Leg"] | |
17 | local RightLeg = Character["Right Leg"] | |
18 | local Head = Character.Head | |
19 | local Torso = Character.Torso | |
20 | local cam = game.Workspace.CurrentCamera | |
21 | local RootPart = Character.HumanoidRootPart | |
22 | local RootJoint = RootPart.RootJoint | |
23 | local equipped = false | |
24 | local attack = false | |
25 | local Anim = "Idle" | |
26 | local idle = 0 | |
27 | local attacktype = 1 | |
28 | local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude | |
29 | local velocity = RootPart.Velocity.y | |
30 | local sine = 0 | |
31 | local change = 1 | |
32 | local mana = 0 | |
33 | local it = Instance.new | |
34 | vt = Vector3.new | |
35 | local grabbed = false | |
36 | local cf = CFrame.new | |
37 | local mr = math.rad | |
38 | local angles = CFrame.Angles | |
39 | local ud = UDim2.new | |
40 | local c3 = Color3.new | |
41 | local NeckCF = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
42 | Humanoid.Animator:Destroy() | |
43 | Humanoid.WalkSpeed = 32 | |
44 | Character.Animate:Destroy() | |
45 | local RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14) | |
46 | local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0) | |
47 | local LHCF = (CFrame.fromEulerAnglesXYZ(0, -1.6, 0)) | |
48 | RSH = nil | |
49 | RW = Instance.new("Weld") | |
50 | LW = Instance.new("Weld") | |
51 | RH = Torso["Right Hip"] | |
52 | LH = Torso["Left Hip"] | |
53 | RSH = Torso["Right Shoulder"] | |
54 | LSH = Torso["Left Shoulder"] | |
55 | RSH.Parent = nil | |
56 | LSH.Parent = nil | |
57 | RW.Name = "RW" | |
58 | RW.Part0 = Torso | |
59 | RW.C0 = cf(1.5, 0.5, 0) | |
60 | RW.C1 = cf(0, 0.5, 0) | |
61 | RW.Part1 = RightArm | |
62 | RW.Parent = Torso | |
63 | LW.Name = "LW" | |
64 | LW.Part0 = Torso | |
65 | LW.C0 = cf(-1.5, 0.5, 0) | |
66 | LW.C1 = cf(0, 0.5, 0) | |
67 | LW.Part1 = LeftArm | |
68 | LW.Parent = Torso | |
69 | clerp = function(a, b, t) | |
70 | ||
71 | return a:lerp(b, t) | |
72 | end | |
73 | ||
74 | local RbxUtility = LoadLibrary("RbxUtility") | |
75 | local Create = RbxUtility.Create | |
76 | RemoveOutlines = function(part) | |
77 | ||
78 | part.TopSurface = 10 | |
79 | end | |
80 | ||
81 | CreatePart = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size) | |
82 | ||
83 | local Part = Create("Part")({Parent = Parent, Reflectance = Reflectance, Transparency = Transparency, CanCollide = false, Locked = true, BrickColor = BrickColor.new(tostring(BColor)), Name = Name, Size = Size, Material = Material}) | |
84 | RemoveOutlines(Part) | |
85 | return Part | |
86 | end | |
87 | ||
88 | CreateMesh = function(Mesh, Part, MeshType, MeshId, OffSet, Scale) | |
89 | ||
90 | local Msh = Create(Mesh)({Parent = Part, Offset = OffSet, Scale = Scale}) | |
91 | if Mesh == "SpecialMesh" then | |
92 | Msh.MeshType = MeshType | |
93 | Msh.MeshId = MeshId | |
94 | end | |
95 | return Msh | |
96 | end | |
97 | ||
98 | local co1 = 10 | |
99 | local co2 = 30 | |
100 | local co3 = 15 | |
101 | local co4 = 60 | |
102 | local co5 = 1 | |
103 | local cooldown1 = 10 | |
104 | local cooldown2 = 30 | |
105 | local cooldown3 = 15 | |
106 | local cooldown4 = 60 | |
107 | local cooldown5 = 0 | |
108 | local maxEnergy = 0 | |
109 | local Energy = 0 | |
110 | local skill1stam = 14 | |
111 | local skill2stam = 0 | |
112 | local skill3stam = 0 | |
113 | local skill4stam = 0 | |
114 | local recovermana = 5 | |
115 | local skillcolorscheme = BrickColor.new("Pastel Blue").Color | |
116 | local scrn = Instance.new("ScreenGui", Player.PlayerGui) | |
117 | makeframe = function(par, trans, pos, size, color) | |
118 | ||
119 | local frame = Instance.new("Frame", par) | |
120 | frame.BackgroundTransparency = trans | |
121 | frame.BorderSizePixel = 0 | |
122 | frame.Position = pos | |
123 | frame.Size = size | |
124 | frame.BackgroundColor3 = color | |
125 | return frame | |
126 | end | |
127 | ||
128 | makelabel = function(par, text) | |
129 | ||
130 | local label = Instance.new("TextLabel", par) | |
131 | label.BackgroundTransparency = 1 | |
132 | label.Size = UDim2.new(1, 0, 1, 0) | |
133 | label.Position = UDim2.new(0, 0, 0, 0) | |
134 | label.TextColor3 = Color3.new(255, 255, 255) | |
135 | label.TextStrokeTransparency = 0 | |
136 | label.FontSize = Enum.FontSize.Size32 | |
137 | label.Font = Enum.Font.SourceSansBold | |
138 | label.BorderSizePixel = 0 | |
139 | label.TextScaled = true | |
140 | label.Text = text | |
141 | end | |
142 | ||
143 | outsideframe1 = makeframe(scrn, 0.5, UDim2.new(0.05, 0, 0.8, 0), UDim2.new(0.3, 0, 0.1, 0), skillcolorscheme) | |
144 | outsideframe2 = makeframe(scrn, 0.5, UDim2.new(0.4, 0, 0.8, 0), UDim2.new(0.16, 0, 0.1, 0), skillcolorscheme) | |
145 | outsideframe3 = makeframe(scrn, 0.5, UDim2.new(0.6, 0, 0.8, 0), UDim2.new(0.16, 0, 0.1, 0), skillcolorscheme) | |
146 | outsideframe4 = makeframe(scrn, 0.5, UDim2.new(.8, 0, 0.8, 0), UDim2.new(0.16, 0, 0.1, 0), skillcolorscheme) | |
147 | outsideframe5 = makeframe(scrn, 0.5, UDim2.new(.05, 0, 0.9, 0), UDim2.new(0.91, 0, 0.1, 0), skillcolorscheme) | |
148 | bar1 = makeframe(outsideframe1, 0, UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), skillcolorscheme) | |
149 | bar2 = makeframe(outsideframe2, 0, UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), skillcolorscheme) | |
150 | bar3 = makeframe(outsideframe3, 0, UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), skillcolorscheme) | |
151 | bar4 = makeframe(outsideframe4, 0, UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), skillcolorscheme) | |
152 | bar5 = makeframe(outsideframe5, 0, UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), skillcolorscheme) | |
153 | text1 = Instance.new("TextLabel", outsideframe1) | |
154 | text1.BackgroundTransparency = 1 | |
155 | text1.Size = UDim2.new(1, 0, 1, 0) | |
156 | text1.Position = UDim2.new(0, 0, 0, 0) | |
157 | text1.TextColor3 = Color3.new(255, 255, 255) | |
158 | text1.TextStrokeTransparency = 0 | |
159 | text1.FontSize = Enum.FontSize.Size18 | |
160 | text1.Font = Enum.Font.SourceSansLight | |
161 | text1.BorderSizePixel = 0 | |
162 | text1.TextScaled = true | |
163 | text1.Text = "[Z]\n Reload (ammo)" | |
164 | text2 = Instance.new("TextLabel", outsideframe2) | |
165 | text2.BackgroundTransparency = 1 | |
166 | text2.Size = UDim2.new(1, 0, 1, 0) | |
167 | text2.Position = UDim2.new(0, 0, 0, 0) | |
168 | text2.TextColor3 = Color3.new(255, 255, 255) | |
169 | text2.TextStrokeTransparency = 0 | |
170 | text2.FontSize = Enum.FontSize.Size18 | |
171 | text2.Font = Enum.Font.SourceSansLight | |
172 | text2.BorderSizePixel = 0 | |
173 | text2.TextScaled = true | |
174 | text2.Text = "[X]\n Teleport" | |
175 | text3 = Instance.new("TextLabel", outsideframe3) | |
176 | text3.BackgroundTransparency = 1 | |
177 | text3.Size = UDim2.new(1, 0, 1, 0) | |
178 | text3.Position = UDim2.new(0, 0, 0, 0) | |
179 | text3.TextColor3 = Color3.new(255, 255, 255) | |
180 | text3.TextStrokeTransparency = 0 | |
181 | text3.FontSize = Enum.FontSize.Size18 | |
182 | text3.Font = Enum.Font.SourceSansLight | |
183 | text3.BorderSizePixel = 0 | |
184 | text3.TextScaled = true | |
185 | text3.Text = "[C]\n Explosive Shot" | |
186 | text4 = Instance.new("TextLabel", outsideframe4) | |
187 | text4.BackgroundTransparency = 1 | |
188 | text4.Size = UDim2.new(1, 0, 1, 0) | |
189 | text4.Position = UDim2.new(0, 0, 0, 0) | |
190 | text4.TextColor3 = Color3.new(255, 255, 255) | |
191 | text4.TextStrokeTransparency = 0 | |
192 | text4.FontSize = Enum.FontSize.Size18 | |
193 | text4.Font = Enum.Font.SourceSansLight | |
194 | text4.BorderSizePixel = 0 | |
195 | text4.TextScaled = true | |
196 | text4.Text = "[V]\n Decoy" | |
197 | text5 = Instance.new("TextLabel", outsideframe5) | |
198 | text5.BackgroundTransparency = 1 | |
199 | text5.Size = UDim2.new(1, 0, 1, 0) | |
200 | text5.Position = UDim2.new(0, 0, 0, 0) | |
201 | text5.TextColor3 = Color3.new(255, 255, 255) | |
202 | text5.TextStrokeTransparency = 0 | |
203 | text5.FontSize = Enum.FontSize.Size18 | |
204 | text5.Font = Enum.Font.SourceSansLight | |
205 | text5.BorderSizePixel = 0 | |
206 | text5.TextScaled = true | |
207 | text5.Text = "Damage Multiplier = 1" | |
208 | ArtificialHB = Instance.new("BindableEvent", Player.PlayerGui) | |
209 | ArtificialHB.Name = "Heartbeat" | |
210 | Player.PlayerGui:WaitForChild("Heartbeat") | |
211 | frame = 0.033333333333333 | |
212 | tf = 0 | |
213 | allowframeloss = false | |
214 | tossremainder = false | |
215 | lastframe = tick() | |
216 | Player.PlayerGui.Heartbeat:Fire() | |
217 | local gg = false | |
218 | game:GetService("RunService").Heartbeat:connect(function(s, p) | |
219 | ||
220 | if Player.PlayerGui:FindFirstChild("Heartbeat") == nil then | |
221 | gg = true | |
222 | end | |
223 | if gg == true then | |
224 | return | |
225 | end | |
226 | tf = tf + s | |
227 | if frame <= tf then | |
228 | if allowframeloss then | |
229 | Player.PlayerGui.Heartbeat:Fire() | |
230 | lastframe = tick() | |
231 | else | |
232 | for i = 1, math.floor(tf / frame) do | |
233 | Player.PlayerGui.Heartbeat:Fire() | |
234 | end | |
235 | lastframe = tick() | |
236 | end | |
237 | if tossremainder then | |
238 | tf = 0 | |
239 | else | |
240 | tf = tf - frame * math.floor(tf / frame) | |
241 | end | |
242 | end | |
243 | end | |
244 | ) | |
245 | swait = function(num) | |
246 | ||
247 | if num == 0 or num == nil then | |
248 | ArtificialHB.Event:wait() | |
249 | else | |
250 | for i = 0, num do | |
251 | ArtificialHB.Event:wait() | |
252 | end | |
253 | end | |
254 | end | |
255 | ||
256 | CreateWeld = function(Parent, Part0, Part1, C0, C1) | |
257 | ||
258 | local Weld = Create("Weld")({Parent = Parent, Part0 = Part0, Part1 = Part1, C0 = C0, C1 = C1}) | |
259 | return Weld | |
260 | end | |
261 | ||
262 | rayCast = function(Position, Direction, Range, Ignore) | |
263 | ||
264 | return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore) | |
265 | end | |
266 | ||
267 | CreateSound = function(id, par, vol, pit) | |
268 | ||
269 | coroutine.resume(coroutine.create(function() | |
270 | ||
271 | local sou = Instance.new("Sound", par or workspace) | |
272 | sou.Volume = vol | |
273 | sou.Pitch = 1 | |
274 | sou.SoundId = id | |
275 | swait() | |
276 | sou:play() | |
277 | game:GetService("Debris"):AddItem(sou, 6) | |
278 | end | |
279 | )) | |
280 | end | |
281 | ||
282 | local getclosest = function(obj, distance) | |
283 | ||
284 | local last, lastx = distance + 1, nil | |
285 | for i,v in pairs(workspace:GetChildren()) do | |
286 | if v:IsA("Model") and v ~= Character and v:findFirstChild("Humanoid") and v:findFirstChild("Torso") and v:findFirstChild("Humanoid").Health > 0 then | |
287 | local t = v.Torso | |
288 | local dist = (t.Position - obj.Position).magnitude | |
289 | if dist <= distance and dist < last then | |
290 | last = dist | |
291 | lastx = v | |
292 | end | |
293 | end | |
294 | end | |
295 | return lastx | |
296 | end | |
297 | ||
298 | Handle = CreatePart(m, Enum.Material.Plastic, 0, 1, "Black", "FakeHandle", Vector3.new(0.210000008, 0.690000117, 0.280000001)) | |
299 | HandleWeld = CreateWeld(m, Character["Right Arm"], Handle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.09519327, -0.237398148, 0.0399169922, 0, -1, 0, 0, 0, -1, 1, 0, 0)) | |
300 | FakeHandle = CreatePart(m, Enum.Material.Plastic, 0, 1, "Black", "FakeHandle", Vector3.new(0.210000008, 0.690000117, 0.280000001)) | |
301 | FakeHandleWeld = CreateWeld(m, Handle, FakeHandle, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)) | |
302 | Motor = CreatePart(m, Enum.Material.SmoothPlastic, 0, 1, "Black", "Motor", Vector3.new(0.50999999, 0.430000126, 0.460000008)) | |
303 | MotorWeld = CreateWeld(m, FakeHandle, Motor, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.565002441, 0, -0.155000687, 0, 1, 0, 0, 0, 1, 1, 0, 0)) | |
304 | CreateMesh("CylinderMesh", Motor, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1)) | |
305 | Guhn = CreatePart(m, Enum.Material.Ice, 0, 0, "Bright blue", "Guhn", Vector3.new(1.5,.8,.6)) | |
306 | GuhnWeld = CreateWeld(m, Handle, Guhn, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-.2, -.4, .1, 1, 0, 0, 0, 1, 0, 0, 0, 1)) | |
307 | Barrel = CreatePart(m, Enum.Material.Plastic, 0, 0, "Really black", "Barrel", Vector3.new(0.200000003, 0.420000021, 0.420000017)) | |
308 | BarrelWeld = CreateWeld(m, Guhn, Barrel, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-.7,0,0, 1, 0, 0, 0, -1, 0, 0, 0, -1)) | |
309 | CreateMesh("BlockMesh", Barrel, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1)) | |
310 | Part2 = CreatePart(m, Enum.Material.Plastic, 0, 0, "Black", "Hitbox", Vector3.new(.3, 1.00000003, 0.3)) | |
311 | Part2 = CreateWeld(m, Guhn, Part2, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(.209000206, .5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)) | |
312 | Part5 = CreateWeld(m, Guhn, Part5, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.29000206, -0.1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)) | |
313 | Hitbox = CreatePart(m, Enum.Material.Plastic, 0, 1, "Black", "Hitbox", Vector3.new(4,.8,.6)) | |
314 | HitboxWeld = CreateWeld(m, Guhn, Hitbox, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0,0,0, 1, 0, 0, 0, 1, 0, 0, 0, 1)) | |
315 | ||
316 | Handle2 = CreatePart(m, Enum.Material.Plastic, 0, 1, "Black", "FakeHandle", Vector3.new(0.210000008, 0.690000117, 0.280000001)) | |
317 | HandleWeld2 = CreateWeld(m, Character["Left Arm"], Handle2, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.09519327, -0.237398148, 0.0399169922, 0, -1, 0, 0, 0, -1, 1, 0, 0)) | |
318 | FakeHandle2 = CreatePart(m, Enum.Material.Plastic, 0, 1, "Black", "FakeHandle", Vector3.new(0.210000008, 0.690000117, 0.280000001)) | |
319 | FakeHandleWeld2 = CreateWeld(m, Handle2, FakeHandle2, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)) | |
320 | Motor2 = CreatePart(m, Enum.Material.SmoothPlastic, 0, 1, "Black", "Motor", Vector3.new(0.50999999, 0.430000126, 0.460000008)) | |
321 | MotorWeld2 = CreateWeld(m, FakeHandle2, Motor2, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.565002441, 0, -0.155000687, 0, 1, 0, 0, 0, 1, 1, 0, 0)) | |
322 | CreateMesh("CylinderMesh", Motor2, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1)) | |
323 | Guhn2 = CreatePart(m, Enum.Material.Ice, 0, 0, "Bright blue", "Guhn", Vector3.new(1.5,.8,.6)) | |
324 | GuhnWeld2 = CreateWeld(m, Handle2, Guhn2, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-.2, -.4, -.1, 1, 0, 0, 0, 1, 0, 0, 0, 1)) | |
325 | Barrel2 = CreatePart(m, Enum.Material.Plastic, 0, 0, "Really black", "Barrel", Vector3.new(0.200000003, 0.420000021, 0.420000017)) | |
326 | BarrelWeld2 = CreateWeld(m, Guhn2, Barrel2, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-.7,0,0, 1, 0, 0, 0, -1, 0, 0, 0, -1)) | |
327 | CreateMesh("BlockMesh", Barrel2, "", "", Vector3.new(0, 0, 0), Vector3.new(1, 1, 1)) | |
328 | Part22 = CreatePart(m, Enum.Material.Plastic, 0, 0, "Black", "Hitbox", Vector3.new(.3, 1.00000003, 0.3)) | |
329 | Part2weld2 = CreateWeld(m, Guhn2, Part22, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(.209000206, .5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)) | |
330 | Part52 = CreateWeld(m, Guhn2, Part52, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-1.29000206, -0.1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)) | |
331 | Hitbox2 = CreatePart(m, Enum.Material.Plastic, 0, 1, "Black", "Hitbox", Vector3.new(4,.8,.6)) | |
332 | HitboxWeld2 = CreateWeld(m, Guhn2, Hitbox2, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0,0,0, 1, 0, 0, 0, 1, 0, 0, 0, 1)) | |
333 | ||
334 | ||
335 | Damagefunc = function(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch) | |
336 | ||
337 | if hit.Parent == nil then | |
338 | return | |
339 | end | |
340 | local h = hit.Parent:FindFirstChild("Humanoid") | |
341 | for _,v in pairs(hit.Parent:children()) do | |
342 | if v:IsA("Humanoid") then | |
343 | h = v | |
344 | end | |
345 | end | |
346 | if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then | |
347 | if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then | |
348 | return | |
349 | end | |
350 | local c = Create("ObjectValue")({Name = "creator", Value = game:service("Players").LocalPlayer, Parent = h}) | |
351 | game:GetService("Debris"):AddItem(c, 0.5) | |
352 | if HitSound ~= nil and HitPitch ~= nil then | |
353 | CreateSound(HitSound, hit, 1, HitPitch) | |
354 | end | |
355 | local Damage = math.random(minim, maxim) | |
356 | local blocked = false | |
357 | local block = hit.Parent:findFirstChild("Block") | |
358 | if block ~= nil and block.className == "IntValue" and block.Value > 0 then | |
359 | blocked = true | |
360 | block.Value = block.Value - 1 | |
361 | print(block.Value) | |
362 | end | |
363 | if blocked == false then | |
364 | HitHealth = h.Health | |
365 | h.Health = h.Health - Damage*(cooldown5+1) | |
366 | if cooldown5 <= 1 then | |
367 | cooldown5 = cooldown5 + (Damage/200) | |
368 | end | |
369 | if HitHealth ~= h.Health and HitHealth ~= 0 and h.Health <= 0 and h.Parent.Name ~= "Hologram" then | |
370 | print("cooldowns reset") | |
371 | cooldown1 = 10 | |
372 | cooldown2 = 30 | |
373 | cooldown3 = 15 | |
374 | cooldown4 = 60 | |
375 | end | |
376 | if HitHealth ~= h.Health and HitHealth ~= 0 and h.Health <= 0 then | |
377 | print("Killed a goob") | |
378 | end | |
379 | ShowDamage(Part.CFrame * CFrame.new(0, 0, Part.Size.Z / 2).p + Vector3.new(0, 1.5, 0), -Damage, 1.5, Part.BrickColor.Color) | |
380 | else | |
381 | h.Health = h.Health - Damage / 2 | |
382 | ShowDamage(Part.CFrame * CFrame.new(0, 0, Part.Size.Z / 2).p + Vector3.new(0, 1.5, 0), -Damage, 1.5, Part.BrickColor.Color) | |
383 | end | |
384 | if Type == "Knockdown" then | |
385 | local hum = hit.Parent.Humanoid | |
386 | hum.PlatformStand = true | |
387 | coroutine.resume(coroutine.create(function(HHumanoid) | |
388 | ||
389 | swait(1) | |
390 | HHumanoid.PlatformStand = false | |
391 | end | |
392 | ), hum) | |
393 | local angle = hit.Position - (Property.Position + Vector3.new(0, 0, 0)).unit | |
394 | local bodvol = Create("BodyVelocity")({velocity = angle * knockback, P = 5000, maxForce = Vector3.new(8000, 8000, 8000), Parent = hit}) | |
395 | local rl = Create("BodyAngularVelocity")({P = 3000, maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000, angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)), Parent = hit}) | |
396 | game:GetService("Debris"):AddItem(bodvol, 0.5) | |
397 | game:GetService("Debris"):AddItem(rl, 0.5) | |
398 | elseif Type == "Normal" then | |
399 | local vp = Create("BodyVelocity")({P = 500, maxForce = Vector3.new(math.huge, 0, math.huge), velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05}) | |
400 | if knockback > 0 then | |
401 | vp.Parent = hit.Parent.Torso | |
402 | end | |
403 | game:GetService("Debris"):AddItem(vp, 0.5) | |
404 | elseif Type == "Up" then | |
405 | local bodyVelocity = Create("BodyVelocity")({velocity = vt(0, 20, 0), P = 5000, maxForce = Vector3.new(8000, 8000, 8000), Parent = hit}) | |
406 | game:GetService("Debris"):AddItem(bodyVelocity, 0.5) | |
407 | elseif Type == "DarkUp" then | |
408 | coroutine.resume(coroutine.create(function() | |
409 | ||
410 | for i = 0, 1, 0.1 do | |
411 | swait() | |
412 | BlockEffect(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, 0.08, 1) | |
413 | end | |
414 | end | |
415 | )) | |
416 | local bodyVelocity = Create("BodyVelocity")({velocity = vt(0, 20, 0), P = 5000, maxForce = Vector3.new(8000, 8000, 8000), Parent = hit}) | |
417 | game:GetService("Debris"):AddItem(bodyVelocity, 1) | |
418 | elseif Type == "Snare" then | |
419 | local bp = Create("BodyPosition")({P = 2000, D = 100, maxForce = Vector3.new(math.huge, math.huge, math.huge), position = hit.Parent.Torso.Position, Parent = hit.Parent.Torso}) | |
420 | game:GetService("Debris"):AddItem(bp, 0.5) | |
421 | elseif Type == "Fire" then | |
422 | shoottrail2(mouse, hit.Parent.Torso, 0, 1, "Explosive") | |
423 | end | |
424 | elseif Type == "Freeze" then | |
425 | local BodPos = Create("BodyPosition")({P = 50000, D = 1000, maxForce = Vector3.new(math.huge, math.huge, math.huge), position = hit.Parent.Torso.Position, Parent = hit.Parent.Torso}) | |
426 | local BodGy = Create("BodyGyro")({maxTorque = Vector3.new(400000, 400000, 400000) * math.huge, P = 20000, Parent = hit.Parent.Torso, cframe = hit.Parent.Torso.CFrame}) | |
427 | hit.Parent.Torso.Anchored = true | |
428 | coroutine.resume(coroutine.create(function(Part) | |
429 | ||
430 | swait(1.5) | |
431 | Part.Anchored = false | |
432 | end | |
433 | ), hit.Parent.Torso) | |
434 | game:GetService("Debris"):AddItem(BodPos, 3) | |
435 | game:GetService("Debris"):AddItem(BodGy, 3) | |
436 | ||
437 | ||
438 | end | |
439 | local debounce = Create("BoolValue")({Name = "DebounceHit", Parent = hit.Parent, Value = true}) | |
440 | game:GetService("Debris"):AddItem(debounce, Delay) | |
441 | c = Instance.new("ObjectValue") | |
442 | c.Name = "creator" | |
443 | c.Value = Player | |
444 | c.Parent = h | |
445 | game:GetService("Debris"):AddItem(c, 0.5) | |
446 | end | |
447 | ||
448 | ShowDamage = function(Pos, Text, Time, Color) | |
449 | ||
450 | local Rate = 0.033333333333333 --framerate | |
451 | if not Pos then | |
452 | local Pos = Vector3.new(0, 0, 0) | |
453 | end | |
454 | local Text = Text or "" | |
455 | local Time = Time or 2 | |
456 | if not Color then | |
457 | local Color = Color3.new(1, 0, 1) | |
458 | end | |
459 | local EffectPart = CreatePart(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", vt(0, 0, 0)) | |
460 | EffectPart.Anchored = true | |
461 | local BillboardGui = Create("BillboardGui")({Size = UDim2.new(3, 0, 3, 0), Adornee = EffectPart, Parent = EffectPart}) | |
462 | local TextLabel = Create("TextLabel")({BackgroundTransparency = 1, Size = UDim2.new(1, 0, 1, 0), Text = Text, TextColor3 = Color, TextScaled = true, Font = Enum.Font.ArialBold, Parent = BillboardGui}) | |
463 | game.Debris:AddItem(EffectPart, Time + 0.1) | |
464 | EffectPart.Parent = game:GetService("Workspace") | |
465 | delay(0, function() | |
466 | ||
467 | local Frames = Time / Rate | |
468 | for Frame = 1, Frames do | |
469 | wait(Rate) | |
470 | local Percent = Frame / Frames | |
471 | EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0) | |
472 | TextLabel.TextTransparency = Percent | |
473 | end | |
474 | if EffectPart and EffectPart.Parent then | |
475 | EffectPart:Destroy() | |
476 | end | |
477 | end | |
478 | ) | |
479 | end | |
480 | ||
481 | MagniDamage = function(Part, magni, mindam, maxdam, knock, Type) | |
482 | ||
483 | for _,c in pairs(workspace:children()) do | |
484 | local hum = c:findFirstChild("Humanoid") | |
485 | if hum ~= nil then | |
486 | local head = c:findFirstChild("Torso") | |
487 | if head ~= nil then | |
488 | local targ = head.Position - Part.Position | |
489 | local mag = targ.magnitude | |
490 | if mag <= magni and c.Name ~= Player.Name then | |
491 | Damagefunc(head, head, mindam, maxdam, knock, Type, RootPart, 0.1, "http://www.roblox.com/asset/?id=231917784", 1) | |
492 | end | |
493 | end | |
494 | end | |
495 | end | |
496 | end | |
497 | ||
498 | BlockEffect = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type) | |
499 | ||
500 | local prt = CreatePart(effect, "Neon", 0, 0, brickcolor, "Effect", Vector3.new()) | |
501 | prt.Anchored = true | |
502 | prt.CFrame = cframe | |
503 | local msh = CreateMesh("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1)) | |
504 | game:GetService("Debris"):AddItem(prt, 10) | |
505 | if Type == 1 or Type == nil then | |
506 | table.insert(Effects, {prt, "Block1", delay, x3, y3, z3, msh}) | |
507 | else | |
508 | if Type == 2 then | |
509 | table.insert(Effects, {prt, "Block2", delay, x3, y3, z3, msh}) | |
510 | end | |
511 | end | |
512 | end | |
513 | ||
514 | SphereEffect = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay) | |
515 | ||
516 | local prt = CreatePart(effect, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new()) | |
517 | prt.Anchored = true | |
518 | prt.CFrame = cframe | |
519 | local msh = CreateMesh("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1)) | |
520 | game:GetService("Debris"):AddItem(prt, 10) | |
521 | table.insert(Effects, {prt, "Cylinder", delay, x3, y3, z3, msh}) | |
522 | end | |
523 | ||
524 | RingEffect = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay) | |
525 | ||
526 | local prt = CreatePart(effect, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5)) | |
527 | prt.Anchored = true | |
528 | prt.CFrame = cframe * CFrame.new(x1, y1, z1) | |
529 | local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "rbxassetid://3270017", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1)) | |
530 | game:GetService("Debris"):AddItem(prt, 10) | |
531 | table.insert(Effects, {prt, "Cylinder", delay, x3, y3, z3, msh}) | |
532 | end | |
533 | ||
534 | CylinderEffect = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay) | |
535 | ||
536 | local prt = CreatePart(effect, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new()) | |
537 | prt.Anchored = true | |
538 | prt.CFrame = cframe | |
539 | local msh = CreateMesh("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1)) | |
540 | game:GetService("Debris"):AddItem(prt, 10) | |
541 | table.insert(Effects, {prt, "Cylinder", delay, x3, y3, z3, msh}) | |
542 | end | |
543 | ||
544 | WaveEffect = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay) | |
545 | ||
546 | local prt = CreatePart(effect, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new()) | |
547 | prt.Anchored = true | |
548 | prt.CFrame = cframe | |
549 | local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1)) | |
550 | game:GetService("Debris"):AddItem(prt, 10) | |
551 | table.insert(Effects, {prt, "Cylinder", delay, x3, y3, z3, msh}) | |
552 | end | |
553 | ||
554 | SpecialEffect = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay) | |
555 | ||
556 | local prt = CreatePart(effect, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new()) | |
557 | prt.Anchored = true | |
558 | prt.CFrame = cframe | |
559 | local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "rbxassetid://24388358", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1)) | |
560 | game:GetService("Debris"):AddItem(prt, 10) | |
561 | table.insert(Effects, {prt, "Cylinder", delay, x3, y3, z3, msh}) | |
562 | end | |
563 | ||
564 | BreakEffect = function(brickcolor, cframe, x1, y1, z1) | |
565 | ||
566 | local prt = CreatePart(effect, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5)) | |
567 | prt.Anchored = true | |
568 | prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) | |
569 | local msh = CreateMesh("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1)) | |
570 | local num = math.random(10, 50) / 1000 | |
571 | game:GetService("Debris"):AddItem(prt, 10) | |
572 | table.insert(Effects, {prt, "Shatter", num, prt.CFrame, math.random() - math.random(), 0, math.random(50, 100) / 100}) | |
573 | end | |
574 | ||
575 | CloudEffect = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay) | |
576 | ||
577 | local prt = CreatePart(effect, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new()) | |
578 | prt.Anchored = true | |
579 | prt.CFrame = cframe | |
580 | local msh = CreateMesh("SpecialMesh", prt, "FileMesh", "rbxassetid://1095708", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1)) | |
581 | game:GetService("Debris"):AddItem(prt, 10) | |
582 | table.insert(Effects, {prt, "Cylinder", delay, x3, y3, z3, msh}) | |
583 | end | |
584 | ||
585 | Laser = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay) | |
586 | ||
587 | local prt = CreatePart(effect, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5)) | |
588 | prt.Anchored = true | |
589 | prt.CFrame = cframe | |
590 | prt.Material = "Neon" | |
591 | local msh = CreateMesh("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1)) | |
592 | game:GetService("Debris"):AddItem(prt, 10) | |
593 | coroutine.resume(coroutine.create(function(Part, Mesh) | |
594 | ||
595 | for i = 0, 1, delay do | |
596 | swait() | |
597 | Part.Transparency = i | |
598 | Mesh.Scale = Mesh.Scale + Vector3.new(x3, y3, z3) | |
599 | end | |
600 | Part.Parent = nil | |
601 | end | |
602 | ), prt, msh) | |
603 | end | |
604 | ||
605 | shoottrail2 = function(mouse, partt, SpreadAmount, multiply, Type) | |
606 | ||
607 | local SpreadVectors = Vector3.new(math.random(-SpreadAmount, SpreadAmount), math.random(-SpreadAmount, SpreadAmount), math.random(-SpreadAmount, SpreadAmount)) | |
608 | local MainPos = partt.Position | |
609 | local MainPos2 = mouse.Hit.p + SpreadVectors | |
610 | local MouseLook = CFrame.new((MainPos + MainPos2) / 2, MainPos2) | |
611 | local speed = 10 | |
612 | local num = 50 | |
613 | coroutine.resume(coroutine.create(function() | |
614 | ||
615 | repeat | |
616 | swait() | |
617 | local hit, pos = rayCast(MainPos, MouseLook.lookVector, speed, RootPart.Parent) | |
618 | local mag = (MainPos - pos).magnitude | |
619 | if Type == "Explosive" then | |
620 | Laser(BrickColor.new("Crimson"), CFrame.new((MainPos + pos) / 2, pos) * angles(1.57, 0, 0), 1, mag * (speed / (speed / 2)), 1, -1, 0, -1, 0.15) | |
621 | else | |
622 | if Type == "Poison" then | |
623 | Laser(BrickColor.new("Bright violet"), CFrame.new((MainPos + pos) / 2, pos) * angles(1.57, 0, 0), 1, mag * (speed / (speed / 2)), 1, -1, 0, -1, 0.15) | |
624 | SphereEffect(BrickColor.new("Bright violet"), CFrame.new((MainPos + pos) / 2, pos), 1, 1, 1, 2, 2, 2, 0.07) | |
625 | else | |
626 | if Type == "Stun" then | |
627 | Laser(BrickColor.new("White"), CFrame.new((MainPos + pos) / 2, pos) * angles(1.57, 0, 0), 1, mag * (speed / (speed / 2)), 1, -1, 0, -1, 0.15) | |
628 | end | |
629 | end | |
630 | end | |
631 | MainPos = MainPos + MouseLook.lookVector * speed | |
632 | num = num - 1 | |
633 | MouseLook = MouseLook * angles(-.05, 0, 0) | |
634 | if hit ~= nil then | |
635 | num = 0 | |
636 | local refpart = CreatePart(effect, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", Vector3.new()) | |
637 | refpart.Anchored = true | |
638 | refpart.CFrame = CFrame.new(pos) | |
639 | game:GetService("Debris"):AddItem(refpart, 2) | |
640 | end | |
641 | do | |
642 | if num <= 1 then | |
643 | local refpart = CreatePart(effect, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", Vector3.new()) | |
644 | refpart.Anchored = true | |
645 | refpart.CFrame = CFrame.new(pos) | |
646 | if Type == "Explosive" then | |
647 | for i = 0, 5 do | |
648 | CreateSound("rbxassetid://181004943", refpart, 1, 1) | |
649 | BlockEffect(BrickColor.new("Really red"), refpart.CFrame, 1, 1, 1, 10, 10, 10, 0.05) | |
650 | BlockEffect(BrickColor.new("Institutional white"), refpart.CFrame, 1, 1, 1, 10, 10, 10, 0.07) | |
651 | BlockEffect(BrickColor.new("Bright orange"), refpart.CFrame, 1, 1, 1, 1, 1, 25, 0.07) | |
652 | MagniDamage(refpart, 5, 1 * multiply, 3 * multiply, 5, "Normal") | |
653 | swait(5) | |
654 | end | |
655 | for i = 0,9,1 do | |
656 | BlockEffect(BrickColor.new("Really red"), hit.Parent.Torso.CFrame, 1, 1, 1, 10,10,10, 0.07) | |
657 | hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health - 2 | |
658 | swait(10) | |
659 | end | |
660 | else | |
661 | if Type == "Poison" then | |
662 | if hit.Name == "memes" then | |
663 | SphereEffect(BrickColor.new("Bright violet"), refpart.CFrame, 1, 1, 1, 1, 1, 1, 0.07) | |
664 | MagniDamage(refpart, 5, 18 * multiply, 20 * multiply, 0, "Curse") | |
665 | else | |
666 | SphereEffect(BrickColor.new("Bright violet"), refpart.CFrame, 1, 1, 1, 1, 1, 1, 0.07) | |
667 | MagniDamage(refpart, 5, 3 * multiply, 4 * multiply, 0, "Curse") | |
668 | for i = 0,100,5 do | |
669 | hit.Parent.Humanoid.MaxHealth = hit.Parent.Humanoid.MaxHealth-1 | |
670 | hit.Parent.Humanoid.WalkSpeed = 5 | |
671 | swait(2.5) | |
672 | hit.Parent.Humanoid.WalkSpeed = 16 | |
673 | end | |
674 | end | |
675 | else | |
676 | if Type == "Stun" then | |
677 | BlockEffect(BrickColor.new("White"), refpart.CFrame, 1, 1, 1, 1, 1, 1, 0.07) | |
678 | MagniDamage(refpart, 5, -10 * multiply, -5 * multiply, 0, "Normal") | |
679 | for i = 0,100,5 do | |
680 | hit.Parent.Humanoid.Health = hit.Parent.Humanoid.Health+2 | |
681 | hit.Parent.Humanoid.WalkSpeed = 16 | |
682 | swait(.5) | |
683 | end | |
684 | end | |
685 | end | |
686 | end | |
687 | end | |
688 | game:GetService("Debris"):AddItem(refpart, 0) | |
689 | end | |
690 | until num <= 0 | |
691 | end | |
692 | )) | |
693 | end | |
694 | ||
695 | ||
696 | shoottrail = function(mouse, partt, SpreadAmount, multiply) | |
697 | ||
698 | local SpreadVectors = Vector3.new(math.random(-SpreadAmount, SpreadAmount), math.random(-SpreadAmount, SpreadAmount), math.random(-SpreadAmount, SpreadAmount)) | |
699 | local MainPos = partt.Position | |
700 | local MainPos2 = mouse.Hit.p + SpreadVectors | |
701 | local MouseLook = CFrame.new((MainPos + MainPos2) / 2, MainPos2) | |
702 | local speed = 4.5 | |
703 | local num = 200 | |
704 | CreateSound("rbxassetid://256172142", partt, 1, 1) | |
705 | coroutine.resume(coroutine.create(function() | |
706 | ||
707 | repeat | |
708 | swait() | |
709 | local hit, pos = rayCast(MainPos, MouseLook.lookVector, speed, RootPart.Parent) | |
710 | local mag = (MainPos - pos).magnitude | |
711 | Laser(BrickColor.new("Really blue"), CFrame.new((MainPos + pos) / 2, pos) * angles(1.57, 0, 0), 2, mag *(-speed / (speed / 2)), 1, -1, 0, -1, 0.15) | |
712 | MainPos = MainPos + MouseLook.lookVector * speed | |
713 | num = num - 1 | |
714 | MouseLook = MouseLook * angles(-.002,0, 0) | |
715 | if hit ~= nil then | |
716 | num = 0 | |
717 | local refpart = CreatePart(effect, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", Vector3.new(2,2,2)) | |
718 | refpart.Anchored = true | |
719 | refpart.CFrame = CFrame.new(pos) | |
720 | game:GetService("Debris"):AddItem(refpart, 2) | |
721 | end | |
722 | do | |
723 | if num <= 0 then | |
724 | local refpart = CreatePart(effect, "SmoothPlastic", 0, 1, BrickColor.new("Really black"), "Effect", Vector3.new(2,2,2)) | |
725 | refpart.Anchored = true | |
726 | refpart.CFrame = CFrame.new(pos) | |
727 | if hit ~= nil then | |
728 | MagniDamage(refpart, 5, 10,10, 0, "Normal") | |
729 | end | |
730 | game:GetService("Debris"):AddItem(refpart, 0) | |
731 | end | |
732 | end | |
733 | until num <= 0 | |
734 | end | |
735 | )) | |
736 | end | |
737 | ||
738 | ||
739 | ||
740 | ||
741 | attackthree = function() | |
742 | attack = true | |
743 | MagniDamage(Barrel, 0, 0, 0, 0, "Normal") | |
744 | shoottrail(mouse, Barrel, 0, 0.7) | |
745 | ||
746 | BlockEffect(BrickColor.new("Really blue"), Barrel.CFrame, 5, 5, 5, 5,5,5, 0.07) | |
747 | BlockEffect(BrickColor.new("Really blue"), Barrel.CFrame, 5, 5, 5, 5, 5, 5, 0.07) | |
748 | attack = false | |
749 | end | |
750 | ||
751 | attackthree2 = function() | |
752 | attack = true | |
753 | MagniDamage(Barrel, 0, 0, 0, 0, "Normal") | |
754 | shoottrail(mouse, Barrel2, 0, 0.7) | |
755 | ||
756 | BlockEffect(BrickColor.new("Really blue"), Barrel2.CFrame, 5, 5, 5, 5,5,5, 0.07) | |
757 | BlockEffect(BrickColor.new("Really blue"), Barrel2.CFrame, 5, 5, 5, 5, 5, 5, 0.07) | |
758 | attack = false | |
759 | end | |
760 | ||
761 | reload = function() | |
762 | ||
763 | Humanoid.WalkSpeed=0 | |
764 | swait(15) | |
765 | attack = true | |
766 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0 - 0.15 * math.cos(sine / 20)) * angles(math.rad(30), math.rad(0), math.rad(0)), 0.3) | |
767 | Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-30), math.rad(0), math.rad(0)), 0.3) | |
768 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5 - 0.1 * math.cos(sine / 25), 0) * angles(math.rad(120), math.rad(0), math.rad(0)), 0.3) | |
769 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5 - 0.1 * math.cos(sine / 25), 0) * angles(math.rad(120), math.rad(0), math.rad(0)), 0.3) | |
770 | RH.C0 = clerp(RH.C0, cf(1, -1 + 0.15 * math.cos((sine) / 2), 0) * RHCF * angles(math.rad(0), math.rad(0), math.rad(0 - 50 * math.cos((sine) / 3))), 0.3) | |
771 | LH.C0 = clerp(LH.C0, cf(-1, -1 + 0.15 * math.cos((sine) / 2), 0) * LHCF * angles(math.rad(0), math.rad(0), math.rad(0 - 50 * math.cos((sine) / 3))), 0.3) | |
772 | MotorWeld.C0 = clerp(MotorWeld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
773 | FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, -0.3, -0.2) * angles(math.rad(0), math.rad(50), math.rad(-60 - 0.5 * math.cos((sine) / 25))), 0.3) | |
774 | Humanoid.WalkSpeed=32 | |
775 | CreateSound("rbxassetid://174295321", Barrel, 3, 1.6) | |
776 | cooldown1 = cooldown1 + 5 | |
777 | swait(50) | |
778 | CreateSound("rbxassetid://174295321", Barrel2, 3, 1.6) | |
779 | cooldown1 = cooldown1 + 5 | |
780 | swait(50) | |
781 | attack = false | |
782 | Humanoid.WalkSpeed=32 | |
783 | end | |
784 | ||
785 | FireDamageOverTime = function() | |
786 | ||
787 | attack = true | |
788 | for i = 0,1,1 do | |
789 | CreateSound("http://www.roblox.com/asset/?id=134626404", Barrel, 1, 1.6) | |
790 | shoottrail2(mouse, Barrel, 0, 1, "Explosive") | |
791 | BlockEffect(BrickColor.new("Really red"), Barrel.CFrame, 5, 5, 5, 5,5,5, 0.07) | |
792 | BlockEffect(BrickColor.new("Bright orange"), Barrel.CFrame, 5, 5, 5, 5,5,5, 0.07) | |
793 | BlockEffect(BrickColor.new("Institutional white"), Barrel.CFrame, 5, 5, 5, 14,1,1, 0.07) | |
794 | swait(10) | |
795 | CreateSound("http://www.roblox.com/asset/?id=134626404", Barrel2, 1, 1.6) | |
796 | shoottrail2(mouse, Barrel2, 0, 1, "Explosive") | |
797 | BlockEffect(BrickColor.new("Really red"), Barrel2.CFrame, 5, 5, 5, 5,5,5, 0.07) | |
798 | BlockEffect(BrickColor.new("Bright orange"), Barrel2.CFrame, 5, 5, 5, 5,5,5, 0.07) | |
799 | BlockEffect(BrickColor.new("Institutional white"), Barrel2.CFrame, 5, 5, 5, 14,1,1, 0.07) | |
800 | swait(10) | |
801 | end | |
802 | attack = false | |
803 | end | |
804 | ||
805 | tele = function() | |
806 | BlockEffect(BrickColor.new("Really blue"), Torso.CFrame * cn(0, 0, 0), 15, 15, 15, 15,15,15, 0.07) | |
807 | RingEffect(BrickColor.new("Really blue"), Torso.CFrame * cn(0, 0, 0) * angles(1.57, 0, 0), 1, 10, 1, 1, 0, 1, 0.07) | |
808 | RootPart.CFrame = RootPart.CFrame * cn(0, 0, -20) | |
809 | BlockEffect(BrickColor.new("Really blue"), Torso.CFrame * cn(0, 0, 0), 15, 15, 15, 15,15,15, 0.07) | |
810 | RingEffect(BrickColor.new("Really blue"), Torso.CFrame * cn(-7, -5, 0), 7, 5, 7, 0.5, -0.01, 0.5, 0.07) | |
811 | end | |
812 | ||
813 | Decoy = function() | |
814 | MagniDamage(Torso, 20, 15,30, 5, "Fire") | |
815 | BlockEffect(BrickColor.new("Really red"), Torso.CFrame * cn(0, 0, 0), 15, 15, 15, 25,25,25, 0.07) | |
816 | BlockEffect(BrickColor.new("Bright orange"), Torso.CFrame * cn(0, 0, 0), 15, 15, 15, 25,25,25, 0.07) | |
817 | BlockEffect(BrickColor.new("Institutional white"), Torso.CFrame * cn(0, 0, 0), 15, 15, 15, 60,3,3, 0.07) | |
818 | RingEffect(BrickColor.new("Really black"), Torso.CFrame * cn(0, 0, 0) * angles(1.57, 0, 0), 1, 10, 1, 1, 0, 1, 0.07) | |
819 | RootPart.CFrame = RootPart.CFrame * cn(0, 0, 40) | |
820 | end | |
821 | ||
822 | ||
823 | ||
824 | mouse.Button1Down:connect(function() | |
825 | ||
826 | if attack == false and attacktype == 1 and cooldown1 >= 1 then | |
827 | attacktype = 2 | |
828 | - | cooldown1 = cooldown1 - 1 |
828 | + | cooldown1 = cooldown1 - 0 |
829 | attackthree() | |
830 | else | |
831 | if attack == false and attacktype == 2 and cooldown1 >= 1 then | |
832 | attacktype = 1 | |
833 | - | cooldown1 = cooldown1 - 1 |
833 | + | cooldown1 = cooldown1 - 0 |
834 | attackthree2() | |
835 | else | |
836 | if attack == false and attacktype == 2 and cooldown1 == 0 or attack == false and attacktype == 1 and cooldown1 == 0 then | |
837 | cooldown1 = 0.01 | |
838 | reload() | |
839 | cooldown1 = 10 | |
840 | end | |
841 | end | |
842 | end | |
843 | end | |
844 | ) | |
845 | mouse.KeyDown:connect(function(k) | |
846 | ||
847 | k = k:lower() | |
848 | if attack == false and k == "z" then | |
849 | cooldown1 = 0.01 | |
850 | reload() | |
851 | cooldown1 = 10 | |
852 | else | |
853 | if attack == false and 10 <= cooldown2 and k == "x" then | |
854 | cooldown2 = cooldown2 - 10 | |
855 | tele() | |
856 | else | |
857 | if attack == false and co3 <= cooldown3 and k == "c" then | |
858 | cooldown3 = 0 | |
859 | FireDamageOverTime() | |
860 | else | |
861 | if attack == false and co4 <= cooldown4 and k == "v" then | |
862 | cooldown4 = 0 | |
863 | Decoy() | |
864 | end | |
865 | end | |
866 | end | |
867 | end | |
868 | end | |
869 | ) | |
870 | updateskills = function() | |
871 | ||
872 | if cooldown2 <= co2 then | |
873 | - | cooldown2 = cooldown2 + 0.033333333333333 |
873 | + | cooldown2 = cooldown2 + 03.3333333333333 |
874 | end | |
875 | if cooldown3 <= co3 then | |
876 | - | cooldown3 = cooldown3 + 0.033333333333333 |
876 | + | cooldown3 = cooldown3 + 03.3333333333333 |
877 | end | |
878 | if cooldown4 <= co4 then | |
879 | - | cooldown4 = cooldown4 + 0.033333333333333 |
879 | + | cooldown4 = cooldown4 + 3.3333333333333 |
880 | end | |
881 | if cooldown5 >= .002 then | |
882 | cooldown5 = cooldown5 - 0.002 | |
883 | text5.Text = "Damage Multiplier = (" .. cooldown5+1 .. ")" | |
884 | end | |
885 | if cooldown5 >= 1 then | |
886 | cooldown5 = 1 | |
887 | end | |
888 | if cooldown1 >= 11 then | |
889 | cooldown1 = 10 | |
890 | end | |
891 | end | |
892 | ||
893 | while true do | |
894 | swait() | |
895 | if aiming == true then | |
896 | local aim = CFrame.new(RootPart.Position, mouse.Hit.p) | |
897 | local direction = aim.lookVector | |
898 | local headingA = math.atan2(direction.x, direction.z) | |
899 | headingA = math.deg(headingA) | |
900 | Humanoid.AutoRotate = false | |
901 | RootPart.CFrame = CFrame.new(RootPart.Position) * angles(math.rad(0), math.rad(headingA - 180), math.rad(0)) | |
902 | else | |
903 | do | |
904 | Humanoid.AutoRotate = true | |
905 | updateskills() | |
906 | bar5:TweenSize(UDim2.new(1 * (cooldown5 / co5), 0, 1, 0), "Out", "Quad", 0.5) | |
907 | bar4:TweenSize(UDim2.new(1 * (cooldown4 / co4), 0, 1, 0), "Out", "Quad", 0.5) | |
908 | bar3:TweenSize(UDim2.new(1 * (cooldown3 / co3), 0, 1, 0), "Out", "Quad", 0.5) | |
909 | bar1:TweenSize(UDim2.new(1 * (cooldown1 / co1), 0, 1, 0), "Out", "Quad", 0.5) | |
910 | bar2:TweenSize(UDim2.new(1 * (cooldown2 / co2), 0, 1, 0), "Out", "Quad", 0.5) | |
911 | Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude | |
912 | velocity = RootPart.Velocity.y | |
913 | sine = sine + change | |
914 | local hit, pos = rayCast(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 4, Character) | |
915 | if equipped == true or equipped == false then | |
916 | if 1 < RootPart.Velocity.y and hit == nil then | |
917 | Anim = "Jump" | |
918 | if attack == false then | |
919 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0 - 0.15 * math.cos((sine) / 20)) * angles(-180, math.rad(0), math.rad(0)), 0.3) | |
920 | Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-20), math.rad(0), math.rad(0)), 0.3) | |
921 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(160,0,0), 0.3) | |
922 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5 - 0.1 * math.cos((sine) / 25), 0) * angles(160,0,0), 0.3) | |
923 | RH.C0 = clerp(RH.C0, cf(1, -1 + 0.15 * math.cos((sine) / 20), 0) * RHCF * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
924 | LH.C0 = clerp(LH.C0, cf(-1, -1 + 0.15 * math.cos((sine) / 20), 0) * LHCF * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
925 | MotorWeld.C0 = clerp(MotorWeld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
926 | FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, -0.3, -0.2) * angles(math.rad(0), math.rad(50), math.rad(-60 - 0.5 * math.cos((sine) / 25))), 0.3) | |
927 | end | |
928 | else | |
929 | if RootPart.Velocity.y < -1 and hit == nil then | |
930 | Anim = "Fall" | |
931 | if attack == false then | |
932 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0 - 0.15 * math.cos((sine) / 20)) * angles(90, 0, 0), 0.3) | |
933 | Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(20), math.rad(0), math.rad(0)), 0.3) | |
934 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5, 0) * angles(180,0,0), 0.3) | |
935 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5 - 0.1 * math.cos((sine) / 25), 0) * angles(180,0,0), 0.3) | |
936 | RH.C0 = clerp(RH.C0, cf(1, -1 + 0.15 * math.cos((sine) / 20), 0) * RHCF * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
937 | LH.C0 = clerp(LH.C0, cf(-1, -1 + 0.15 * math.cos((sine) / 20), 0) * LHCF * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
938 | MotorWeld.C0 = clerp(MotorWeld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
939 | FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, -0.3, -0.2) * angles(math.rad(0), math.rad(50), math.rad(-60 - 0.5 * math.cos((sine) / 25))), 0.3) | |
940 | end | |
941 | else | |
942 | if Torsovelocity < 1 and hit ~= nil then | |
943 | Anim = "Idle" | |
944 | if attack == false then | |
945 | change = 1 | |
946 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0 - 0.15 * math.cos(sine / 20)) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
947 | Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
948 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5 - 0.1 * math.cos(sine / 25), 0) * angles(math.rad(90), math.rad(0), math.rad(0)), 0.3) | |
949 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5 - 0.1 * math.cos(sine / 25), 0) * angles(math.rad(90), math.rad(0), math.rad(0)), 0.3) | |
950 | RH.C0 = clerp(RH.C0, cf(1, -1 + 0.15 * math.cos(sine / 20), 0) * RHCF * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
951 | LH.C0 = clerp(LH.C0, cf(-1, -1 + 0.15 * math.cos(sine / 20), 0) * LHCF * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
952 | FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(-60)), 0.3) | |
953 | end | |
954 | else | |
955 | if 2 < Torsovelocity and hit ~= nil then | |
956 | Anim = "Walk" | |
957 | if attack == false then | |
958 | RootJoint.C0 = clerp(RootJoint.C0, RootCF * cf(0, 0, 0 - 0.15 * math.cos(sine / 20)) * angles(math.rad(30), math.rad(0), math.rad(0)), 0.3) | |
959 | Torso.Neck.C0 = clerp(Torso.Neck.C0, NeckCF * angles(math.rad(-30), math.rad(0), math.rad(0)), 0.3) | |
960 | RW.C0 = clerp(RW.C0, CFrame.new(1.5, 0.5 - 0.1 * math.cos(sine / 25), 0) * angles(math.rad(120), math.rad(0), math.rad(0)), 0.3) | |
961 | LW.C0 = clerp(LW.C0, CFrame.new(-1.5, 0.5 - 0.1 * math.cos(sine / 25), 0) * angles(math.rad(120), math.rad(0), math.rad(0)), 0.3) | |
962 | RH.C0 = clerp(RH.C0, cf(1, -1 + 0.15 * math.cos((sine) / 2), 0) * RHCF * angles(math.rad(0), math.rad(0), math.rad(0 - 50 * math.cos((sine) / 3))), 0.3) | |
963 | LH.C0 = clerp(LH.C0, cf(-1, -1 + 0.15 * math.cos((sine) / 2), 0) * LHCF * angles(math.rad(0), math.rad(0), math.rad(0 - 50 * math.cos((sine) / 3))), 0.3) | |
964 | MotorWeld.C0 = clerp(MotorWeld.C0, CFrame.new(0, 0, 0) * angles(math.rad(0), math.rad(0), math.rad(0)), 0.3) | |
965 | FakeHandleWeld.C0 = clerp(FakeHandleWeld.C0, CFrame.new(0, -0.3, -0.2) * angles(math.rad(0), math.rad(50), math.rad(-60 - 0.5 * math.cos((sine) / 25))), 0.3) | |
966 | end | |
967 | end | |
968 | end | |
969 | end | |
970 | end | |
971 | end | |
972 | end | |
973 | end | |
974 | if 0 < #Effects then | |
975 | for e = 1, #Effects do | |
976 | if Effects[e] ~= nil then | |
977 | local Thing = Effects[e] | |
978 | if Thing ~= nil then | |
979 | local Part = Thing[1] | |
980 | local Mode = Thing[2] | |
981 | local Delay = Thing[3] | |
982 | local IncX = Thing[4] | |
983 | local IncY = Thing[5] | |
984 | local IncZ = Thing[6] | |
985 | if Thing[1].Transparency <= 1 then | |
986 | if Thing[2] == "Block1" then | |
987 | Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)) | |
988 | Mesh = Thing[1].Mesh | |
989 | Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6]) | |
990 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
991 | else | |
992 | if Thing[2] == "Block2" then | |
993 | Thing[1].CFrame = Thing[1].CFrame | |
994 | Mesh = Thing[7] | |
995 | Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6]) | |
996 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
997 | else | |
998 | if Thing[2] == "Cylinder" then | |
999 | Mesh = Thing[1].Mesh | |
1000 | Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6]) | |
1001 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
1002 | else | |
1003 | if Thing[2] == "Blood" then | |
1004 | Mesh = Thing[7] | |
1005 | Thing[1].CFrame = Thing[1].CFrame * Vector3.new(0, 0.5, 0) | |
1006 | Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6]) | |
1007 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
1008 | else | |
1009 | if Thing[2] == "Elec" then | |
1010 | Mesh = Thing[1].Mesh | |
1011 | Mesh.Scale = Mesh.Scale + Vector3.new(Thing[7], Thing[8], Thing[9]) | |
1012 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
1013 | else | |
1014 | if Thing[2] == "Disappear" then | |
1015 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
1016 | else | |
1017 | if Thing[2] == "Shatter" then | |
1018 | Thing[1].Transparency = Thing[1].Transparency + Thing[3] | |
1019 | Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0) | |
1020 | Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0) | |
1021 | Thing[6] = Thing[6] + Thing[5] | |
1022 | end | |
1023 | end | |
1024 | end | |
1025 | end | |
1026 | end | |
1027 | end | |
1028 | end | |
1029 | else | |
1030 | Part.Parent = nil | |
1031 | table.remove(Effects, e) | |
1032 | end | |
1033 | end | |
1034 | end | |
1035 | end | |
1036 | end | |
1037 | end |