Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[ Made by KillerDarkness0105/Codex#6685, Because uno is a good meme and you should all play it. ]]--
- Player=game:GetService("Players").LocalPlayer
- Character=Player.Character
- LeftArm=Character["Left Arm"]
- LeftLeg=Character["Left Leg"]
- RightArm=Character["Right Arm"]
- RightLeg=Character["Right Leg"]
- Torso=Character.Torso
- Head=Character.Head
- Humanoid=Character.Humanoid
- local mouse = Player:GetMouse()
- angles=CFrame.Angles
- it=Instance.new
- attacktype=1
- vt=Vector3.new
- cf=CFrame.new
- euler=CFrame.fromEulerAnglesXYZ
- angles=CFrame.Angles
- RootPart=Character.HumanoidRootPart
- RootJoint=RootPart.RootJoint
- local attack = false
- local Effects = {}
- m = game.Players.LocalPlayer
- char = m.Character
- local txt = Instance.new("BillboardGui", char)
- txt.Adornee = char .Head
- txt.Name = "_status"
- txt.Size = UDim2.new(2, 0, 1.2, 0)
- txt.StudsOffset = Vector3.new(-9, 8, 0)
- local text = Instance.new("TextLabel", txt)
- text.Size = UDim2.new(10, 0, 7, 0)
- text.FontSize = "Size24"
- text.TextScaled = true
- text.TextTransparency = 0
- text.BackgroundTransparency = 1
- text.TextTransparency = 0
- text.TextStrokeTransparency = 0
- text.Font = "Bodoni"
- text.TextStrokeColor3 = Color3.new(0,0,0)
- v=Instance.new("Part")
- v.Name = "ColorBrick"
- v.Parent=m.Character
- v.FormFactor="Symmetric"
- v.Anchored=true
- v.CanCollide=false
- v.BottomSurface="Smooth"
- v.TopSurface="Smooth"
- v.Size=Vector3.new(10,5,3)
- v.Transparency=1
- v.CFrame=char.Torso.CFrame
- v.BrickColor=BrickColor.new("Really black")
- v.Transparency=1
- text.TextColor3 = Color3.new(0,255,255)
- v.Shape="Block"
- text.Text = ""
- deb = game:GetService("Debris")
- 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 m11 > m00 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 >= 0.0001 then
- if (1 - cosTheta) > 0.0001 then
- local theta = math.acos(cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((1-t)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = 1-t
- finishInterp = t
- end
- else
- if (1+cosTheta) > 0.0001 then
- local theta = math.acos(-cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((t-1)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = t-1
- finishInterp = t
- end
- 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
- --Example: Torso.Weld.C0 = clerp(Torso.Weld.C0, CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)), 0.4)
- function rayCast(Pos, Dir, Max, Ignore) -- Origin Position , Direction, MaxDistance , IgnoreDescendants
- return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
- end
- --save shoulders
- RSH, LSH=nil, nil
- --welds
- RW, LW=Instance.new("Weld"), Instance.new("Weld")
- RW.Name="Right Shoulder" LW.Name="Left Shoulder"
- LH=Torso["Left Hip"]
- RH=Torso["Right Hip"]
- TorsoColor=Torso.BrickColor
- function NoOutline(Part)
- Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
- end
- player=Player
- ch=Character
- RSH=ch.Torso["Right Shoulder"]
- LSH=ch.Torso["Left Shoulder"]
- --
- RSH.Parent=nil
- LSH.Parent=nil
- --
- RW.Name="Right Shoulder"
- RW.Part0=ch.Torso
- RW.C0=cf(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5)
- RW.C1=cf(0, 0.5, 0)
- RW.Part1=ch["Right Arm"]
- RW.Parent=ch.Torso
- --
- LW.Name="Left Shoulder"
- LW.Part0=ch.Torso
- LW.C0=cf(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
- LW.C1=cf(0, 0.5, 0)
- LW.Part1=ch["Left Arm"]
- LW.Parent=ch.Torso
- Player=game:GetService('Players').LocalPlayer
- Character=Player.Character
- Mouse=Player:GetMouse()
- m=Instance.new('Model',Character)
- local function weldBetween(a, b)
- local weldd = Instance.new("ManualWeld")
- weldd.Part0 = a
- weldd.Part1 = b
- weldd.C0 = CFrame.new()
- weldd.C1 = b.CFrame:inverse() * a.CFrame
- weldd.Parent = a
- return weldd
- end
- function RemoveOutlines(part)
- part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
- end
- part = function(formfactor, parent, reflectance, transparency, brickcolor, name, size)
- local fp = it("Part")
- fp.formFactor = formfactor
- fp.Parent = parent
- fp.Reflectance = reflectance
- fp.Transparency = transparency
- fp.CanCollide = false
- fp.Locked = true
- fp.BrickColor = brickcolor
- fp.Name = name
- fp.Size = size
- fp.Position = Torso.Position
- NoOutline(fp)
- if fp.BrickColor == BrickColor.new("Dark indigo") then
- fp.Material = "Neon"
- else
- if fp.BrickColor == BrickColor.new("Fossil") then
- fp.BrickColor = BrickColor.new("Dark indigo")
- fp.Material = "Neon"
- else
- fp.Material = "Neon"
- end
- end
- fp:BreakJoints()
- return fp
- end
- mesh = function(Mesh, part, meshtype, meshid, offset, scale)
- local mesh = it(Mesh)
- mesh.Parent = part
- if Mesh == "SpecialMesh" then
- mesh.MeshType = meshtype
- mesh.MeshId = meshid
- end
- mesh.Offset = offset
- mesh.Scale = scale
- return mesh
- end
- weld = function(parent, part0, part1, c0)
- local weld = it("Weld")
- weld.Parent = parent
- weld.Part0 = part0
- weld.Part1 = part1
- weld.C0 = c0
- return weld
- end
- F1 = Instance.new("Folder", Character)
- F1.Name = "Effects Folder"
- F2 = Instance.new("Folder", F1)
- F2.Name = "Effects"
- Triangle = function(a, b, c)
- end
- MagicBlock = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt())
- prt.Anchored = true
- prt.CanCollide = false
- prt.CFrame = cframe
- prt.Name = "prt"
- msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 5)
- table.insert(Effects, {prt, "Block1", delay, x3, y3, z3})
- end
- MagicCircle = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt())
- prt.Anchored = true
- prt.CanCollide = false
- prt.CFrame = cframe
- prt.Name = "prt"
- local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 5)
- table.insert(Effects, {prt, "Cylinder", delay, x3, y3, z3})
- end
- MagicWave = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt())
- prt.Anchored = true
- prt.CFrame = cframe
- local msh = mesh("SpecialMesh", prt, "FileMesh", "http://www.roblox.com/asset/?id=20329976", vt(0, 0, 0), vt(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 5)
- table.insert(Effects, {prt, "Cylinder", delay, x3, y3, z3})
- end
- MagicCylinder = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt(0.2, 0.2, 0.2))
- prt.Anchored = true
- prt.CFrame = cframe
- msh = mesh("SpecialMesh", prt, "Head", "", vt(0, 0, 0), vt(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 5)
- Effects[#Effects + 1] = {prt, "Cylinder", delay, x3, y3, z3}
- end
- MagicCylinder2 = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt(0.2, 0.2, 0.2))
- prt.Anchored = true
- prt.CFrame = cframe
- msh = mesh("CylinderMesh", prt, "", "", vt(0, 0, 0), vt(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 5)
- Effects[#Effects + 1] = {prt, "Cylinder", delay, x3, y3, z3}
- end
- MagicBlood = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = part(3, F2, 0, 0, brickcolor, "Effect", vt())
- prt.Anchored = true
- prt.CFrame = cframe
- local msh = mesh("SpecialMesh", prt, "Sphere", "", vt(0, 0, 0), vt(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 5)
- table.insert(Effects, {prt, "Blood", delay, x3, y3, z3})
- end
- ElecEffect = function(cff, x, y, z)
- local prt = part(3, F2, 0, 0, BrickColor.new("Dark indigo"), "Part", vt(1, 1, 1))
- prt.Anchored = true
- prt.CFrame = cff * cf(math.random(-x, x), math.random(-y, y), math.random(-z, z))
- prt.CFrame = cf(prt.Position)
- game:GetService("Debris"):AddItem(prt, 2)
- xval = math.random() / 2
- yval = math.random() / 2
- zval = math.random() / 2
- msh = mesh("BlockMesh", prt, "", "", vt(0, 0, 0), vt(xval, yval, zval))
- Effects[#Effects + 1] = {prt, "Elec", 0.1, x, y, z, xval, yval, zval}
- end
- 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)
- function swait(num)
- if num == 0 or num == nil then
- ArtificialHB.Event:wait()
- else
- for i = 0, num do
- ArtificialHB.Event:wait()
- end
- end
- end
- function Dmgfunc(player,mindamage,maxdamage,waait)
- dodamage = coroutine.wrap(function()
- if player ~= Character and player:FindFirstChild("IsHit") == nil then
- Max = 9999999
- player.Humanoid.Health = player.Humanoid.Health - Max
- local thiing = Instance.new("ObjectValue",player)
- thiing.Name = "IsHit"
- deb:AddItem(thiing,waait)
- end
- end)
- dodamage(player,mindamage,maxdamage,waait)
- end
- local handee = Instance.new("Part")
- handee.Parent = Character
- handee.Size = Vector3.new(1, 0.3, 1.4)
- handee.Archivable = true
- handee.Transparency = 0
- handee.CanCollide = false
- handee.BrickColor = BrickColor.new("Really black")
- handee.Material = "SmoothPlastic"
- local handeemesh = Instance.new("BlockMesh",handee)
- local handeedecal = Instance.new("Decal",handee)
- handeedecal.Texture = "rbxassetid://106353556"
- local handeedecal2 = Instance.new("Decal",handee)
- handeedecal2.Texture = "rbxassetid://106353556"
- handeedecal.Face = "Top"
- handeedecal2.Face = "Bottom"
- local handeeweld = Instance.new("Weld")
- handeeweld.Parent = handee
- handeeweld.Part0 = RightArm
- handeeweld.Part1 = handee
- handeeweld.C1 = CFrame.new(0, -0.64, 0.96)*CFrame.Angles(math.rad(90),math.rad(0),math.rad(0))
- handeeweld.Part0 = RightArm
- local music = Instance.new("Sound",Torso)
- music.Volume = 1.5
- music.PlaybackSpeed = 1
- music.Pitch = 1
- music.SoundId = "rbxassetid://1433232027"--music
- music:Play()
- music.Name = "music"
- music.Looped = true
- local size = 0
- function card()
- local Card = Instance.new("Part",Workspace)
- Card.Name = "Shell"
- Card.Anchored = false
- Card.CanCollide = false
- Card.Transparency = 0
- k = math.random(1,7)
- if k == 1 then
- Card.BrickColor = BrickColor.new("Toothpaste")
- text.Text = "DRAW 69!"
- elseif k == 2 then
- Card.BrickColor = BrickColor.new("Lime green")
- text.Text = "UNO TRAP CARD - HELLA GEY!"
- elseif k == 3 then
- Card.BrickColor = BrickColor.new("Bright red")
- text.Text = "UNO SKIP!"
- elseif k == 4 then
- Card.BrickColor = BrickColor.new("Really black")
- text.Text = "WILD!!!!!!"
- elseif k == 5 then
- Card.BrickColor = BrickColor.new("New Yeller")
- text.Text = "UNO REVERSE!!!"
- elseif k == 6 then
- Card.BrickColor = BrickColor.new("New Yeller")
- text.Text = "MASTER SPARK"
- elseif k == 7 then
- Card.BrickColor = BrickColor.new("Really red")
- text.Text = "Spell card *Hell's Artificial Sun*"
- end
- Card.Size = Vector3.new(1.5,0.05,1)
- Card.Material = "SmoothPlastic"
- Card.CFrame = handee.CFrame*CFrame.new(0,0,0)
- Card.CFrame = CFrame.new(Card.Position,Torso.CFrame.p)
- local bv = Instance.new("BodyVelocity",Card)
- bv.maxForce = Vector3.new(99999,99999,99999)
- bv.velocity = Torso.CFrame.lookVector*120
- deb:AddItem(Card, 7)
- Card.Touched:connect(function(hit)
- if (hit.Parent.Parent ~= Character and hit.Parent ~= Character and hit.Name ~= "Card" and hit.Name ~= "prt" and Card.Anchored == false) then
- Card.Anchored = true
- Card.Transparency = 1
- local orbexplode = Instance.new("Sound", Card)
- orbexplode.Volume = 0.4
- orbexplode.PlayOnRemove = true
- orbexplode.SoundId = "http://roblox.com/asset/?id=929619479"
- orbexplode.Pitch = 1
- orbexplode:Destroy()
- deb:AddItem(orbexplode, 4)
- local Explode = Instance.new("Explosion")
- Explode.Position = Card.Position
- Explode.Parent = Workspace
- Explode.BlastPressure = 0
- Explode.BlastRadius = Card.Size.X *1.6
- Explode.Visible = false
- Card:Destroy()
- Explode.Hit:connect(function(hit)
- if hit.Parent:FindFirstChild("Humanoid")~=nil and hit.Parent:FindFirstChild("IsHit")==nil then
- Dmgfunc(hit.Parent,10,20,.01)
- end
- end)
- MagicCircle(BrickColor.new("White"), Card.CFrame * cf(0, 0, 0), 1, 1, 1, 4.2, 4.2, 4.2, 0.02)
- end
- end)
- end
- mouse.Button1Down:connect(function()
- attack = true
- card()
- for i = 0,0.3,0.1 do
- swait()
- LW.C0 = clerp(LW.C0, CFrame.new(-1.1, 0.65, -0.5) * angles(math.rad(90), math.rad(0), math.rad(0)), 0.8)
- end
- for i = 0,0.3,0.1 do
- swait()
- LW.C0 = clerp(LW.C0, CFrame.new(-1.1, 0.65, -0.5) * angles(math.rad(90), math.rad(0), math.rad(60)), 0.8)
- end
- attack = false
- end
- end)
- mouse.KeyDown:connect(function(key)
- if key == "f" and attack == false then
- if music.Volume == 1.5 then
- music.Volume = 0
- else
- music.Volume = 1.5
- elseif workspace:FindFirstChild("music") then else
- local backup = Instance.new("Sound",workspace)
- backup.SoundId = "rbxassetid://1433232027"
- backup.Looped =true
- music = backup
- music.Volume = 10
- end
- end
- end)
- -----RUN BUTTON XDDDDDDDD
- mouse.KeyDown:connect(function(key)
- if string.byte(key) == 48 then
- Character.Humanoid.WalkSpeed = 25
- end
- end)
- mouse.KeyUp:connect(function(key)
- if string.byte(key) == 48 then
- Character.Humanoid.WalkSpeed = 16
- end
- end)
- -----XXDDDDDDDDXDDXXDXDXDXDXDDXDXD
- while true do
- swait()
- if attack == false then
- RW.C0 = clerp(RW.C0, CFrame.new(1.3, 0.34, -0.5) * angles(math.rad(90), math.rad(0), math.rad(-40)), 0.1)
- LW.C0 = clerp(LW.C0, CFrame.new(-1.1, 0.65, -0.5) * angles(math.rad(90), math.rad(0), math.rad(60)), 0.1)
- end
- if 0 < #Effects then
- for e = 1, #Effects do
- if Effects[e] ~= nil then
- local Thing = Effects[e]
- if Thing ~= nil then
- local Part = Thing[1]
- local Mode = Thing[2]
- local Delay = Thing[3]
- local IncX = Thing[4]
- local IncY = Thing[5]
- local IncZ = Thing[6]
- if Thing[1].Transparency <= 1 then
- if Thing[2] == "Block1" then
- Thing[1].CFrame = Thing[1].CFrame * euler(math.random(-80, 80), math.random(-80, 80), math.random(-80, 80))
- Mesh = Thing[1]:FindFirstChild("Mesh")
- if not Mesh then
- Mesh = Instance.new("BlockMesh")
- end
- Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
- Thing[1].Transparency = Thing[1].Transparency + Thing[3]
- elseif Thing[2] == "Cylinder" then
- Mesh = Thing[1]:FindFirstChild("Mesh")
- if not Mesh then
- Mesh = Instance.new("BlockMesh")
- end
- Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
- Thing[1].Transparency = Thing[1].Transparency + Thing[3]
- elseif Thing[2] == "Blood" then
- Mesh = Thing[1]:FindFirstChild("Mesh")
- if not Mesh then
- Mesh = Instance.new("BlockMesh")
- end
- Thing[1].CFrame = Thing[1].CFrame * cf(0, 0.5, 0)
- Mesh.Scale = Mesh.Scale + vt(Thing[4], Thing[5], Thing[6])
- Thing[1].Transparency = Thing[1].Transparency + Thing[3]
- elseif Thing[2] == "Elec" then
- Mesh = Thing[1]:FindFirstChild("Mesh")
- if not Mesh then
- Mesh = Instance.new("BlockMesh")
- end
- Mesh.Scale = Mesh.Scale + vt(Thing[7], Thing[8], Thing[9])
- Thing[1].Transparency = Thing[1].Transparency + Thing[3]
- elseif Thing[2] == "Disappear" then
- Thing[1].Transparency = Thing[1].Transparency + Thing[3]
- end
- else
- Part.Parent = nil
- Part:Destroy()
- --game:GetService("Debris"):AddItem(Part, 0)
- table.remove(Effects, e)
- end
- end
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement