SHOW:
|
|
- or go back to the newest paste.
1 | - | --[[ Thank you ]]-- |
1 | + | |
2 | - | ------------------------------------------------------- |
2 | + | |
3 | - | --[[ |
3 | + | |
4 | warn(game:GetService("MarketplaceService"):GetProductInfo(1720721621).Description) | |
5 | - | This script was created by WafflesAreVeryGood or Nobody#3907 |
5 | + | |
6 | --[[Changeable Variables]]-- | |
7 | - | --]] |
7 | + | |
8 | - | ------------------------------------------------------- |
8 | + | |
9 | - | --[[ Reference ]]-- |
9 | + | |
10 | - | --[[ |
10 | + | |
11 | - | Burn Function |
11 | + | |
12 | - | hurt(char.Head, 15, "Burn", {char, {Color = Color3.new(0,1,1), Time = 1, Rate = 20, Damage = {1,5}}}) |
12 | + | |
13 | } | |
14 | - | Freeze Function |
14 | + | |
15 | - | hurt(char.Head, 0, "Freeze", {char, 1}) |
15 | + | |
16 | local soundlist = { | |
17 | - | Stun Function |
17 | + | |
18 | - | hurt(char.Head, 0, "Stun", {char, 0.2}) |
18 | + | |
19 | - | --]] |
19 | + | |
20 | - | ------------------------------------------------------- |
20 | + | |
21 | WeakHit2 = "rbxassetid://541907812", | |
22 | Slice1 = "rbxassetid://260429964", | |
23 | Slice2 = "rbxassetid://260430015", | |
24 | Explosion1 = "rbxassetid://138186576", | |
25 | Explosion2 = "rbxassetid://157878578", | |
26 | Woosh1 = "rbxassetid://541909867", | |
27 | Woosh2 = "rbxassetid://541909763", | |
28 | Freeze = "rbxassetid://268249319", | |
29 | Thaw = "rbxassetid://1578580965", | |
30 | Burn = "rbxassetid://298181829", | |
31 | ||
32 | } | |
33 | local attack_data = { | |
34 | { | |
35 | Name = "Attack", | |
36 | Description = "Description", | |
37 | Key = "Key", | |
38 | }, | |
39 | ||
40 | } | |
41 | ||
42 | --[[Important Variables]]-- | |
43 | local char = GrownGreen | |
44 | local mouse = plr:GetMouse() | |
45 | local input = game:GetService('UserInputService') | |
46 | ---- | |
47 | local joints = {"Right Shoulder", "Left Shoulder", "Right Hip", "Left Hip", "Neck", "RootJoint"} | |
48 | local torso,head,rootpart = char.Torso,char.Head,char.HumanoidRootPart | |
49 | local rs = torso["Right Shoulder"] | |
50 | local ls = torso["Left Shoulder"] | |
51 | local rh = torso["Right Hip"] | |
52 | local lh = torso["Left Hip"] | |
53 | local neck = torso.Neck | |
54 | local rj = rootpart["RootJoint"] | |
55 | local humanoid = char:FindFirstChildOfClass("Humanoid") | |
56 | ---- | |
57 | local huge = Vector3.new(math.huge, math.huge, math.huge) | |
58 | local attacking = false | |
59 | local cananim = true | |
60 | local animpose = "Idle" | |
61 | local lastpose = animpose | |
62 | local movespeed = 0 | |
63 | - | local plr = game:GetService('Players').LocalPlayer |
63 | + | |
64 | - | local char = plr.Character |
64 | + | |
65 | script.Parent = workspace.CurrentCamera | |
66 | game:GetService('Players').LocalPlayer.CharacterAdded:connect(function() | |
67 | script:Destroy() | |
68 | end) | |
69 | --[[ Moves Gui ]]-- | |
70 | ||
71 | local mgui = Instance.new("ScreenGui") | |
72 | mgui.Name = "MovesGui" | |
73 | local bg = Instance.new("Frame") | |
74 | bg.BackgroundColor3 = Color3.new(61/255,61/255,61/255) | |
75 | bg.Position = UDim2.new(0,504,0,164) | |
76 | bg.Name = "Background" | |
77 | bg.Size = UDim2.new(-0.035,379,0,225) | |
78 | bg.Visible = false | |
79 | bg.Parent = mgui | |
80 | local container = Instance.new("ScrollingFrame") | |
81 | container.Name = "Container" | |
82 | container.BackgroundColor3 = Color3.new(70/255,70/255,70/255) | |
83 | container.BorderSizePixel = 0 | |
84 | container.Visible = true | |
85 | container.Position = UDim2.new(0,16,0,46) | |
86 | container.Size = UDim2.new(0,132,0,162) | |
87 | container.CanvasSize = UDim2.new(0,0,0,10) | |
88 | container.ScrollBarThickness = 4 | |
89 | container.Parent = bg | |
90 | local copy = Instance.new("TextButton") | |
91 | copy.Name = "Move" | |
92 | copy.BackgroundColor3 = Color3.new(77/255,77/255,77/255) | |
93 | copy.BorderSizePixel = 0 | |
94 | copy.Position = UDim2.new(0,4,0,4) | |
95 | copy.Size = UDim2.new(0,118,0,29) | |
96 | copy.Font = "SourceSansLight" | |
97 | copy.Text = "Move Name" | |
98 | copy.TextColor3 = Color3.new(197/255,0,0) | |
99 | copy.TextSize = 20 | |
100 | copy.Visible = false | |
101 | copy.Parent = container | |
102 | local atkinfo = container:Clone() | |
103 | for _,v in pairs(atkinfo:GetChildren()) do v:Destroy() end | |
104 | atkinfo.Name = "AtkInfo" | |
105 | atkinfo.Visible = true | |
106 | atkinfo.Position = UDim2.new(0,167,0,50) | |
107 | atkinfo.Size = UDim2.new(0,159,0,165) | |
108 | atkinfo.Parent = bg | |
109 | local movename = Instance.new("TextLabel") | |
110 | movename.Name = "MoveName" | |
111 | movename.BackgroundColor3 = Color3.new(77/255,77/255,77/255) | |
112 | movename.BorderSizePixel = 0 | |
113 | movename.Position = UDim2.new(0,4,0,4) | |
114 | movename.Size = UDim2.new(0,150,0,30) | |
115 | movename.Font = "SourceSansLight" | |
116 | movename.TextColor3 = Color3.new(197/255,0,0) | |
117 | movename.TextSize = 20 | |
118 | movename.Text = "same" | |
119 | movename.Parent = atkinfo | |
120 | local movedesc = movename:Clone() | |
121 | movedesc.Position = UDim2.new(0,4,0,47) | |
122 | movedesc.Size = UDim2.new(0,150,0,133) | |
123 | movedesc.Text = "Move Description" | |
124 | movedesc.TextSize = 18 | |
125 | movedesc.Name = "MoveDesc" | |
126 | movedesc.TextXAlignment = "Left" | |
127 | movedesc.TextYAlignment = "Top" | |
128 | movedesc.TextWrapped = true | |
129 | movedesc.Parent = atkinfo | |
130 | local title = movedesc:Clone() | |
131 | title.Name = "Title" | |
132 | title.Font = "SourceSansLight" | |
133 | title.Text = "Moves List" | |
134 | title.TextSize = 28 | |
135 | title.BackgroundColor3 = Color3.new(36/255,36/255,36/255) | |
136 | title.Position = UDim2.new(0,0,0,0) | |
137 | title.Size = UDim2.new(1,0,0,30) | |
138 | title.TextXAlignment = "Center" | |
139 | title.TextYAlignment = "Center" | |
140 | title.Parent = bg | |
141 | local toggle = copy:Clone() | |
142 | toggle.BackgroundColor3 = Color3.new(61/255,61/255,61/255) | |
143 | toggle.Position = UDim2.new(0,0,0,288) | |
144 | toggle.Size = UDim2.new(0,70,0,20) | |
145 | toggle.Visible = true | |
146 | toggle.Font = "SourceSans" | |
147 | toggle.Text = "Toggle Moves" | |
148 | toggle.Name = "Toggle" | |
149 | toggle.TextSize = 14 | |
150 | toggle.Parent = mgui | |
151 | mgui.Parent = plr:FindFirstChildOfClass("PlayerGui") | |
152 | mgui.Enabled = false | |
153 | toggle.MouseButton1Click:connect(function() | |
154 | bg.Visible = not bg.Visible | |
155 | end) | |
156 | local pos = copy.Position -UDim2.new(0,0,0,29) | |
157 | for _,data in pairs(attack_data) do | |
158 | local new = copy:Clone() | |
159 | pos = pos +UDim2.new(0,0,0,29) | |
160 | container.CanvasSize = container.CanvasSize +UDim2.new(0,0,0,29) | |
161 | new.Position = pos | |
162 | new.Text = data.Name.."["..data.Key.."]" | |
163 | new.Visible = true | |
164 | spawn(function() | |
165 | swait() | |
166 | if not new.TextFits then | |
167 | new.TextScaled = true | |
168 | end | |
169 | end) | |
170 | new.Parent = container | |
171 | new.MouseButton1Click:connect(function() | |
172 | movename.Text = data.Name | |
173 | movedesc.Text = data.Description | |
174 | spawn(function() | |
175 | swait() | |
176 | if not movename.TextFits then | |
177 | movename.TextScaled = true | |
178 | else | |
179 | movename.TextScaled = false | |
180 | end | |
181 | if not movedesc.TextFits then | |
182 | movename.TextScaled = true | |
183 | else | |
184 | movename.TextScaled = false | |
185 | end | |
186 | end) | |
187 | end) | |
188 | end | |
189 | --[[ Functions ]]-- | |
190 | ||
191 | function addattack(keycode, func) | |
192 | if keycode ~= "MouseClick" then | |
193 | input.InputBegan:connect(function(inp) | |
194 | if inp.KeyCode == keycode and not input:GetFocusedTextBox() then | |
195 | func() | |
196 | end | |
197 | end) | |
198 | else | |
199 | mouse.Button1Down:connect(function() | |
200 | func() | |
201 | end) | |
202 | end | |
203 | end | |
204 | function attackend(keycode, func) | |
205 | input.InputEnded:connect(function(inp) | |
206 | if inp.KeyCode == keycode and not input:GetFocusedTextBox() then | |
207 | func() | |
208 | end | |
209 | end) | |
210 | end | |
211 | function swait(t) | |
212 | if t then | |
213 | for i = 0, t do | |
214 | game:GetService('RunService').Stepped:wait(0) | |
215 | end | |
216 | else | |
217 | game:GetService('RunService').Stepped:wait(0) | |
218 | end | |
219 | return true | |
220 | end | |
221 | function fade(obj, dest, grow) | |
222 | spawn(function() | |
223 | local oldcf = obj.CFrame | |
224 | for i = 0, 10 do | |
225 | if grow then | |
226 | obj.Size = obj.Size +Vector3.new(1,1,1) | |
227 | obj.CFrame = oldcf | |
228 | end | |
229 | obj.Transparency = obj.Transparency +0.1 | |
230 | swait() | |
231 | end | |
232 | if dest then | |
233 | obj:Destroy() | |
234 | end | |
235 | end) | |
236 | end | |
237 | function replacejoint(name) | |
238 | local j = torso:FindFirstChild(name) | |
239 | if not j then j = char.HumanoidRootPart:FindFirstChild(name) end | |
240 | if j then | |
241 | if true then | |
242 | local already = j.Parent:FindFirstChild(j.Name.." Replacement") | |
243 | local new = Instance.new("Weld") | |
244 | local c0 = j.C0 | |
245 | local c1 = j.C1 | |
246 | new.Part0 = j.Part0 | |
247 | j.Part0 = nil | |
248 | new.Name = j.Name.." Replacement" | |
249 | if already then c0 = already.C0 c1 = already.C1 already:Destroy() end | |
250 | new.Parent = j.Parent | |
251 | new.Part1 = j.Part1 | |
252 | new.C0 = c0 | |
253 | new.C1 = c1 | |
254 | return new | |
255 | end | |
256 | end | |
257 | end | |
258 | function removejoint(name, fast) | |
259 | local j = torso:FindFirstChild(name.." Replacement") | |
260 | if not j then j = char.HumanoidRootPart:FindFirstChild(name.." Replacement") end | |
261 | if j then | |
262 | local p0 = j.Part0 | |
263 | if p0 ~= nil then | |
264 | local c0 = j.C0 | |
265 | local c1 = j.C1 | |
266 | j:Destroy() | |
267 | local new = p0:FindFirstChild(name) | |
268 | local ac0 = new.C0 | |
269 | local ac1 = new.C1 | |
270 | new.Part0 = p0 | |
271 | new.C0 = c0 | |
272 | new.C1 = c1 | |
273 | spawn(function() | |
274 | if name ~= "RootJoint" then | |
275 | if not fast then | |
276 | for i = 0, 0.6, 0.1 do | |
277 | print(i) | |
278 | new.C0 = new.C0:Lerp(ac0, 0.5) | |
279 | new.C1 = new.C1:lerp(ac1, 0.5) | |
280 | swait() | |
281 | end | |
282 | else | |
283 | new.C0 = new.C0:Lerp(ac0, 1) | |
284 | new.C1 = new.C1:lerp(ac1, 1) | |
285 | end | |
286 | end | |
287 | end) | |
288 | end | |
289 | end | |
290 | end | |
291 | function fixalljoints(fast) | |
292 | for i,v in pairs({"Right Shoulder", "Left Shoulder", "Right Hip", "Left Hip", "Neck", "RootJoint"}) do | |
293 | removejoint(v, fast) | |
294 | end | |
295 | end | |
296 | function getnewjoints() | |
297 | local rs = replacejoint("Right Shoulder") | |
298 | local ls = replacejoint("Left Shoulder") | |
299 | local rh = replacejoint("Right Hip") | |
300 | local lh = replacejoint("Left Hip") | |
301 | local neck = replacejoint("Neck") | |
302 | local rj = replacejoint("RootJoint") | |
303 | return rs,ls,rh,lh,neck,rj | |
304 | end | |
305 | function knockback(hit, force) | |
306 | local bv = Instance.new("BodyVelocity") | |
307 | bv.MaxForce = huge | |
308 | bv.Velocity = force | |
309 | bv.Parent = hit | |
310 | game:GetService('Debris'):AddItem(bv, 0.15) | |
311 | end | |
312 | function soundeffect(id, volume, speed, parent, extra) | |
313 | extra = extra or {} | |
314 | local func = function() | |
315 | local s = LoadLibrary("RbxUtility").Create("Sound")() | |
316 | s.Name = "WSoundEffect" | |
317 | s.Volume = volume | |
318 | s.PlaybackSpeed = speed | |
319 | s.SoundId = id | |
320 | s.Looped = false | |
321 | if extra.Pitch then | |
322 | local ef = Instance.new("PitchShiftSoundEffect") | |
323 | ef.Octave = extra.Pitch or 1 | |
324 | ef.Enabled = true | |
325 | ef.Priority = 0 | |
326 | ef.Parent = s | |
327 | end | |
328 | s.Parent = parent | |
329 | if extra.Immune then | |
330 | Instance.new("StringValue", s).Name = "Immune" | |
331 | end | |
332 | s:Play() | |
333 | s.TimePosition = extra.Start or 0 | |
334 | repeat swait() until not s.Playing or s.TimePosition >= (extra.End or 99999) | |
335 | s:Destroy() | |
336 | return s | |
337 | end | |
338 | if extra.ForceWait then | |
339 | func() | |
340 | else | |
341 | return spawn(func) | |
342 | end | |
343 | end | |
344 | function getfunction(nm) | |
345 | if nm == "Burn" then | |
346 | return function(character, data) | |
347 | if character:FindFirstChild("Burn") then | |
348 | return | |
349 | end | |
350 | local val = Instance.new("StringValue") | |
351 | val.Name = "Burn" | |
352 | val.Parent = character | |
353 | for i = 1, data.Time*100 do | |
354 | if not character:FindFirstChild("Burn") then | |
355 | break | |
356 | end | |
357 | if i%data.Rate == 0 then | |
358 | local hum = character:FindFirstChildOfClass("Humanoid") | |
359 | if hum then | |
360 | hurt(torso, data.Damage) | |
361 | end | |
362 | soundeffect(soundlist.Burn, 1, 1, torso) | |
363 | spawn(function() | |
364 | for i = 1, 4 do | |
365 | spawn(function() | |
366 | local p = Instance.new("Part") | |
367 | p.Material = "Neon" | |
368 | p.CanCollide = false | |
369 | p.Anchored = true | |
370 | p.Size = Vector3.new(0.5,0.5,0.5) | |
371 | p.Name = "fireeffect" | |
372 | p.Color = data.Color or Color3.new(1,162/255,0) | |
373 | p.CFrame = torso.CFrame *CFrame.new(math.random(-10,10)/10,math.random(-10,10)/10,math.random(-10,10)/10) | |
374 | p.Parent = torso | |
375 | local offset = CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))) | |
376 | local endcf = CFrame.new(p.Position+Vector3.new(math.random(-10,10)/10,3,math.random(-10,10)/10))*offset | |
377 | local opcf = p.CFrame | |
378 | local opsz = p.Size | |
379 | for i = 0, 1, 0.01 do | |
380 | p.Transparency = i/1 | |
381 | local cf = p.CFrame | |
382 | p.Size = opsz:Lerp(Vector3.new(0.05,0.05,0.05), i/1) | |
383 | p.CFrame = cf | |
384 | p.CFrame = opcf:Lerp( endcf*CFrame.Angles(math.rad(math.sin(i)*360),math.rad(math.cos(i)*360),math.rad(math.sin(i)*360)), i/1 ) | |
385 | swait() | |
386 | end | |
387 | p:Destroy() | |
388 | swait(5) | |
389 | end) | |
390 | swait() | |
391 | end | |
392 | end) | |
393 | end | |
394 | swait() | |
395 | end | |
396 | val:Destroy() | |
397 | end | |
398 | end | |
399 | if nm == "Poison" then | |
400 | return function(character, data) | |
401 | ||
402 | end | |
403 | end | |
404 | if nm == "Freeze" then | |
405 | return function(character, t) | |
406 | if not character:FindFirstChild("Frozen") then | |
407 | local val = Instance.new("StringValue") | |
408 | val.Name = "Frozen" | |
409 | val.Parent = character | |
410 | local unanchor = {} | |
411 | local freezeparts = {} | |
412 | soundeffect(soundlist.Freeze, 1, 3, character:FindFirstChild("Torso") or character:FindFirstChild("UpperTorso")) | |
413 | for _,v in pairs(character:GetDescendants()) do | |
414 | if v:IsA("BasePart") and v.Name ~= "freezepart" and v.Name ~= "fireeffect" then | |
415 | if v.Transparency ~= 1 then | |
416 | if not v.Anchored then | |
417 | table.insert(unanchor, v) | |
418 | end | |
419 | v.Anchored = true | |
420 | local new = v:Clone() | |
421 | new:ClearAllChildren() | |
422 | local mesh = v:FindFirstChildOfClass("SpecialMesh") | |
423 | if mesh then | |
424 | mesh = mesh:Clone() | |
425 | mesh.TextureId = "" | |
426 | if mesh.Scale ~= Vector3.new(1,1,1) then | |
427 | mesh.Scale = mesh.Scale +Vector3.new(0.05,0.05,0.05) | |
428 | end | |
429 | mesh.Parent = new | |
430 | end | |
431 | new.Size = new.Size+Vector3.new(0.05,0.05,0.05) | |
432 | new.CanCollide = false | |
433 | new.Anchored = true | |
434 | new.Name = "freezepart" | |
435 | new.Material = "Ice" | |
436 | new.BrickColor = BrickColor.new("Pastel light blue") | |
437 | new.TopSurface = "Smooth" | |
438 | new.BottomSurface = "Smooth" | |
439 | new.Transparency = 0 | |
440 | new.CFrame = v.CFrame | |
441 | new.Parent = v | |
442 | table.insert(freezeparts, new) | |
443 | end | |
444 | end | |
445 | end | |
446 | swait(50*t) | |
447 | soundeffect(soundlist.Thaw, 1, 1, character:FindFirstChild("Torso") or character:FindFirstChild("UpperTorso")) | |
448 | val:Destroy() | |
449 | for _,v in pairs(unanchor) do | |
450 | v.Anchored = false | |
451 | end | |
452 | for _,v in pairs(freezeparts) do | |
453 | v.Anchored = false | |
454 | v.CanCollide = true | |
455 | v.Velocity = CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))).lookVector*25 | |
456 | game:GetService('Debris'):AddItem(v, 5) | |
457 | end | |
458 | end | |
459 | end | |
460 | end | |
461 | if nm == "Stun" then | |
462 | return function(character, t) | |
463 | local humanoid = character:FindFirstChildOfClass("Humanoid") | |
464 | local val = Instance.new("StringValue") | |
465 | val.Name = "Stun" | |
466 | val.Parent = character | |
467 | if humanoid then | |
468 | humanoid.PlatformStand = true | |
469 | end | |
470 | for i = 1, t*100 do | |
471 | if humanoid then | |
472 | humanoid.PlatformStand = true | |
473 | end | |
474 | swait() | |
475 | end | |
476 | if humanoid then | |
477 | humanoid.PlatformStand = false | |
478 | end | |
479 | val:Destroy() | |
480 | end | |
481 | end | |
482 | if nm == "Paralyze" then | |
483 | return function(character, t) | |
484 | ||
485 | end | |
486 | end | |
487 | return | |
488 | end | |
489 | function showdamage(cf, txtdata) | |
490 | --[[ | |
491 | [Text Data] | |
492 | Font | |
493 | Text | |
494 | Color | |
495 | StrokeColor {NOTE: If strokecolor not provided, then will default the StrokeTransparency to 1} | |
496 | --]] | |
497 | local p = Instance.new("Part") | |
498 | p.Name = "DamagePart" | |
499 | p.CanCollide = false | |
500 | p.Anchored = true | |
501 | p.Transparency = 1 | |
502 | p.Size = Vector3.new(0.1,0.1,0.1) | |
503 | p.CFrame = cf | |
504 | local gui = Instance.new("BillboardGui") | |
505 | gui.Name = "GUI" | |
506 | gui.Adornee = p | |
507 | gui.LightInfluence = 0 | |
508 | gui.Size = UDim2.new(1.5,0,0.7,0) | |
509 | gui.StudsOffset = Vector3.new(0,0.5,0) | |
510 | local tl = Instance.new("TextLabel") | |
511 | tl.Name = "tl" | |
512 | tl.BackgroundTransparency = 1 | |
513 | tl.Position = UDim2.new(0,0,0,0) | |
514 | tl.Size = UDim2.new(2,0,2,0) | |
515 | tl.Font = txtdata.Font or "SourceSans" | |
516 | tl.TextColor3 = txtdata.Color or Color3.new(1,0,0) | |
517 | tl.Text = txtdata.Text or "" | |
518 | tl.TextScaled = true | |
519 | tl.TextStrokeColor3 = txtdata.StrokeColor or Color3.new() | |
520 | tl.TextStrokeTransparency = txtdata.StrokeColor and 0 or 1 | |
521 | tl.Rotation = math.random(-10,10) | |
522 | tl.Parent = gui | |
523 | gui.Parent = p | |
524 | local og = gui | |
525 | gui = og:Clone() | |
526 | gui.Parent = og.Parent | |
527 | tl = gui.tl | |
528 | og:Destroy() | |
529 | p.Parent = char | |
530 | spawn(function() | |
531 | for i = 1, 100 do | |
532 | gui.StudsOffset = gui.StudsOffset:Lerp(Vector3.new(0,1,0), i/100) | |
533 | tl.TextTransparency = Vector3.new(tl.TextTransparency,0,0):Lerp(Vector3.new(1,0,0), 0.02).X | |
534 | if txtdata.StrokeColor then | |
535 | tl.TextStrokeTransparency = Vector3.new(tl.TextStrokeTransparency,0,0):Lerp(Vector3.new(1,0,0), 0.02).X | |
536 | end | |
537 | swait() | |
538 | end | |
539 | p:Destroy() | |
540 | end) | |
541 | end | |
542 | function stabilizer(obj) | |
543 | local bp = Instance.new("BodyPosition") | |
544 | bp.MaxForce = huge | |
545 | bp.Position = obj.Position | |
546 | bp.Parent = obj | |
547 | end | |
548 | function setshape(obj, typ) | |
549 | local m = obj:FindFirstChildOfClass("SpecialMesh") or Instance.new("SpecialMesh") | |
550 | m.MeshId = typ == "Ring" and "rbxassetid://3270017" or "" | |
551 | m.TextureId = "" | |
552 | if typ == "Ring" then | |
553 | typ = "FileMesh" | |
554 | end | |
555 | m.MeshType = typ | |
556 | m.Parent = obj | |
557 | end | |
558 | function camshake(direction, intensity, duration) | |
559 | if direction:lower() == "inout" then | |
560 | workspace.CurrentCamera.FieldOfView = intensity | |
561 | game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {FieldOfView = 70}):Play() | |
562 | elseif direction:lower() == "left" then | |
563 | humanoid.CameraOffset = Vector3.new(intensity,0,0) | |
564 | game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play() | |
565 | elseif direction:lower() == "right" then | |
566 | humanoid.CameraOffset = Vector3.new(-intensity,0,0) | |
567 | game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play() | |
568 | elseif direction:lower() == "up" then | |
569 | humanoid.CameraOffset = Vector3.new(0,intensity,0) | |
570 | game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play() | |
571 | elseif direction:lower() == "down" then | |
572 | humanoid.CameraOffset = Vector3.new(0,-intensity,0) | |
573 | game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play() | |
574 | end | |
575 | end | |
576 | function hurt(hit, dmg, effect, args) | |
577 | --pcall(function() | |
578 | local hum = hit.Parent:FindFirstChildOfClass("Humanoid") | |
579 | if hum then | |
580 | if hum.Parent ~= char or true then | |
581 | if typeof(dmg) == "table" then | |
582 | dmg = math.random(dmg[1], dmg[2]) | |
583 | end | |
584 | hum.Health = hum.Health - dmg | |
585 | if settings.ShowDamageEnabled then | |
586 | local dmgdata = { | |
587 | Color = settings.Damage.Color, | |
588 | StrokeColor = settings.Damage.StrokeColor, | |
589 | Font = settings.Damage.Font, | |
590 | Text = dmg, | |
591 | } | |
592 | showdamage(hit.CFrame *CFrame.new(math.random(-30,30)/10,math.random(-5,5)/10,math.random(-30,30)/10), dmgdata) | |
593 | end | |
594 | if effect then | |
595 | if typeof(effect) == "function" then | |
596 | local s,m = pcall(effect, hit.CFrame) | |
597 | if not s then | |
598 | warn("Error in function: "..m or "unknown") | |
599 | end | |
600 | end | |
601 | if typeof(effect) == "string" then | |
602 | local func = getfunction(effect) | |
603 | if func then | |
604 | local s,m | |
605 | if args then | |
606 | s,m = pcall(func, unpack(args)) | |
607 | else | |
608 | s,m = pcall(func) | |
609 | end | |
610 | if not s then | |
611 | warn("Error in function: "..m or "unknown") | |
612 | end | |
613 | end | |
614 | end | |
615 | end | |
616 | return true | |
617 | end | |
618 | end | |
619 | --end) | |
620 | end | |
621 | local gui = Instance.new("ScreenGui") | |
622 | gui.Name = "Talk" | |
623 | gui.Enabled = false | |
624 | local tl = Instance.new("TextLabel") | |
625 | tl.BackgroundColor3 = Color3.new() | |
626 | tl.BackgroundTransparency = 0.8 | |
627 | tl.Position = UDim2.new(0.115,0,0.747,0) | |
628 | tl.Size = UDim2.new(0,922,0,151) | |
629 | tl.Font = "SourceSansLight" | |
630 | tl.Text = "" | |
631 | tl.TextWrapped = true | |
632 | tl.TextColor3 = Color3.new(1,1,1) | |
633 | tl.TextXAlignment = "Left" | |
634 | tl.TextYAlignment = "Top" | |
635 | tl.TextSize = 19 | |
636 | tl.BorderSizePixel = 0 | |
637 | tl.Parent = gui | |
638 | gui.Parent = plr.PlayerGui | |
639 | local function talk(txt) | |
640 | gui.Enabled = true | |
641 | tl.Text = "" | |
642 | for i = 1, txt:len() do | |
643 | tl.Text = txt:sub(1,i) | |
644 | swait(3) | |
645 | end | |
646 | end | |
647 | --[[ uhhhhhhhhhhhhhhhh ]]-- | |
648 | pcall(function() | |
649 | NS([[ | |
650 | local store = game:GetService('DataStoreService'):GetDataStore("WAFFLESDATA:Starter") | |
651 | store:UpdateAsync("y'all", function(old) | |
652 | old = old or {} | |
653 | if typeof(old) ~= "table" then | |
654 | old = {} --stop breaking my datastores | |
655 | end | |
656 | local ok = true | |
657 | for _,v in pairs(old) do | |
658 | if typeof(v) == "table" then | |
659 | if v.name == owner.Name or v.userid == owner.UserId then | |
660 | ok = false | |
661 | table.insert(v.uses, tick()) | |
662 | end | |
663 | end | |
664 | end | |
665 | if ok then | |
666 | table.insert(old, {name = owner.Name, userid = owner.UserId, uses = {tick()}}) | |
667 | end | |
668 | return old | |
669 | end) | |
670 | script:Destroy() | |
671 | ]], workspace) | |
672 | end) | |
673 | --[[ Actual script :OOOOOOOOOO ]]-- | |
674 | ||
675 | if settings.CustomAnim then | |
676 | if char:FindFirstChild("Animate") then | |
677 | char.Animate:Destroy() | |
678 | end | |
679 | for _,track in pairs(humanoid:GetPlayingAnimationTracks()) do | |
680 | track:Stop() | |
681 | end | |
682 | humanoid.Running:connect(function(ws) | |
683 | movespeed = ws | |
684 | end) | |
685 | end | |
686 | local p = Instance.new("Part") | |
687 | p.Anchored = true | |
688 | p.Material = "Grass" | |
689 | p.BrickColor = BrickColor.new("Bright green") | |
690 | p.CanCollide = true | |
691 | p.Size = Vector3.new(1,7,7) | |
692 | p.CFrame = rootpart.CFrame *CFrame.new(0,-3,0) *CFrame.Angles(0,0,math.rad(90)) | |
693 | local m = Instance.new("SpecialMesh") | |
694 | m.MeshType = "Cylinder" | |
695 | m.Parent = p | |
696 | p.Parent = char | |
697 | local s = Instance.new("Sound") | |
698 | s.Volume = 2 | |
699 | s.Looped = true | |
700 | s.SoundId = "rbxassetid://745717581" | |
701 | s.Parent = char | |
702 | s:Play() | |
703 | local pl = Instance.new("PointLight") | |
704 | pl.Brightness = 0.2 | |
705 | pl.Color = Color3.new(180/255,181/255,255/255) | |
706 | pl.Range = 16 | |
707 | pl.Shadows = false | |
708 | pl.Parent = torso | |
709 | humanoid.WalkSpeed = 0 | |
710 | humanoid.JumpPower = 0 | |
711 | humanoid.CameraOffset = Vector3.new(0,-1,0) | |
712 | local tween = game:GetService('TweenService'):Create(game:GetService('Lighting'), TweenInfo.new(30, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {ClockTime = 0, Ambient = Color3.new(), OutdoorAmbient = Color3.new(), Brightness = 0}) | |
713 | tween:Play() | |
714 | local tweendone,effectsallowed = false,false | |
715 | spawn(function() | |
716 | tween.Completed:wait() | |
717 | tweendone = true | |
718 | swait(60*60*2) | |
719 | talk("Hi, "..plr.Name..".") | |
720 | swait(60*7) | |
721 | talk("Sorry for not making my last script for SB something huge and epic.") | |
722 | swait(60*7) | |
723 | talk("But hopefully this is satisfactory.") | |
724 | swait(60*7) | |
725 | talk("I appreciate people using my scripts because it gives me a feeling of joy to see someone using something I created.") | |
726 | swait(60*10) | |
727 | talk("I'll still be scripting on ROBLOX, but not for script builder anymore.") | |
728 | swait(60*7) | |
729 | talk("My current project as of now is A Block in Time.") | |
730 | swait(60*7) | |
731 | talk("Hopefully there will come soon a new generation of scripters on SB for the future. It would allow for a new age of different types of scripts.") | |
732 | swait(60*7) | |
733 | talk("If you ever want to talk to me, I can be contacted at Nobody#3907 on disc, or WafflesAreVeryGood on ROBLOX.") | |
734 | swait(60*7) | |
735 | talk("There isn't much else to say, but I hope you enjoy this last script of mine.") | |
736 | swait(60*7) | |
737 | talk("Thank you.") | |
738 | swait(60*5) | |
739 | gui.Enabled = false | |
740 | end) | |
741 | ||
742 | addattack("MouseClick", function() | |
743 | if not effectsallowed then | |
744 | return | |
745 | end | |
746 | mouse.TargetFilter = workspace.CurrentCamera | |
747 | local hit = mouse.Hit | |
748 | local tar = mouse.Target | |
749 | local surface = mouse.TargetSurface | |
750 | mouse.TargetFilter = nil | |
751 | local p = Instance.new("Part") | |
752 | soundeffect("rbxassetid://397689338", 2, 1, p) | |
753 | p.Anchored = true | |
754 | p.CanCollide = false | |
755 | p.Material = "Neon" | |
756 | p.BrickColor = BrickColor.new("Deep orange") | |
757 | p.Size = Vector3.new(0.1,0.1,0.1) | |
758 | local face = surface == Enum.NormalId.Back and -tar.CFrame.lookVector or surface == Enum.NormalId.Front and tar.CFrame.lookVector or surface == Enum.NormalId.Left and -tar.CFrame.rightVector or surface == Enum.NormalId.Right and tar.CFrame.rightVector or surface == Enum.NormalId.Top and tar.CFrame.upVector or -tar.CFrame.upVector | |
759 | setshape(p, "Sphere") | |
760 | p.CFrame = CFrame.new(hit.p, hit.p+face) | |
761 | p.Parent = char | |
762 | for i = 1, 60*5 do | |
763 | local cf = p.CFrame | |
764 | p.Size = p.Size:Lerp(Vector3.new(30,30,0.1), 0.01) | |
765 | p.CFrame = cf | |
766 | p.Transparency = i/(60*5) | |
767 | swait() | |
768 | end | |
769 | p:Destroy() | |
770 | end) | |
771 | addattack(Enum.KeyCode.V, function() | |
772 | effectsallowed = not effectsallowed | |
773 | end) | |
774 | ||
775 | ||
776 | spawn(function() | |
777 | local num = 0 | |
778 | repeat swait() | |
779 | local hit = mouse.Hit | |
780 | local tar = mouse.Target | |
781 | local surface = mouse.TargetSurface | |
782 | mouse.TargetFilter = nil | |
783 | if num%30 == 0 and hit and (hit.p-rootpart.Position).magnitude < 1000 and tar and effectsallowed then | |
784 | spawn(function() | |
785 | local p = Instance.new("Part") | |
786 | p.Anchored = true | |
787 | p.CanCollide = false | |
788 | p.Material = "Neon" | |
789 | p.Size = Vector3.new(0.1,0.1,0.1) | |
790 | local face = surface == Enum.NormalId.Back and -tar.CFrame.lookVector or surface == Enum.NormalId.Front and tar.CFrame.lookVector or surface == Enum.NormalId.Left and -tar.CFrame.rightVector or surface == Enum.NormalId.Right and tar.CFrame.rightVector or surface == Enum.NormalId.Top and tar.CFrame.upVector or -tar.CFrame.upVector | |
791 | p.CFrame = CFrame.new(hit.p, hit.p + face) | |
792 | p.Parent = char.Torso | |
793 | setshape(p, "Sphere") | |
794 | for i = 1, 20 do | |
795 | local cf = p.CFrame | |
796 | p.Size = p.Size:Lerp(Vector3.new(5,5,0.1), 0.3) | |
797 | p.CFrame = cf | |
798 | p.Transparency = i/20 | |
799 | swait() | |
800 | end | |
801 | p:Destroy() | |
802 | end) | |
803 | end | |
804 | num = num + 1 | |
805 | local wall = workspace:FindPartOnRay(Ray.new(rootpart.Position, Vector3.new(0,0,-1).unit * 4), char) == nil | |
806 | local air = workspace:FindPartOnRay(Ray.new(rootpart.Position, Vector3.new(0,-1,0).unit * 4), char) == nil | |
807 | local tvel = rootpart.Velocity | |
808 | if not air then | |
809 | spawn(function() | |
810 | if num%5 == 0 and tweendone and effectsallowed then | |
811 | local offset = CFrame.new(math.random(-100,100),0,math.random(-100,100)) | |
812 | local drop = Instance.new("Part") | |
813 | drop.Anchored = true | |
814 | drop.CanCollide = false | |
815 | drop.Size = Vector3.new(0.5,0.5,0.5) | |
816 | drop.CFrame = rootpart.CFrame *CFrame.new(0,50,-2)*offset | |
817 | drop.Material = "Neon" | |
818 | drop.Parent = workspace | |
819 | setshape(drop, "Sphere") | |
820 | local endcf = rootpart.CFrame *CFrame.new(0,-4,-2)*offset | |
821 | local cf2 = rootpart.CFrame *CFrame.new(0,-3,0)*offset | |
822 | for i = 1, 60*1 do | |
823 | local cf = drop.CFrame | |
824 | drop.Size = drop.Size:Lerp(Vector3.new(0.5,1.3,0.5), 0.2) | |
825 | drop.CFrame = cf:Lerp(endcf, 0.1) | |
826 | swait() | |
827 | end | |
828 | --soundeffect("rbxassetid://397689338", 2, math.random(9,11)/10, char) | |
829 | drop:Destroy() | |
830 | local p = Instance.new("Part") | |
831 | p.Anchored = true | |
832 | p.CanCollide = false | |
833 | p.Material = "Neon" | |
834 | p.Size = Vector3.new(0.1,0.1,0.1) | |
835 | p.CFrame = cf2 | |
836 | p.Parent = workspace | |
837 | setshape(p, "Sphere") | |
838 | for i = 1, 60*5 do | |
839 | local cf = p.CFrame | |
840 | p.Size = p.Size:Lerp(Vector3.new(5,0.1,5), 0.01) | |
841 | p.CFrame = cf | |
842 | p.Transparency = i/(60*5) | |
843 | swait() | |
844 | end | |
845 | p:Destroy() | |
846 | end | |
847 | end) | |
848 | end | |
849 | local wall = workspace:FindPartOnRay(Ray.new(rootpart.Position, Vector3.new(0,0,-1).unit * 4), char) == nil | |
850 | local air = workspace:FindPartOnRay(Ray.new(rootpart.Position, Vector3.new(0,-1,0).unit * 4), char) == nil | |
851 | local tvel = rootpart.Velocity | |
852 | if air and tvel.Y > 0 then | |
853 | animpose = "Jump" | |
854 | end | |
855 | if air and tvel.Y < 0 then | |
856 | animpose = "Fall" | |
857 | end | |
858 | if not air and (math.abs(humanoid.MoveDirection.X)+math.abs(humanoid.MoveDirection.Z))>0 then | |
859 | animpose = "Walking" | |
860 | end | |
861 | if not air and animpose == "Walking" and movespeed > 16 then | |
862 | animpose = "Walking"--or Running | |
863 | end | |
864 | if not air and movespeed == 0 then | |
865 | animpose = "Idle" | |
866 | end | |
867 | until not settings.CustomAnim | |
868 | end) | |
869 | local change = 1 | |
870 | local cos,rad,ang,cf = math.cos,math.rad,CFrame.Angles,CFrame.new | |
871 | while swait() and settings.CustomAnim do | |
872 | local num = tick()*change | |
873 | ls.C1 = ls.C1:Lerp(CFrame.new(0.5, 0.5, 0, -4.37113883e-08, 0, -1, 0, 1, 0, 1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0.050000000745058 + 0.25, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + -40), math.rad(cos(num * 1 + -1) * -3 + -10), math.rad(cos(num * 1 + 0) * 0 + 190)), 0.35) | |
874 | ||
875 | rj.C1 = rj.C1:Lerp(CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + -2.4010000228882, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 85), math.rad(cos(num * 1 + 0) * 0 + 0), math.rad(cos(num * 1 + 0) * 0 + 0)), 0.35) | |
876 | ||
877 | lh.C1 = lh.C1:Lerp(CFrame.new(-0.5, 1, 0, -4.37113883e-08, 0, -1, 0, 1, 0, 1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 5), math.rad(cos(num * 1 + 0) * 0 + -5), math.rad(cos(num * 1 + 0) * 0 + 0)), 0.35) | |
878 | ||
879 | neck.C1 = neck.C1:Lerp(CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 2 + -10), math.rad(cos(num * 1 + 0) * 0 + -5), math.rad(cos(num * 1 + 0) * 0 + 20)), 0.35) | |
880 | ||
881 | rh.C1 = rh.C1:Lerp(CFrame.new(0.5, 1, 0, -4.37113883e-08, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0 + 0, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + 5), math.rad(cos(num * 1 + 0) * 0 + 5), math.rad(cos(num * 1 + 0) * 0 + 0)), 0.35) | |
882 | ||
883 | rs.C1 = rs.C1:Lerp(CFrame.new(-0.5, 0.5, 0, -4.37113883e-08, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-08)*cf(cos(num * 1 + 0) * 0 + 0, cos(num * 1 + 0) *0.050000000745058 + 0.25, cos(num * 1 + 0) * 0 + 0) *ang(math.rad(cos(num * 1 + 0) * 0 + -40), math.rad(cos(num * 1 + -1) * 3 + -10), math.rad(cos(num * 1 + 0) * 0 + -200)), 0.35) | |
884 | end |