Quick actions

cmd+k|ctrl+k

Navigation

Languages

Sonic Morph (can be combined with DARK LEADER)

Snippet info

Language

Lua

Visibility

public

Author

dinoturto

Created

2019-11-29T07:07:47Z

Updated

2024-01-10T03:40:49.564592Z

----------------------------------------------------------------
                 --//Super Mario!\\--
----------------------------------------------------------------

local remote = Instance.new("RemoteEvent")
remote.Name = "KeyBinds"

local remote2 = Instance.new("RemoteFunction")
remote2.Name = "MouseInvoke"

local function newBindableEvent(name)
    local event = Instance.new("BindableEvent")
    event.Name = name
    event.Parent = remote
    return event
end

local mouse = {
    Hit = CFrame.new(),
    Target = nil,
    TargetFilter = nil,
    X = 0,
    Y = 0,
    Button1Down = newBindableEvent("Button1Down").Event,
    Button1Up = newBindableEvent("Button1Up").Event,
    Button2Down = newBindableEvent("Button2Down").Event,
    Button2Up = newBindableEvent("Button2Up").Event,
    KeyDown = newBindableEvent("KeyDown").Event,
    KeyUp = newBindableEvent("KeyUp").Event,
    Move = newBindableEvent("Move").Event
}

remote.OnServerEvent:Connect(function(plr, v1, v2)
    local ev = remote:FindFirstChild(v1)
    if ev then
        ev:Fire(v2)
    end
end)

remote2.OnServerInvoke = function(plr, v1)
    for k, v in pairs(v1) do
        mouse[k] = v
    end
end

local A = NLS([[
local remote = script:WaitForChild("KeyBinds")
local remote2 = script:WaitForChild("MouseInvoke")

local mouse = owner:GetMouse()
local UIS = game:GetService("UserInputService")

mouse.Button1Down:Connect(function() remote:FireServer("Button1Down"); end); mouse.Button1Up:Connect(function() remote:FireServer("Button1Up"); end)
mouse.Button2Down:Connect(function() remote:FireServer("Button2Down"); end); mouse.Button2Up:Connect(function() remote:FireServer("Button2Up"); end)
mouse.KeyDown:Connect(function(key) remote:FireServer("KeyDown", key); end); mouse.KeyUp:Connect(function(key) remote:FireServer("KeyUp", key); end)
mouse.Move:Connect(function() remote:FireServer("Move"); end)

while remote2 and task.wait() do
    remote2:InvokeServer({
        Hit = mouse.Hit,
        Target = mouse.Target,
        TargetFilter = mouse.TargetFilter,
        X = mouse.X,
        Y = mouse.Y
        })
end
]], owner.PlayerGui)

remote.Parent = A
remote2.Parent = A

local SonicTag = Instance.new("StringValue",owner.Character)
SonicTag.Name = "ImSonic"
torsomsh = "rbxassetid://0"
torsotxt = "rbxassetid://0"
leg1msh = "rbxassetid://0"
leg1txt = "rbxassetid://0"
leg2msh = "rbxassetid://0"
leg2txt = "rbxassetid://0"
hedmsh = "rbxassetid://0"
hedtxt = "rbxassetid://0"
arm1msh = "rbxassetid://0"
arm1txt = "rbxassetid://0"
arm2msh = "rbxassetid://0"
arm2txt = "rbxassetid://0"

Player = owner
PlayerGui = Player.PlayerGui
Cam = workspace.CurrentCamera
Backpack = Player.Backpack
Character = Player.Character
Humanoid = Character.Humanoid
Mouse = Player:GetMouse()
RootPart = Character["HumanoidRootPart"]
Torso = Character["Torso"]
Head = Character["Head"]
RightArm = Character["Right Arm"]
LeftArm = Character["Left Arm"]
RightLeg = Character["Right Leg"]
LeftLeg = Character["Left Leg"]
RootJoint = RootPart["RootJoint"]
Neck = Torso["Neck"]
RightShoulder = Torso["Right Shoulder"]
LeftShoulder = Torso["Left Shoulder"]
RightHip = Torso["Right Hip"]
LeftHip = Torso["Left Hip"]

mleftleg = Instance.new("SpecialMesh",LeftLeg)
mleftleg.MeshId = leg2msh
mleftleg.TextureId = leg2txt
mleftleg.Offset = Vector3.new(0, -0.7, -0.2)
mleftleg.Scale = Vector3.new(0.15, 0.15, 0.15)


mrightleg = Instance.new("SpecialMesh",RightLeg)
mrightleg.MeshId = leg1msh
mrightleg.TextureId = leg1txt
mrightleg.Offset = Vector3.new(0, -0.7, -0.2)
mrightleg.Scale = Vector3.new(0.15, 0.15, 0.15)


mtorso = Instance.new("SpecialMesh",Torso)
mtorso.MeshId = torsomsh
mtorso.TextureId = torsotxt
mtorso.Offset = Vector3.new(0, -1.2, 0)
mtorso.Scale = Vector3.new(0.15, 0.15, 0.15)


mhed = Instance.new("SpecialMesh",Head)
mhed.MeshId = hedmsh
mhed.TextureId = hedtxt
mhed.Offset = Vector3.new(0, 0, 0)
mhed.Scale = Vector3.new(0.65, 0.65, 0.65)


mleftarm = Instance.new("SpecialMesh",LeftArm)
mleftarm.MeshId = arm2msh
mleftarm.TextureId = arm2txt
mleftarm.Offset = Vector3.new(0, -1.1, 0)
mleftarm.Scale = Vector3.new(0.15, 0.15, 0.15)


mrightarm = Instance.new("SpecialMesh",RightArm)
mrightarm.MeshId = arm1msh
mrightarm.TextureId = arm1txt
mrightarm.Offset = Vector3.new(0, -1.1, 0.4)
mrightarm.Scale = Vector3.new(0.15, 0.15, 0.15)

removeuseless = game:GetService("Debris")
laff = Instance.new("Sound",Head)
tauntdebounce = false
Character = Player.Character
Humanoid = Character.Humanoid
---------
plr = owner
chara = plr.Character
mouse = plr:GetMouse()
Create = Instance.new
Huge = math.huge

Player = owner
PlayerGui = Player.PlayerGui
Cam = workspace.CurrentCamera
Backpack = Player.Backpack
Character = Player.Character
char = Player.Character
Humanoid = Character.Humanoid
Mouse = Player:GetMouse()
RootPart = Character["HumanoidRootPart"]
Torso = Character["Torso"]
Head = Character["Head"]
RightArm = Character["Right Arm"]
LeftArm = Character["Left Arm"]
RightLeg = Character["Right Leg"]
LeftLeg = Character["Left Leg"]
RootJoint = RootPart["RootJoint"]
Neck = Torso["Neck"]
RightShoulder = Torso["Right Shoulder"]
LeftShoulder = Torso["Left Shoulder"]
RightHip = Torso["Right Hip"]
LeftHip = Torso["Left Hip"]

local Orin = "http://www.roblox.com/asset/?id=1065951398"
Head.face.Texture = Orin
function weld(a, b, acf)
	local w = Instance.new("Weld", a)
	w.Part0 = a
	w.Part1 = b
	w.C0 = acf
end
--------------------------------
char.Head.face.Texture = "rbxassetid://1065951398"
--------------------------------

-------------------------------------------------------
wait(0.2)
local plr = owner
local char = plr.Character
local hum = char.Humanoid
local hed = char.Head
local root = char.HumanoidRootPart
local rootj = root.RootJoint
local tors = char.Torso
local ra = char["Right Arm"]
local la = char["Left Arm"]
local rl = char["Right Leg"]
local ll = char["Left Leg"]
local neck = tors["Neck"]
local mouse = plr:GetMouse()
local RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0)
local LHCF = CFrame.fromEulerAnglesXYZ(0, -1.6, 0)
local maincolor = BrickColor.new("Plum")

-------------------------------------------------------
--Start Good Stuff--
-------------------------------------------------------
cam = game.Workspace.CurrentCamera
CF = CFrame.new
angles = CFrame.Angles
attack = false
Euler = CFrame.fromEulerAnglesXYZ
Rad = math.rad
IT = Instance.new
BrickC = BrickColor.new
Cos = math.cos
Acos = math.acos
Sin = math.sin
Asin = math.asin
Abs = math.abs
Mrandom = math.random
Floor = math.floor
-------------------------------------------------------
--End Good Stuff--
-------------------------------------------------------
-------------------------------------------------------
--Start HeartBeat--
-------------------------------------------------------
ArtificialHB = Instance.new("BindableEvent", script)
ArtificialHB.Name = "Heartbeat"
script:WaitForChild("Heartbeat")

frame = 1 / 60
tf = 0
allowframeloss = false
tossremainder = false


lastframe = tick()
script.Heartbeat:Fire()


game:GetService("RunService").Heartbeat:connect(function(s, p)
	tf = tf + s
	if tf >= frame then
		if allowframeloss then
			script.Heartbeat:Fire()
			lastframe = tick()
		else
			for i = 1, math.floor(tf / frame) do
				script.Heartbeat:Fire()
			end
			lastframe = tick()
		end
		if tossremainder then
			tf = 0
		else
			tf = tf - frame * math.floor(tf / frame)
		end
	end
end)
-------------------------------------------------------
--End HeartBeat--
-------------------------------------------------------

-------------------------------------------------------
--Start Important Functions--
-------------------------------------------------------
function swait(num)
	if num == 0 or num == nil then
		game:service("RunService").Stepped:wait(0)
	else
		for i = 0, num do
			game:service("RunService").Stepped:wait(0)
		end
	end
end
function thread(f)
	coroutine.resume(coroutine.create(f))
end
function clerp(a, b, t)
	local qa = {
		QuaternionFromCFrame(a)
	}
	local qb = {
		QuaternionFromCFrame(b)
	}
	local ax, ay, az = a.x, a.y, a.z
	local bx, by, bz = b.x, b.y, b.z
	local _t = 1 - t
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
end
function QuaternionFromCFrame(cf)
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
	local trace = m00 + m11 + m22
	if trace > 0 then
		local s = math.sqrt(1 + trace)
		local recip = 0.5 / s
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
	else
		local i = 0
		if m00 < m11 then
			i = 1
		end
		if m22 > (i == 0 and m00 or m11) then
			i = 2
		end
		if i == 0 then
			local s = math.sqrt(m00 - m11 - m22 + 1)
			local recip = 0.5 / s
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
		elseif i == 1 then
			local s = math.sqrt(m11 - m22 - m00 + 1)
			local recip = 0.5 / s
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
		elseif i == 2 then
			local s = math.sqrt(m22 - m00 - m11 + 1)
			local recip = 0.5 / s
			return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
		end
	end
end
function QuaternionToCFrame(px, py, pz, x, y, z, w)
	local xs, ys, zs = x + x, y + y, z + z
	local wx, wy, wz = w * xs, w * ys, w * zs
	local xx = x * xs
	local xy = x * ys
	local xz = x * zs
	local yy = y * ys
	local yz = y * zs
	local zz = z * zs
	return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
end
function QuaternionSlerp(a, b, t)
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
	local startInterp, finishInterp
	if cosTheta >= 1.0E-4 then
		if 1 - cosTheta > 1.0E-4 then
			local theta = math.acos(cosTheta)
			local invSinTheta = 1 / Sin(theta)
			startInterp = Sin((1 - t) * theta) * invSinTheta
			finishInterp = Sin(t * theta) * invSinTheta
		else
			startInterp = 1 - t
			finishInterp = t
		end
	elseif 1 + cosTheta > 1.0E-4 then
		local theta = math.acos(-cosTheta)
		local invSinTheta = 1 / Sin(theta)
		startInterp = Sin((t - 1) * theta) * invSinTheta
		finishInterp = Sin(t * theta) * invSinTheta
	else
		startInterp = t - 1
		finishInterp = t
	end
	return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
end
function rayCast(Position, Direction, Range, Ignore)
	return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
end
local RbxUtility = LoadLibrary("RbxUtility")
local Create = RbxUtility.Create

-------------------------------------------------------
--Start Damage Function--
-------------------------------------------------------
function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
	if hit.Parent == nil then
		return
	end
	local h = hit.Parent:FindFirstChildOfClass("Humanoid")
	for _, v in pairs(hit.Parent:children()) do
		if v:IsA("Humanoid") then
			h = v
		end
	end
         if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("UpperTorso") ~= nil then
	
         hit.Parent:FindFirstChild("Head"):BreakJoints()
         end

	if h ~= nil and hit.Parent.Name ~= char.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
		if hit.Parent:findFirstChild("DebounceHit") ~= nil then
			if hit.Parent.DebounceHit.Value == true then
				return
			end
		end
         if insta == true then
         hit.Parent:FindFirstChild("Head"):BreakJoints()
         end
		local c = Create("ObjectValue"){
			Name = "creator",
			Value = owner,
			Parent = h,
		}
		game:GetService("Debris"):AddItem(c, .5)
		if HitSound ~= nil and HitPitch ~= nil then
			CFuncs.Sound.Create(HitSound, hit, 1, HitPitch) 
		end
		local Damage = math.random(minim, maxim)
		local blocked = false
		local block = hit.Parent:findFirstChild("Block")
		if block ~= nil then
			if block.className == "IntValue" then
				if block.Value > 0 then
					blocked = true
					block.Value = block.Value - 1
					print(block.Value)
				end
			end
		end
		if blocked == false then
			h.Health = h.Health - Damage
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
		else
			h.Health = h.Health - (Damage / 2)
			ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, tors.BrickColor.Color)
		end
		if Type == "Knockdown" then
			local hum = hit.Parent.Humanoid
			hum.PlatformStand = true
			coroutine.resume(coroutine.create(function(HHumanoid)
				swait(1)
				HHumanoid.PlatformStand = false
			end), hum)
			local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
			local bodvol = Create("BodyVelocity"){
				velocity = angle * knockback,
				P = 5000,
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
				Parent = hit,
			}
			local rl = Create("BodyAngularVelocity"){
				P = 3000,
				maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
				angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
				Parent = hit,
			}
			game:GetService("Debris"):AddItem(bodvol, .5)
			game:GetService("Debris"):AddItem(rl, .5)
		elseif Type == "Normal" then
			local vp = Create("BodyVelocity"){
				P = 500,
				maxForce = Vector3.new(math.huge, 0, math.huge),
				velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
			}
			if knockback > 0 then
				vp.Parent = hit.Parent.Torso
			end
			game:GetService("Debris"):AddItem(vp, .5)
		elseif Type == "Up" then
			local bodyVelocity = Create("BodyVelocity"){
				velocity = Vector3.new(0, 20, 0),
				P = 5000,
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
				Parent = hit,
			}
			game:GetService("Debris"):AddItem(bodyVelocity, .5)
		elseif Type == "DarkUp" then
			coroutine.resume(coroutine.create(function()
				for i = 0, 1, 0.1 do
					swait()
					Effects.Block.Create(BrickColor.new("Really red"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, .08, 1)
				end
			end))
			local bodyVelocity = Create("BodyVelocity"){
				velocity = Vector3.new(0, 20, 0),
				P = 5000,
				maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
				Parent = hit,
			}
			game:GetService("Debris"):AddItem(bodyVelocity, 1)
		elseif Type == "Snare" then
			local bp = Create("BodyPosition"){
				P = 2000,
				D = 100,
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
				position = hit.Parent.Torso.Position,
				Parent = hit.Parent.Torso,
			}
			game:GetService("Debris"):AddItem(bp, 1)
		elseif Type == "Freeze" then
			local BodPos = Create("BodyPosition"){
				P = 50000,
				D = 1000,
				maxForce = Vector3.new(math.huge, math.huge, math.huge),
				position = hit.Parent.Torso.Position,
				Parent = hit.Parent.Torso,
			}
			local BodGy = Create("BodyGyro") {
				maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
				P = 20e+003,
				Parent = hit.Parent.Torso,
				cframe = hit.Parent.Torso.CFrame,
			}
			hit.Parent.Torso.Anchored = true
			coroutine.resume(coroutine.create(function(Part) 
				swait(1.5)
				Part.Anchored = false
			end), hit.Parent.Torso)
			game:GetService("Debris"):AddItem(BodPos, 3)
			game:GetService("Debris"):AddItem(BodGy, 3)
		end
		local debounce = Create("BoolValue"){
			Name = "DebounceHit",
			Parent = hit.Parent,
			Value = true,
		}
		game:GetService("Debris"):AddItem(debounce, Delay)
		c = Create("ObjectValue"){
			Name = "creator",
			Value = Player,
			Parent = h,
		}
		game:GetService("Debris"):AddItem(c, .5)
	end
end
-------------------------------------------------------
--End Damage Function--
-------------------------------------------------------

-------------------------------------------------------
--Start Damage Function Customization--
-------------------------------------------------------
function ShowDamage(Pos, Text, Time, Color)
	local Rate = (1 / 30)
	local Pos = (Pos or Vector3.new(0, 0, 0))
	local Text = (Text or "")
	local Time = (Time or 2)
	local Color = (Color or Color3.new(255, 255, 1))
	local EffectPart = CFuncs.Part.Create(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
	EffectPart.Anchored = true
	local BillboardGui = Create("BillboardGui"){
		Size = UDim2.new(3, 0, 3, 0),
		Adornee = EffectPart,
		Parent = EffectPart,
	}
	local TextLabel = Create("TextLabel"){
		BackgroundTransparency = 1,
		Size = UDim2.new(1, 0, 1, 0),
		Text = Text,
		Font = "Bodoni",
		TextColor3 = Color,
		TextScaled = true,
		TextStrokeColor3 = Color3.fromRGB(0,0,0),
		Parent = BillboardGui,
	}
	game.Debris:AddItem(EffectPart, (Time))
	EffectPart.Parent = game:GetService("Workspace")
	delay(0, function()
		local Frames = (Time / Rate)
		for Frame = 1, Frames do
			wait(Rate)
			local Percent = (Frame / Frames)
			EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
			TextLabel.TextTransparency = Percent
		end
		if EffectPart and EffectPart.Parent then
			EffectPart:Destroy()
		end
	end)
end
-------------------------------------------------------
--End Damage Function Customization--
-------------------------------------------------------

function MagniDamage(Part, magni, mindam, maxdam, knock, Type)
  for _, c in pairs(workspace:children()) do
    local hum = c:findFirstChild("Humanoid")
    if hum ~= nil then
      local head = c:findFirstChild("Head")
      if head ~= nil then
        local targ = head.Position - Part.Position
        local mag = targ.magnitude
        if magni >= mag and c.Name ~= plr.Name then
          Damage(head, head, mindam, maxdam, knock, Type, root, 0.1, "http://www.roblox.com/asset/?id=0", 1.2)
        end
      end
    end
  end
end


CFuncs = {
	Part = {
		Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
			local Part = Create("Part")({
				Parent = Parent,
				Reflectance = Reflectance,
				Transparency = Transparency,
				CanCollide = false,
				Locked = true,
				BrickColor = BrickColor.new(tostring(BColor)),
				Name = Name,
				Size = Size,
				Material = Material
			})
			RemoveOutlines(Part)
			return Part
		end
	},
	Mesh = {
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
			local Msh = Create(Mesh)({
				Parent = Part,
				Offset = OffSet,
				Scale = Scale
			})
			if Mesh == "SpecialMesh" then
				Msh.MeshType = MeshType
				Msh.MeshId = MeshId
			end
			return Msh
		end
	},
	Mesh = {
		Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
			local Msh = Create(Mesh)({
				Parent = Part,
				Offset = OffSet,
				Scale = Scale
			})
			if Mesh == "SpecialMesh" then
				Msh.MeshType = MeshType
				Msh.MeshId = MeshId
			end
			return Msh
		end
	},
	Weld = {
		Create = function(Parent, Part0, Part1, C0, C1)
			local Weld = Create("Weld")({
				Parent = Parent,
				Part0 = Part0,
				Part1 = Part1,
				C0 = C0,
				C1 = C1
			})
			return Weld
		end
	},
	Sound = {
		Create = function(id, par, vol, pit)
			coroutine.resume(coroutine.create(function()
				local S = Create("Sound")({
					Volume = vol,
					Pitch = pit or 1,
					SoundId = id,
					Parent = par or workspace
				})
				wait()
				S:play()
				game:GetService("Debris"):AddItem(S, 6)
			end))
		end
	},
	ParticleEmitter = {
		Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
			local fp = Create("ParticleEmitter")({
				Parent = Parent,
				Color = ColorSequence.new(Color1, Color2),
				LightEmission = LightEmission,
				Size = Size,
				Texture = Texture,
				Transparency = Transparency,
				ZOffset = ZOffset,
				Acceleration = Accel,
				Drag = Drag,
				LockedToPart = LockedToPart,
				VelocityInheritance = VelocityInheritance,
				EmissionDirection = EmissionDirection,
				Enabled = Enabled,
				Lifetime = LifeTime,
				Rate = Rate,
				Rotation = Rotation,
				RotSpeed = RotSpeed,
				Speed = Speed,
				VelocitySpread = VelocitySpread
			})
			return fp
		end
	}
}
function RemoveOutlines(part)
	part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
end
function CreatePart(FormFactor, Parent, Material, Reflectance, Transparency, BColor, Name, Size)
	local Part = Create("Part")({
		formFactor = FormFactor,
		Parent = Parent,
		Reflectance = Reflectance,
		Transparency = Transparency,
		CanCollide = false,
		Locked = true,
		BrickColor = BrickColor.new(tostring(BColor)),
		Name = Name,
		Size = Size,
		Material = Material
	})
	RemoveOutlines(Part)
	return Part
end
function CreateMesh(Mesh, Part, MeshType, MeshId, OffSet, Scale)
	local Msh = Create(Mesh)({
		Parent = Part,
		Offset = OffSet,
		Scale = Scale
	})
	if Mesh == "SpecialMesh" then
		Msh.MeshType = MeshType
		Msh.MeshId = MeshId
	end
	return Msh
end
function CreateWeld(Parent, Part0, Part1, C0, C1)
	local Weld = Create("Weld")({
		Parent = Parent,
		Part0 = Part0,
		Part1 = Part1,
		C0 = C0,
		C1 = C1
	})
	return Weld
end



-------------------------------------------------------
--End Effect Function--
-------------------------------------------------------
function Cso(ID, PARENT, VOLUME, PITCH)
	local NSound = nil
	coroutine.resume(coroutine.create(function()
		NSound = IT("Sound", PARENT)
		NSound.Volume = VOLUME
		NSound.Pitch = PITCH
		NSound.SoundId = "http://www.roblox.com/asset/?id="..ID
		swait()
		NSound:play()
		game:GetService("Debris"):AddItem(NSound, 50)
	end))
	return NSound
end
function CameraEnshaking(Length, Intensity)
	coroutine.resume(coroutine.create(function()
		local intensity = 1 * Intensity
		local rotM = 0.01 * Intensity
		for i = 0, Length, 0.1 do
			swait()
			intensity = intensity - 0.05 * Intensity / Length
			rotM = rotM - 5.0E-4 * Intensity / Length
			hum.CameraOffset = Vector3.new(Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)))
			cam.CFrame = cam.CFrame * CF(Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity)), Rad(Mrandom(-intensity, intensity))) * Euler(Rad(Mrandom(-intensity, intensity)) * rotM, Rad(Mrandom(-intensity, intensity)) * rotM, Rad(Mrandom(-intensity, intensity)) * rotM)
		end
		hum.CameraOffset = Vector3.new(0, 0, 0)
	end))
end
-------------------------------------------------------
--End Important Functions--
-------------------------------------------------------

----------------------------------------------------------------------------------
hum.WalkSpeed = 16
hum.JumpPower = 57
----------------------------------------------------------------------------------
local AddInstance = function(Object, ...)
local Obj = Instance.new(Object)
for i,v in next,(...) do
Obj[i] = v
end
return Obj
end
----------------------------------------------------

  local Reaper = AddInstance("Part",{
            Parent = hed,
            CFrame = hed.CFrame,
            formFactor = "Symmetric",
            Size = Vector3.new(1, 1, 1),
            CanCollide = false,
            TopSurface = "Smooth",
            BottomSurface = "Smooth",
            Locked = true,
        })
        local Weld = AddInstance("Weld",{
            Parent = Reaper,
            Part0 = hed,
            C0 = CFrame.new(0, -0.4, 0.2)*CFrame.Angles(0, 0, 0),
            Part1 = Reaper,
        })
        local Mesh = AddInstance("SpecialMesh",{
            Parent = Reaper,
            MeshId = "rbxassetid://2242507266",
            TextureId = "rbxassetid://3442567484",
            Scale = Vector3.new(0.65, 0.65, 0.65),
            VertexColor = Vector3.new(1, 1, 1),
        })

-------------------------------------------------------
  local Hair = AddInstance("Part",{
            Parent = Torso,
            CFrame = hed.CFrame,
            formFactor = "Symmetric",
            Size = Vector3.new(1, 1, 1),
            CanCollide = false,
            TopSurface = "Smooth",
            BottomSurface = "Smooth",
            Locked = true,
        })
        local Weld = AddInstance("Weld",{
            Parent = Hair,
            Part0 = Torso,
            C0 = CFrame.new(0, -0.50, 0)*CFrame.Angles(0, 0, 0),
            Part1 = Hair,
        })
        local Mesh = AddInstance("SpecialMesh",{
            Parent = Hair,
            MeshId = "rbxassetid://2242506396",
            TextureId = "rbxassetid://2242506475",
            Scale = Vector3.new(0.65, 0.65, 0.65),
            VertexColor = Vector3.new(1, 1, 1),
        })
