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