SHOW:
|
|
- or go back to the newest paste.
1 | - | --[[ Baldi ]]-- |
1 | + | --[[ Bully ]]-- |
2 | ------------------------------------------------------- | |
3 | --[[ | |
4 | ||
5 | This script was created by WafflesAreVeryGood. | |
6 | ATTACKS | |
7 | _______ | |
8 | ||
9 | ||
10 | --]] | |
11 | ------------------------------------------------------- | |
12 | --[[ Reference ]]-- | |
13 | --[[ | |
14 | Burn Function | |
15 | hurt(char.Head, 15, "Burn", {char, {Color = Color3.new(0,1,1), Time = 1, Rate = 20, Damage = {1,5}}}) | |
16 | ||
17 | Freeze Function | |
18 | hurt(char.Head, 0, "Freeze", {char, 1}) | |
19 | ||
20 | Stun Function | |
21 | hurt(char.Head, 0, "Stun", {char, 0.2}) | |
22 | --]] | |
23 | ------------------------------------------------------- | |
24 | math.randomseed(tick()) | |
25 | print("You are using a script created by WafflesAreVeryGood!") | |
26 | warn("--------Global Message--------") | |
27 | warn(game:GetService("MarketplaceService"):GetProductInfo(1720721621).Description) | |
28 | warn("------------------------------") | |
29 | --[[Changeable Variables]]-- | |
30 | local settings = {} | |
31 | --ShowDamage settings | |
32 | settings.Damage = { | |
33 | Color = nil, | |
34 | StrokeColor = nil, | |
35 | Font = nil, | |
36 | } | |
37 | settings.AttackMenu = false | |
38 | settings.ShowDamageEnabled = false | |
39 | settings.CustomAnim = false | |
40 | local soundlist = { | |
41 | HardHit1 = "rbxassetid://565207203", | |
42 | HardHit2 = "rbxassetid://541909913", | |
43 | HardHit3 = "rbxassetid://541909983", | |
44 | WeakHit1 = "rbxassetid://558642292", | |
45 | WeakHit2 = "rbxassetid://541907812", | |
46 | Slice1 = "rbxassetid://260429964", | |
47 | Slice2 = "rbxassetid://260430015", | |
48 | Explosion1 = "rbxassetid://138186576", | |
49 | Explosion2 = "rbxassetid://157878578", | |
50 | Woosh1 = "rbxassetid://541909867", | |
51 | Woosh2 = "rbxassetid://541909763", | |
52 | Freeze = "rbxassetid://268249319", | |
53 | Thaw = "rbxassetid://1578580965", | |
54 | Burn = "rbxassetid://298181829", | |
55 | - | OnDeath = "rbxassetid://1846449729", |
55 | + | One = "rbxassetid://1846615963", |
56 | - | Background = "rbxassetid://1718183351", |
56 | + | Two = "rbxassetid://1846619160", |
57 | - | Ruler = "rbxassetid://1872130118", |
57 | + | Three = "rbxassetid://1846620849", |
58 | Four = "rbxassetid://1846859927", | |
59 | Five = "rbxassetid://1846870244", | |
60 | ReadyGo = "rbxassetid://1846603855", | |
61 | Hehehe = "rbxassetid://1846846911", | |
62 | OnceYou = "rbxassetid://1846594055", | |
63 | Wow = "rbxassetid://1847115545", | |
64 | Oops = "rbxassetid://1846613015", | |
65 | ||
66 | } | |
67 | local attack_data = { | |
68 | { | |
69 | Name = "Attack", | |
70 | Description = "Description", | |
71 | Key = "Key", | |
72 | }, | |
73 | ||
74 | } | |
75 | ||
76 | --[[Important Variables]]-- | |
77 | local plr = game:GetService('Players').LocalPlayer | |
78 | local char = plr.Character | |
79 | local mouse = plr:GetMouse() | |
80 | local input = game:GetService('UserInputService') | |
81 | ---- | |
82 | local joints = {"Right Shoulder", "Left Shoulder", "Right Hip", "Left Hip", "Neck", "RootJoint"} | |
83 | local torso,head,rootpart = char.Torso,char.Head,char.HumanoidRootPart | |
84 | local rs = torso["Right Shoulder"] | |
85 | local ls = torso["Left Shoulder"] | |
86 | local rh = torso["Right Hip"] | |
87 | local lh = torso["Left Hip"] | |
88 | local neck = torso.Neck | |
89 | local rj = rootpart["RootJoint"] | |
90 | local humanoid = char:FindFirstChildOfClass("Humanoid") | |
91 | ---- | |
92 | local huge = Vector3.new(math.huge, math.huge, math.huge) | |
93 | local attacking = false | |
94 | local cananim = true | |
95 | local animpose = "Idle" | |
96 | local lastpose = animpose | |
97 | local movespeed = 0 | |
98 | ---- | |
99 | --[[ Anti-Decompile ]]-- | |
100 | script.Parent = workspace.CurrentCamera | |
101 | game:GetService('Players').LocalPlayer.CharacterAdded:connect(function() | |
102 | script:Destroy() | |
103 | end) | |
104 | --[[ Moves Gui ]]-- | |
105 | ||
106 | local mgui = Instance.new("ScreenGui") | |
107 | mgui.Name = "MovesGui" | |
108 | local bg = Instance.new("Frame") | |
109 | bg.BackgroundColor3 = Color3.new(61/255,61/255,61/255) | |
110 | bg.Position = UDim2.new(0,504,0,164) | |
111 | bg.Name = "Background" | |
112 | bg.Size = UDim2.new(-0.035,379,0,225) | |
113 | bg.Visible = false | |
114 | bg.Parent = mgui | |
115 | local container = Instance.new("ScrollingFrame") | |
116 | container.Name = "Container" | |
117 | container.BackgroundColor3 = Color3.new(70/255,70/255,70/255) | |
118 | container.BorderSizePixel = 0 | |
119 | container.Visible = true | |
120 | container.Position = UDim2.new(0,16,0,46) | |
121 | container.Size = UDim2.new(0,132,0,162) | |
122 | container.CanvasSize = UDim2.new(0,0,0,10) | |
123 | container.ScrollBarThickness = 4 | |
124 | container.Parent = bg | |
125 | local copy = Instance.new("TextButton") | |
126 | copy.Name = "Move" | |
127 | copy.BackgroundColor3 = Color3.new(77/255,77/255,77/255) | |
128 | copy.BorderSizePixel = 0 | |
129 | copy.Position = UDim2.new(0,4,0,4) | |
130 | copy.Size = UDim2.new(0,118,0,29) | |
131 | copy.Font = "SourceSansLight" | |
132 | copy.Text = "Move Name" | |
133 | copy.TextColor3 = Color3.new(197/255,0,0) | |
134 | copy.TextSize = 20 | |
135 | copy.Visible = false | |
136 | copy.Parent = container | |
137 | local atkinfo = container:Clone() | |
138 | for _,v in pairs(atkinfo:GetChildren()) do v:Destroy() end | |
139 | atkinfo.Name = "AtkInfo" | |
140 | atkinfo.Visible = true | |
141 | atkinfo.Position = UDim2.new(0,167,0,50) | |
142 | atkinfo.Size = UDim2.new(0,159,0,165) | |
143 | atkinfo.Parent = bg | |
144 | local movename = Instance.new("TextLabel") | |
145 | movename.Name = "MoveName" | |
146 | movename.BackgroundColor3 = Color3.new(77/255,77/255,77/255) | |
147 | movename.BorderSizePixel = 0 | |
148 | movename.Position = UDim2.new(0,4,0,4) | |
149 | movename.Size = UDim2.new(0,150,0,30) | |
150 | movename.Font = "SourceSansLight" | |
151 | movename.TextColor3 = Color3.new(197/255,0,0) | |
152 | movename.TextSize = 20 | |
153 | movename.Text = "same" | |
154 | movename.Parent = atkinfo | |
155 | local movedesc = movename:Clone() | |
156 | movedesc.Position = UDim2.new(0,4,0,47) | |
157 | movedesc.Size = UDim2.new(0,150,0,133) | |
158 | movedesc.Text = "Move Description" | |
159 | movedesc.TextSize = 18 | |
160 | movedesc.Name = "MoveDesc" | |
161 | movedesc.TextXAlignment = "Left" | |
162 | movedesc.TextYAlignment = "Top" | |
163 | movedesc.TextWrapped = true | |
164 | movedesc.Parent = atkinfo | |
165 | local title = movedesc:Clone() | |
166 | title.Name = "Title" | |
167 | title.Font = "SourceSansLight" | |
168 | title.Text = "Moves List" | |
169 | title.TextSize = 28 | |
170 | title.BackgroundColor3 = Color3.new(36/255,36/255,36/255) | |
171 | title.Position = UDim2.new(0,0,0,0) | |
172 | title.Size = UDim2.new(1,0,0,30) | |
173 | title.TextXAlignment = "Center" | |
174 | title.TextYAlignment = "Center" | |
175 | title.Parent = bg | |
176 | local toggle = copy:Clone() | |
177 | toggle.BackgroundColor3 = Color3.new(61/255,61/255,61/255) | |
178 | toggle.Position = UDim2.new(0,0,0,288) | |
179 | toggle.Size = UDim2.new(0,70,0,20) | |
180 | toggle.Visible = true | |
181 | toggle.Font = "SourceSans" | |
182 | toggle.Text = "Toggle Moves" | |
183 | toggle.Name = "Toggle" | |
184 | toggle.TextSize = 14 | |
185 | toggle.Parent = mgui | |
186 | mgui.Parent = plr:FindFirstChildOfClass("PlayerGui") | |
187 | if settings.AttackMenu then | |
188 | mgui.Enabled = false | |
189 | end | |
190 | toggle.MouseButton1Click:connect(function() | |
191 | bg.Visible = not bg.Visible | |
192 | end) | |
193 | local pos = copy.Position -UDim2.new(0,0,0,29) | |
194 | for _,data in pairs(attack_data) do | |
195 | local new = copy:Clone() | |
196 | pos = pos +UDim2.new(0,0,0,29) | |
197 | container.CanvasSize = container.CanvasSize +UDim2.new(0,0,0,29) | |
198 | new.Position = pos | |
199 | new.Text = data.Name.."["..data.Key.."]" | |
200 | new.Visible = true | |
201 | spawn(function() | |
202 | swait() | |
203 | if not new.TextFits then | |
204 | new.TextScaled = true | |
205 | end | |
206 | end) | |
207 | new.Parent = container | |
208 | new.MouseButton1Click:connect(function() | |
209 | movename.Text = data.Name | |
210 | movedesc.Text = data.Description | |
211 | spawn(function() | |
212 | swait() | |
213 | if not movename.TextFits then | |
214 | movename.TextScaled = true | |
215 | else | |
216 | movename.TextScaled = false | |
217 | end | |
218 | if not movedesc.TextFits then | |
219 | movename.TextScaled = true | |
220 | else | |
221 | movename.TextScaled = false | |
222 | end | |
223 | end) | |
224 | end) | |
225 | end | |
226 | --[[ Functions ]]-- | |
227 | ||
228 | function addattack(keycode, func) | |
229 | if keycode ~= "MouseClick" then | |
230 | input.InputBegan:connect(function(inp) | |
231 | if inp.KeyCode == keycode and not input:GetFocusedTextBox() then | |
232 | func() | |
233 | end | |
234 | end) | |
235 | else | |
236 | mouse.Button1Down:connect(function() | |
237 | func() | |
238 | end) | |
239 | end | |
240 | end | |
241 | function attackend(keycode, func) | |
242 | input.InputEnded:connect(function(inp) | |
243 | if inp.KeyCode == keycode and not input:GetFocusedTextBox() then | |
244 | func() | |
245 | end | |
246 | end) | |
247 | end | |
248 | function swait(t) | |
249 | if t then | |
250 | for i = 0, t do | |
251 | game:GetService('RunService').Stepped:wait(0) | |
252 | end | |
253 | else | |
254 | game:GetService('RunService').Stepped:wait(0) | |
255 | end | |
256 | return true | |
257 | end | |
258 | function fade(obj, dest, grow) | |
259 | spawn(function() | |
260 | local oldcf = obj.CFrame | |
261 | for i = 0, 10 do | |
262 | if grow then | |
263 | obj.Size = obj.Size +Vector3.new(1,1,1) | |
264 | obj.CFrame = oldcf | |
265 | end | |
266 | obj.Transparency = obj.Transparency +0.1 | |
267 | swait() | |
268 | end | |
269 | if dest then | |
270 | obj:Destroy() | |
271 | end | |
272 | end) | |
273 | end | |
274 | function replacejoint(name) | |
275 | local j = torso:FindFirstChild(name) | |
276 | if not j then j = char.HumanoidRootPart:FindFirstChild(name) end | |
277 | if j then | |
278 | if true then | |
279 | local already = j.Parent:FindFirstChild(j.Name.." Replacement") | |
280 | local new = Instance.new("Weld") | |
281 | local c0 = j.C0 | |
282 | local c1 = j.C1 | |
283 | new.Part0 = j.Part0 | |
284 | j.Part0 = nil | |
285 | new.Name = j.Name.." Replacement" | |
286 | if already then c0 = already.C0 c1 = already.C1 already:Destroy() end | |
287 | new.Parent = j.Parent | |
288 | new.Part1 = j.Part1 | |
289 | new.C0 = c0 | |
290 | new.C1 = c1 | |
291 | return new | |
292 | end | |
293 | end | |
294 | end | |
295 | function removejoint(name, fast) | |
296 | local j = torso:FindFirstChild(name.." Replacement") | |
297 | if not j then j = char.HumanoidRootPart:FindFirstChild(name.." Replacement") end | |
298 | if j then | |
299 | local p0 = j.Part0 | |
300 | if p0 ~= nil then | |
301 | local c0 = j.C0 | |
302 | local c1 = j.C1 | |
303 | j:Destroy() | |
304 | local new = p0:FindFirstChild(name) | |
305 | local ac0 = new.C0 | |
306 | local ac1 = new.C1 | |
307 | new.Part0 = p0 | |
308 | new.C0 = c0 | |
309 | new.C1 = c1 | |
310 | spawn(function() | |
311 | if name ~= "RootJoint" then | |
312 | if not fast then | |
313 | for i = 0, 0.6, 0.1 do | |
314 | print(i) | |
315 | new.C0 = new.C0:Lerp(ac0, 0.5) | |
316 | new.C1 = new.C1:lerp(ac1, 0.5) | |
317 | swait() | |
318 | end | |
319 | else | |
320 | new.C0 = new.C0:Lerp(ac0, 1) | |
321 | new.C1 = new.C1:lerp(ac1, 1) | |
322 | end | |
323 | end | |
324 | end) | |
325 | end | |
326 | end | |
327 | end | |
328 | function fixalljoints(fast) | |
329 | for i,v in pairs({"Right Shoulder", "Left Shoulder", "Right Hip", "Left Hip", "Neck", "RootJoint"}) do | |
330 | removejoint(v, fast) | |
331 | end | |
332 | end | |
333 | function getnewjoints() | |
334 | local rs = replacejoint("Right Shoulder") | |
335 | local ls = replacejoint("Left Shoulder") | |
336 | local rh = replacejoint("Right Hip") | |
337 | local lh = replacejoint("Left Hip") | |
338 | local neck = replacejoint("Neck") | |
339 | local rj = replacejoint("RootJoint") | |
340 | return rs,ls,rh,lh,neck,rj | |
341 | end | |
342 | function knockback(hit, force) | |
343 | local bv = Instance.new("BodyVelocity") | |
344 | bv.MaxForce = huge | |
345 | bv.Velocity = force | |
346 | bv.Parent = hit | |
347 | game:GetService('Debris'):AddItem(bv, 0.15) | |
348 | end | |
349 | function soundeffect(id, volume, speed, parent, extra) | |
350 | extra = extra or {} | |
351 | local func = function() | |
352 | local s = LoadLibrary("RbxUtility").Create("Sound")() | |
353 | s.Name = "WSoundEffect" | |
354 | s.Volume = volume | |
355 | s.PlaybackSpeed = speed | |
356 | s.SoundId = id | |
357 | s.Looped = false | |
358 | - | if extra.Immune then |
358 | + | |
359 | - | Instance.new("StringValue", s).Name = "Immune" |
359 | + | |
360 | ef.Octave = extra.Pitch or 1 | |
361 | ef.Enabled = true | |
362 | ef.Priority = 0 | |
363 | ef.Parent = s | |
364 | end | |
365 | s.Parent = parent | |
366 | s:Play() | |
367 | s.TimePosition = extra.Start or 0 | |
368 | repeat swait() until not s.Playing or s.TimePosition >= (extra.End or 99999) | |
369 | s:Destroy() | |
370 | return s | |
371 | end | |
372 | if extra.ForceWait then | |
373 | func() | |
374 | else | |
375 | return spawn(func) | |
376 | end | |
377 | end | |
378 | function getfunction(nm) | |
379 | if nm == "Burn" then | |
380 | return function(character, data) | |
381 | if character:FindFirstChild("Burn") then | |
382 | return | |
383 | end | |
384 | local val = Instance.new("StringValue") | |
385 | val.Name = "Burn" | |
386 | val.Parent = character | |
387 | for i = 1, data.Time*100 do | |
388 | if not character:FindFirstChild("Burn") then | |
389 | break | |
390 | end | |
391 | if i%data.Rate == 0 then | |
392 | local hum = character:FindFirstChildOfClass("Humanoid") | |
393 | if hum then | |
394 | hurt(torso, data.Damage) | |
395 | end | |
396 | soundeffect(soundlist.Burn, 1, 1, torso) | |
397 | spawn(function() | |
398 | for i = 1, 4 do | |
399 | spawn(function() | |
400 | local p = Instance.new("Part") | |
401 | p.Material = "Neon" | |
402 | p.CanCollide = false | |
403 | p.Anchored = true | |
404 | p.Size = Vector3.new(0.5,0.5,0.5) | |
405 | p.Name = "fireeffect" | |
406 | p.Color = data.Color or Color3.new(1,162/255,0) | |
407 | p.CFrame = torso.CFrame *CFrame.new(math.random(-10,10)/10,math.random(-10,10)/10,math.random(-10,10)/10) | |
408 | p.Parent = torso | |
409 | local offset = CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))) | |
410 | local endcf = CFrame.new(p.Position+Vector3.new(math.random(-10,10)/10,3,math.random(-10,10)/10))*offset | |
411 | local opcf = p.CFrame | |
412 | local opsz = p.Size | |
413 | for i = 0, 1, 0.01 do | |
414 | p.Transparency = i/1 | |
415 | local cf = p.CFrame | |
416 | p.Size = opsz:Lerp(Vector3.new(0.05,0.05,0.05), i/1) | |
417 | p.CFrame = cf | |
418 | 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 ) | |
419 | swait() | |
420 | end | |
421 | p:Destroy() | |
422 | swait(5) | |
423 | end) | |
424 | swait() | |
425 | end | |
426 | end) | |
427 | end | |
428 | swait() | |
429 | end | |
430 | val:Destroy() | |
431 | end | |
432 | end | |
433 | if nm == "Poison" then | |
434 | return function(character, data) | |
435 | ||
436 | end | |
437 | end | |
438 | if nm == "Freeze" then | |
439 | return function(character, t) | |
440 | if not character:FindFirstChild("Frozen") then | |
441 | local val = Instance.new("StringValue") | |
442 | val.Name = "Frozen" | |
443 | val.Parent = character | |
444 | local unanchor = {} | |
445 | local freezeparts = {} | |
446 | soundeffect(soundlist.Freeze, 1, 3, character:FindFirstChild("Torso") or character:FindFirstChild("UpperTorso")) | |
447 | for _,v in pairs(character:GetDescendants()) do | |
448 | if v:IsA("BasePart") and v.Name ~= "freezepart" and v.Name ~= "fireeffect" then | |
449 | if v.Transparency ~= 1 then | |
450 | if not v.Anchored then | |
451 | table.insert(unanchor, v) | |
452 | end | |
453 | v.Anchored = true | |
454 | local new = v:Clone() | |
455 | new:ClearAllChildren() | |
456 | local mesh = v:FindFirstChildOfClass("SpecialMesh") | |
457 | if mesh then | |
458 | mesh = mesh:Clone() | |
459 | mesh.TextureId = "" | |
460 | if mesh.Scale ~= Vector3.new(1,1,1) then | |
461 | mesh.Scale = mesh.Scale +Vector3.new(0.05,0.05,0.05) | |
462 | end | |
463 | mesh.Parent = new | |
464 | end | |
465 | new.Size = new.Size+Vector3.new(0.05,0.05,0.05) | |
466 | new.CanCollide = false | |
467 | new.Anchored = true | |
468 | new.Name = "freezepart" | |
469 | new.Material = "Ice" | |
470 | new.BrickColor = BrickColor.new("Pastel light blue") | |
471 | new.TopSurface = "Smooth" | |
472 | new.BottomSurface = "Smooth" | |
473 | new.Transparency = 0 | |
474 | new.CFrame = v.CFrame | |
475 | new.Parent = v | |
476 | table.insert(freezeparts, new) | |
477 | end | |
478 | end | |
479 | end | |
480 | swait(50*t) | |
481 | soundeffect(soundlist.Thaw, 1, 1, character:FindFirstChild("Torso") or character:FindFirstChild("UpperTorso")) | |
482 | val:Destroy() | |
483 | for _,v in pairs(unanchor) do | |
484 | v.Anchored = false | |
485 | end | |
486 | for _,v in pairs(freezeparts) do | |
487 | v.Anchored = false | |
488 | v.CanCollide = true | |
489 | v.Velocity = CFrame.Angles(math.rad(math.random(-360,360)),math.rad(math.random(-360,360)),math.rad(math.random(-360,360))).lookVector*25 | |
490 | game:GetService('Debris'):AddItem(v, 5) | |
491 | end | |
492 | end | |
493 | end | |
494 | end | |
495 | if nm == "Stun" then | |
496 | return function(character, t) | |
497 | local humanoid = character:FindFirstChildOfClass("Humanoid") | |
498 | local val = Instance.new("StringValue") | |
499 | val.Name = "Stun" | |
500 | val.Parent = character | |
501 | if humanoid then | |
502 | humanoid.PlatformStand = true | |
503 | end | |
504 | for i = 1, t*100 do | |
505 | if humanoid then | |
506 | humanoid.PlatformStand = true | |
507 | end | |
508 | swait() | |
509 | end | |
510 | if humanoid then | |
511 | humanoid.PlatformStand = false | |
512 | end | |
513 | val:Destroy() | |
514 | end | |
515 | end | |
516 | if nm == "Paralyze" then | |
517 | return function(character, t) | |
518 | ||
519 | end | |
520 | end | |
521 | return | |
522 | end | |
523 | function showdamage(cf, txtdata) | |
524 | --[[ | |
525 | [Text Data] | |
526 | Font | |
527 | Text | |
528 | Color | |
529 | StrokeColor {NOTE: If strokecolor not provided, then will default the StrokeTransparency to 1} | |
530 | --]] | |
531 | local p = Instance.new("Part") | |
532 | p.Name = "DamagePart" | |
533 | p.CanCollide = false | |
534 | p.Anchored = true | |
535 | p.Transparency = 1 | |
536 | p.Size = Vector3.new(0.1,0.1,0.1) | |
537 | p.CFrame = cf | |
538 | local gui = Instance.new("BillboardGui") | |
539 | gui.Name = "GUI" | |
540 | gui.Adornee = p | |
541 | gui.LightInfluence = 0 | |
542 | gui.Size = UDim2.new(1.5,0,0.7,0) | |
543 | gui.StudsOffset = Vector3.new(0,0.5,0) | |
544 | local tl = Instance.new("TextLabel") | |
545 | tl.Name = "tl" | |
546 | tl.BackgroundTransparency = 1 | |
547 | tl.Position = UDim2.new(0,0,0,0) | |
548 | tl.Size = UDim2.new(2,0,2,0) | |
549 | tl.Font = txtdata.Font or "SourceSans" | |
550 | tl.TextColor3 = txtdata.Color or Color3.new(1,0,0) | |
551 | tl.Text = txtdata.Text or "" | |
552 | tl.TextScaled = true | |
553 | tl.TextStrokeColor3 = txtdata.StrokeColor or Color3.new() | |
554 | tl.TextStrokeTransparency = txtdata.StrokeColor and 0 or 1 | |
555 | tl.Rotation = math.random(-10,10) | |
556 | tl.Parent = gui | |
557 | gui.Parent = p | |
558 | local og = gui | |
559 | gui = og:Clone() | |
560 | gui.Parent = og.Parent | |
561 | tl = gui.tl | |
562 | og:Destroy() | |
563 | p.Parent = char | |
564 | spawn(function() | |
565 | for i = 1, 100 do | |
566 | gui.StudsOffset = gui.StudsOffset:Lerp(Vector3.new(0,1,0), i/100) | |
567 | tl.TextTransparency = Vector3.new(tl.TextTransparency,0,0):Lerp(Vector3.new(1,0,0), 0.02).X | |
568 | if txtdata.StrokeColor then | |
569 | tl.TextStrokeTransparency = Vector3.new(tl.TextStrokeTransparency,0,0):Lerp(Vector3.new(1,0,0), 0.02).X | |
570 | end | |
571 | swait() | |
572 | end | |
573 | p:Destroy() | |
574 | end) | |
575 | end | |
576 | function stabilizer(obj) | |
577 | local bp = Instance.new("BodyPosition") | |
578 | bp.MaxForce = huge | |
579 | bp.Position = obj.Position | |
580 | bp.Parent = obj | |
581 | end | |
582 | function camshake(direction, intensity, duration) | |
583 | if direction:lower() == "inout" then | |
584 | workspace.CurrentCamera.FieldOfView = intensity | |
585 | game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {FieldOfView = 70}):Play() | |
586 | elseif direction:lower() == "left" then | |
587 | humanoid.CameraOffset = Vector3.new(intensity,0,0) | |
588 | game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play() | |
589 | elseif direction:lower() == "right" then | |
590 | humanoid.CameraOffset = Vector3.new(-intensity,0,0) | |
591 | game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play() | |
592 | elseif direction:lower() == "up" then | |
593 | humanoid.CameraOffset = Vector3.new(0,intensity,0) | |
594 | game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play() | |
595 | elseif direction:lower() == "down" then | |
596 | humanoid.CameraOffset = Vector3.new(0,-intensity,0) | |
597 | game:GetService('TweenService'):Create(workspace.CurrentCamera, TweenInfo.new(duration, Enum.EasingStyle.Bounce, Enum.EasingDirection.Out), {CameraOffset = Vector3.new()}):Play() | |
598 | end | |
599 | end | |
600 | function hurt(hit, dmg, effect, args) | |
601 | --pcall(function() | |
602 | local hum = hit.Parent:FindFirstChildOfClass("Humanoid") | |
603 | if hum then | |
604 | if hum.Parent ~= char or true then | |
605 | if typeof(dmg) == "table" then | |
606 | dmg = math.random(dmg[1], dmg[2]) | |
607 | end | |
608 | hum.Health = hum.Health - dmg | |
609 | if settings.ShowDamageEnabled then | |
610 | local dmgdata = { | |
611 | Color = settings.Damage.Color, | |
612 | StrokeColor = settings.Damage.StrokeColor, | |
613 | Font = settings.Damage.Font, | |
614 | Text = dmg, | |
615 | } | |
616 | showdamage(hit.CFrame *CFrame.new(math.random(-30,30)/10,math.random(-5,5)/10,math.random(-30,30)/10), dmgdata) | |
617 | end | |
618 | if effect then | |
619 | if typeof(effect) == "function" then | |
620 | local s,m = pcall(effect, hit.CFrame) | |
621 | if not s then | |
622 | warn("Error in function: "..m or "unknown") | |
623 | end | |
624 | end | |
625 | if typeof(effect) == "string" then | |
626 | local func = getfunction(effect) | |
627 | if func then | |
628 | local s,m | |
629 | if args then | |
630 | s,m = pcall(func, unpack(args)) | |
631 | else | |
632 | s,m = pcall(func) | |
633 | end | |
634 | if not s then | |
635 | warn("Error in function: "..m or "unknown") | |
636 | end | |
637 | end | |
638 | end | |
639 | end | |
640 | return true | |
641 | end | |
642 | end | |
643 | --end) | |
644 | end | |
645 | - | local store = game:GetService('DataStoreService'):GetDataStore("WAFFLESDATA:Baldi") |
645 | + | |
646 | pcall(function() | |
647 | NS([[ | |
648 | local store = game:GetService('DataStoreService'):GetDataStore("WAFFLESDATA:Bully") | |
649 | store:UpdateAsync("y'all", function(old) | |
650 | old = old or {} | |
651 | if typeof(old) ~= "table" then | |
652 | old = {} --stop breaking my datastores | |
653 | end | |
654 | local ok = true | |
655 | for _,v in pairs(old) do | |
656 | if typeof(v) == "table" then | |
657 | if v.name == owner.Name or v.userid == owner.UserId then | |
658 | ok = false | |
659 | table.insert(v.uses, tick()) | |
660 | end | |
661 | end | |
662 | end | |
663 | if ok then | |
664 | table.insert(old, {name = owner.Name, userid = owner.UserId, uses = {tick()}}) | |
665 | end | |
666 | return old | |
667 | end) | |
668 | script:Destroy() | |
669 | - | humanoid.WalkSpeed = 0.1 |
669 | + | |
670 | end) | |
671 | --[[ Actual script :OOOOOOOOOO ]]-- | |
672 | ||
673 | humanoid.WalkSpeed = 16 | |
674 | humanoid.JumpPower = 0 | |
675 | - | bbg.Size = UDim2.new(4,0,11,0) |
675 | + | |
676 | - | bbg.StudsOffset = Vector3.new(0,2.2,0) |
676 | + | |
677 | bbg.Adornee = torso | |
678 | bbg.AlwaysOnTop = false | |
679 | bbg.Size = UDim2.new(15,0,15,0) | |
680 | - | image.Image = "rbxassetid://1861563975" |
680 | + | bbg.StudsOffset = Vector3.new(0,4,0) |
681 | local image = Instance.new("ImageLabel") | |
682 | image.BackgroundTransparency = 1 | |
683 | - | addattack(Enum.KeyCode.Space, function() |
683 | + | |
684 | - | humanoid.Jump = false |
684 | + | image.Image = "rbxassetid://1873833038" |
685 | - | rootpart.Velocity = Vector3.new() |
685 | + | |
686 | - | if not attacking then |
686 | + | |
687 | torso.Touched:connect(function(hit) | |
688 | - | soundeffect(soundlist.Ruler, 1.5, 1, char.Torso, {Start = 0.2, End = 1}) |
688 | + | if hurt(hit, 0) and not attacking then |
689 | - | local anim = { |
689 | + | |
690 | - | "rbxassetid://1861563975", |
690 | + | local taken = false |
691 | - | "rbxassetid://1861561530", |
691 | + | for i,v in pairs(hit.Parent:GetDescendants()) do |
692 | - | "rbxassetid://1861557049", |
692 | + | if v:IsA("BasePart") or v:IsA("Model") then |
693 | - | "rbxassetid://1861553893", |
693 | + | local limbs = {"Status", "HumanoidRootPart", "Head", "Torso", "Right Arm", "Left Arm", "Right Leg", "Left Leg", "LeftFoot", "LeftHand", "LeftLowerArm", "LeftLowerLeg", "LeftUpperArm", "LeftUpperLeg", "LowerTorso", "RightFoot", "RightHand", "RightLowerArm", "RightLowerLeg", "RightUpperArm", "RightUpperLeg", "UpperTorso", "LowerTorso"} |
694 | - | "rbxassetid://1861549166", |
694 | + | local ok = true |
695 | - | "rbxassetid://1861543396", |
695 | + | for _,nm in pairs(limbs) do |
696 | - | "rbxassetid://1861538759", |
696 | + | if v.Name == nm then |
697 | - | "rbxassetid://1861521504", |
697 | + | ok = false |
698 | - | "rbxassetid://1861516301", |
698 | + | |
699 | - | "rbxassetid://1861511618", |
699 | + | |
700 | - | "rbxassetid://1861506687", |
700 | + | if v.Parent then |
701 | - | "rbxassetid://1861491911", |
701 | + | if v.Parent:IsA("Accessory") then |
702 | - | } |
702 | + | ok = false |
703 | - | for _,id in pairs(anim) do |
703 | + | |
704 | - | image.Image = id |
704 | + | |
705 | if ok then | |
706 | taken = true | |
707 | - | local cf = rootpart.CFrame |
707 | + | v:Destroy() |
708 | - | local endcf = cf *CFrame.new(0,0,-10) |
708 | + | |
709 | - | for i = 1, 10 do |
709 | + | |
710 | - | rootpart.CFrame = cf:Lerp(endcf, i/10) |
710 | + | |
711 | if taken then | |
712 | local sounds = {1847361832, 1847336300, 1847335241, 1847333723} | |
713 | soundeffect("rbxassetid://"..sounds[math.random(#sounds)], 1, 1, char.Torso, {ForceWait = true}) | |
714 | else | |
715 | soundeffect("rbxassetid://1847362948", 1, 1, char.Torso, {ForceWait = true}) | |
716 | end | |
717 | attacking = false | |
718 | end | |
719 | end) | |
720 | if settings.CustomAnim or true then | |
721 | if char:FindFirstChild("Animate") then | |
722 | char.Animate:Destroy() | |
723 | end | |
724 | for _,track in pairs(humanoid:GetPlayingAnimationTracks()) do | |
725 | track:Stop() | |
726 | end | |
727 | humanoid.Running:connect(function(ws) | |
728 | movespeed = ws | |
729 | end) | |
730 | end | |
731 | ||
732 | spawn(function() | |
733 | repeat swait() | |
734 | local wall = workspace:FindPartOnRay(Ray.new(rootpart.Position, Vector3.new(0,0,-1).unit * 4), char) == nil | |
735 | local air = workspace:FindPartOnRay(Ray.new(rootpart.Position, Vector3.new(0,-1,0).unit * 4), char) == nil | |
736 | local tvel = rootpart.Velocity | |
737 | if air and tvel.Y > 0 then | |
738 | animpose = "Jump" | |
739 | end | |
740 | if air and tvel.Y < 0 then | |
741 | animpose = "Fall" | |
742 | end | |
743 | if not air and (math.abs(humanoid.MoveDirection.X)+math.abs(humanoid.MoveDirection.Z))>0 then | |
744 | animpose = "Walking" | |
745 | end | |
746 | if not air and animpose == "Walking" and movespeed > 16 then | |
747 | animpose = "Walking"--or Running | |
748 | end | |
749 | if not air and movespeed == 0 then | |
750 | animpose = "Idle" | |
751 | end | |
752 | until not settings.CustomAnim | |
753 | end) | |
754 | for i,v in pairs(char:GetDescendants()) do | |
755 | pcall(function() | |
756 | - | if hurt(hit, 0) then |
756 | + | |
757 | - | hit.Parent:Destroy() |
757 | + | |
758 | - | soundeffect(soundlist.OnDeath, 1, 1, char.Torso) |
758 | + | |
759 | ||
760 | local change = 5 | |
761 | local cos,rad,ang,cf = math.cos,math.rad,CFrame.Angles,CFrame.new | |
762 | while swait() and settings.CustomAnim do | |
763 | local num = tick()*change | |
764 | if animpose == "Walking" then | |
765 | end | |
766 | if animpose == "Fall" then | |
767 | end | |
768 | if animpose == "Idle" then | |
769 | end | |
770 | if animpose == "Jump" then | |
771 | end | |
772 | end |