-------------------------------------------------------
  local leg1= AddInstance("Part",{
            Parent = LeftLeg,
            CFrame = Torso.CFrame,
            formFactor = "Symmetric",
            Size = Vector3.new(1, 1, 1),
            CanCollide = false,
            TopSurface = "Smooth",
            BottomSurface = "Smooth",
            Locked = true,
        })
        local Weld = AddInstance("Weld",{
            Parent = leg1,
            Part0 = LeftLeg,
            C0 = CFrame.new(0, -0, -0.7)*CFrame.Angles(0, 0, 0),
            Part1 = leg1,
        })
        local Mesh = AddInstance("SpecialMesh",{
            Parent = leg1,
            MeshId = "rbxassetid://2242487897",
            TextureId = "rbxassetid://2242488067",
            Scale = Vector3.new(0.65, 0.65, 0.65),
            VertexColor = Vector3.new(1, 1, 1),
        })
---------------------------------------------------------------
  local arm3 = AddInstance("Part",{
            Parent = RightArm,
            CFrame = Torso.CFrame,
            formFactor = "Symmetric",
            Size = Vector3.new(1, 1, 1),
            CanCollide = false,
            TopSurface = "Smooth",
            BottomSurface = "Smooth",
            Locked = true,
        })
        local Weld = AddInstance("Weld",{
            Parent = arm3,
            Part0 = RightArm,
            C0 = CFrame.new(-0.9, -1.4, -0.4)*CFrame.Angles(0, 0, 0),
            Part1 = arm3,
        })
        local Mesh = AddInstance("SpecialMesh",{
            Parent = arm3,
            MeshId = "rbxassetid://2245052576",
            TextureId = "rbxassetid://2245052629",
            Scale = Vector3.new(0.65, 0.65, 0.65),
            VertexColor = Vector3.new(1, 1, 1),
        })
---------------------------------------------------------------
  local leg2 = AddInstance("Part",{
            Parent = RightLeg,
            CFrame = Torso.CFrame,
            formFactor = "Symmetric",
            Size = Vector3.new(1, 1, 1),
            CanCollide = false,
            TopSurface = "Smooth",
            BottomSurface = "Smooth",
            Locked = true,
        })
        local Weld = AddInstance("Weld",{
            Parent = leg2,
            Part0 = RightLeg,
            C0 = CFrame.new(0, 0, -0.7)*CFrame.Angles(0, 0, 0),
            Part1 = leg2,
        })
        local Mesh = AddInstance("SpecialMesh",{
            Parent = leg2,
            MeshId = "rbxassetid://2242489986",
            TextureId = "rbxassetid://2242490107",
            Scale = Vector3.new(0.65, 0.65, 0.65),
            VertexColor = Vector3.new(1, 1, 1),
        })
---------------------------------------------------------------
  local arm5 = AddInstance("Part",{
            Parent = LeftArm,
            CFrame = Torso.CFrame,
            formFactor = "Symmetric",
            Size = Vector3.new(1, 1, 1),
            CanCollide = false,
            TopSurface = "Smooth",
            BottomSurface = "Smooth",
            Locked = true,
        })
        local Weld = AddInstance("Weld",{
            Parent = arm5,
            Part0 = LeftArm,
            C0 = CFrame.new(0.9, -1.4, -0.4)*CFrame.Angles(0, 0, 0),
            Part1 = arm5,
        })
        local Mesh = AddInstance("SpecialMesh",{
            Parent = arm5,
            MeshId = "rbxassetid://2242504138",
            TextureId = "rbxassetid://2242504301",
            Scale = Vector3.new(0.65, 0.65, 0.65),
            VertexColor = Vector3.new(1, 1, 1),
        })
---------------------------------------------------------------
wait(1)
plr = owner
char = plr.Character
mouse = plr:GetMouse()
whitecolor = Color3.new(255,255,1)
epicmode = false
normal = true
for i,v in pairs(char:GetChildren()) do
   if v.ClassName == "Shirt" or v.ClassName == "Pants" or v.ClassName == "ShirtGraphic" then
      v:Destroy()
     end
end
local shirt = Instance.new("Shirt",char)
shirt.ShirtTemplate = "rbxassetid://13251116"
local pants = Instance.new("Pants",char)
pants.PantsTemplate = "rbxassetid://13251137"
local bdycolors = char["Body Colors"]
bdycolors.HeadColor3 = whitecolor
bdycolors.LeftArmColor3 = whitecolor
bdycolors.LeftLegColor3 = whitecolor
bdycolors.RightArmColor3 = whitecolor
bdycolors.RightLegColor3 = whitecolor
bdycolors.TorsoColor3 = whitecolor
for i,v in pairs(char:GetChildren()) do
    if v.ClassName == "Hat" or v.ClassName == "Accessory" then
        v:Destroy()
    end
end



local BC = Character["Body Colors"]
BC.HeadColor = BrickColor.new("Pastel brown")
BC.LeftArmColor = BrickColor.new("Pastel brown")
BC.LeftLegColor = BrickColor.new("Pastel brown")
BC.RightArmColor = BrickColor.new("Pastel brown")
BC.RightLegColor = BrickColor.new("Pastel brown")
BC.TorsoColor = BrickColor.new("Pastel brown")

-----------------------------------------------

theme = Instance.new("Sound", Head)
theme.Volume = 0.7
theme.Name = "theme"
theme.Looped = true

mouse.KeyDown:connect(function(Press)
Press=Press:lower()
if Press=='z' then
id = 0
theme.SoundId = "rbxassetid://"..id
theme:Play()
end
end)
INFO