Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
- local Player,Mouse,mouse,UserInputService,ContextActionService = owner
- local RealPlayer = Player
- do print("hi")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
- plr = owner
- char = plr.Character
- ra = char["Right Arm"]
- la = char["Left Arm"]
- hed = char.Head
- root = char.HumanoidRootPart
- hum = char.Humanoid
- dancin = false
- clerp = function(toclerp, cf, number)
- local joint = toclerp
- joint.C0 = joint.C0:Lerp(cf, number)
- end
- clerp2 = function(toclerp, cf)
- local joint = toclerp
- joint.C0 = cf
- end
- clerp3 = function(toclerp, cf, number)
- local joint = toclerp
- joint.C1 = joint.C1:Lerp(cf, number)
- end
- Swait,swait = function(number)
- if number == 0 or number == nil then
- game:GetService("RunService").Heartbeat:Wait()
- else
- for i = 1,number do
- game:GetService("RunService").Heartbeat:Wait()
- end
- end
- end
- ezweld = function(p, a, b, cf)
- local weld = Instance.new("Weld",p)
- weld.Part0 = a
- weld.Part1 = b
- weld.C0 = cf
- return weld
- end
- NewSound = function(p, id, pit, vol, loop)
- local Sound = Instance.new("Sound",p)
- Sound.Pitch = pit
- Sound.Volume = vol
- Sound.SoundId = "rbxassetid://" ..id
- Sound.Looped = loop
- Sound:Play()
- return Sound
- end
- IT = Instance.new
- Rad = math.rad
- Cos = math.cos
- Sin = math.sin
- BrickC = BrickColor.new
- C3 = Color3.new
- VT = Vector3.new
- anim = "Idle"
- attack = false
- local RS = char.Torso["Right Shoulder"]
- local LS = char.Torso["Left Shoulder"]
- local RH = char.Torso["Right Hip"]
- local LH = char.Torso["Left Hip"]
- local neck = char.Torso["Neck"]
- local anim = "Idle"
- local animate = char.Animate
- local root = char.HumanoidRootPart
- local rootj = root.RootJoint
- local timepos = 0
- local sine = 0
- local RSnor = RS.C0
- local LSnor = LS.C0
- local RHnor = RH.C0
- local LHnor = LH.C0
- local RSnor2 = RS.C1
- local LSnor2 = LS.C1
- local RHnor2 = RH.C1
- local LHnor2 = LH.C1
- local rootjnor = rootj.C0
- local necknor = neck.C0
- local tors = char.Torso
- hum.Animator:remove()
- mouse = plr:GetMouse()
- hold = false
- Debris = game:GetService("Debris")
- sped = 16
- hee = 22
- function RayCast(Position, Direction, Range, Ignore)
- return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
- end
- local splatter = Instance.new("Part", char)
- splatter.CanCollide = false
- splatter.Size = Vector3.new(0.35, 1.719, 2.2)
- splatter.BrickColor = BrickColor.new("Ghost grey")
- local mesh = Instance.new("SpecialMesh", splatter)
- mesh.MeshId = "rbxassetid://4510926580"
- local weld = ezweld(char, ra, splatter, CFrame.new(0, -ra.Size.y / 1.5, -0.35) * CFrame.Angles(Rad(-90), Rad(0), 0))
- teamcolor = BrickColor.new("Lime green")
- local rad = math.random(1, 2)
- if rad == 1 then
- teamcolor = BrickColor.new("Bright orange")
- elseif rad == 2 then
- teamcolor = BrickColor.new("Really blue")
- end
- function Raycast(POSITION, DIRECTION, RANGE, TABLE)
- local TABLE = ((type(TABLE) == "table" and TABLE) or {TABLE})
- return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(POSITION, DIRECTION * RANGE), TABLE)
- end
- function WeldParts(A,B)
- local WLD = IT("ManualWeld")
- WLD.Part0 = A
- WLD.Part1 = B
- WLD.C1 = B.CFrame:inverse() * A.CFrame
- WLD.Parent = A
- return WLD
- end
- ll = char["Left Leg"]
- rl = char["Right Leg"]
- sinking = false
- ll.Touched:connect(function(hit)
- if hit.Name ~= "Base" and hit.Name ~= "Baseplate" and hit.Name ~= "ground" then
- if hit.BrickColor.Name ~= teamcolor.Name and string.find(hit.Name, "ink") then
- sinking = true
- elseif hit.BrickColor.Name == teamcolor.Name and string.find(hit.Name, "ink") then
- sinking = false
- end
- end
- end)
- rl.Touched:connect(function(hit)
- if hit.Name ~= "Base" and hit.Name ~= "Baseplate" and hit.Name ~= "ground" then
- if hit.BrickColor.Name ~= teamcolor.Name and string.find(hit.Name, "ink") then
- sinking = true
- elseif hit.BrickColor.Name == teamcolor.Name and string.find(hit.Name, "ink") then
- sinking = false
- end
- end
- end)
- movelegs = true
- local team = Instance.new("StringValue", char)
- team.Value = "team"
- team.Name = teamcolor.Name
- function pewpew()
- hold = true
- attack = true
- repeat
- tframe = char.Torso.CFrame
- taim = mouse.Hit.p -( tframe.p )
- taim2 = mouse.Hit.p +( tframe.p )
- local ink = Instance.new("Part", char)
- ink.CanCollide = false
- ink.BrickColor = teamcolor
- ink.Size = Vector3.new(0.35, 0.35, 0.35)
- ink.CFrame = splatter.CFrame
- ink.CFrame = CFrame.new(ink.Position, mouse.Hit.p) * CFrame.Angles(Rad(6), 0, Rad(0))
- ink.Velocity = ink.CFrame.lookVector * 200
- ink.Name = plr.Name .."ink"
- ink.Touched:connect(function(hit)
- if hit.Parent and hit.Parent ~= char and hit.Parent.Parent ~= char and hit.Parent ~= script and hit.Name ~= plr.Name .."ink" then
- local inki = Instance.new("Part", script)
- inki.CanCollide = false
- inki.Material = "SmoothPlastic"
- inki.Name = plr.Name .."ink"
- inki.Position = Vector3.new(ink.Position.x, hit.Position.y, ink.Position.z) + Vector3.new(0, hit.Size.y / 2, 0)
- inki.Size = Vector3.new(9, 0.05, 9)
- inki.BrickColor = teamcolor
- inki.Anchored = true
- inki.Reflectance = 0.1
- local mish = Instance.new("SpecialMesh", inki)
- mish.MeshType = "Sphere"
- local ori = hit
- if ori then
- if ori.Name ~= "Terrain" then
- inki.Orientation = ori.Orientation
- end
- end
- if string.find(hit.Name, "ink") then
- hit:remove()
- end
- if hit.Name ~= "Terrain" then
- if hit.Anchored == false then
- inki.Size = Vector3.new(0.25, 0.25, 0.25)
- inki.Anchored = false
- WeldParts(inki, hit)
- for i,v in pairs (hit.Parent:children()) do
- if v:IsA("Humanoid") then
- if hit.Parent:FindFirstChildOfClass("StringValue") then
- local tteam = hit.Parent:FindFirstChildOfClass("StringValue")
- if team.Name ~= tteam.Name and team.Value == "team" then
- v.Health = v.Health - 7.5
- end
- elseif not hit.Parent:FindFirstChildOfClass("StringValue") then
- v.Health = v.Health - 7.5
- end
- end
- end
- end
- end
- ink:remove()
- end
- end)
- for i = 1,1 do
- Swait()
- clerp(rootj, rootjnor * CFrame.new(0, 0, 0.05 * Cos(sine / (77 / 2))), 0.3)
- clerp(neck, necknor * CFrame.Angles(Rad(0 + 6 * Cos(sine / (99 / 2))), 0, Rad(0 + 11 * Cos(sine / (99)))), 0.3)
- clerp(RH, RHnor * CFrame.Angles(Rad(0), Rad(-7), 0) * CFrame.new(0, -0.05 * Cos(sine / (77 / 2)), 0), 0.3)
- clerp(LH, LHnor * CFrame.Angles(Rad(0), Rad(7), 0) * CFrame.new(0, -0.05 * Cos(sine / (77 / 2)), 0), 0.3)
- clerp(RS, RSnor * CFrame.new(0, -0.05, 0) * CFrame.Angles(Rad(0), Rad(0), Rad(110)) * CFrame.Angles(Rad(0), Rad(-90), 0) * (CFrame.new(Vector3.new(),tframe:vectorToObjectSpace(taim))*CFrame.Angles(0,math.pi/2,0)), 0.3)
- clerp(LS, LSnor * CFrame.new(-0.35, -0.05, -1) * CFrame.Angles(Rad(0), Rad(-75), Rad(-110)) * CFrame.Angles(Rad(0), Rad(90), 0) * CFrame.new(-1, 0, 0) * (CFrame.new(Vector3.new(),tframe:vectorToObjectSpace(taim))*CFrame.Angles(0,math.pi/2,0)), 0.3)
- end
- for i = 1,1 do
- Swait()
- clerp(rootj, rootjnor * CFrame.new(0, 0, 0.05 * Cos(sine / (77 / 2))), 0.3)
- clerp(neck, necknor * CFrame.Angles(Rad(0 + 6 * Cos(sine / (99 / 2))), 0, Rad(0 + 11 * Cos(sine / (99)))), 0.3)
- clerp(RH, RHnor * CFrame.Angles(Rad(0), Rad(-7), 0) * CFrame.new(0, -0.05 * Cos(sine / (77 / 2)), 0), 0.3)
- clerp(LH, LHnor * CFrame.Angles(Rad(0), Rad(7), 0) * CFrame.new(0, -0.05 * Cos(sine / (77 / 2)), 0), 0.3)
- clerp(RS, RSnor * CFrame.new(0, -0.05, 0) * CFrame.Angles(Rad(0), Rad(0), Rad(90)) * CFrame.Angles(Rad(0), Rad(-90), 0) * (CFrame.new(Vector3.new(),tframe:vectorToObjectSpace(taim))*CFrame.Angles(0,math.pi/2,0)), 0.3)
- clerp(LS, LSnor * CFrame.new(-0.35, -0.05, -1) * CFrame.Angles(Rad(0), Rad(-75), Rad(-90)) * CFrame.Angles(Rad(0), Rad(90), 0) * CFrame.new(-1, 0, 0) * (CFrame.new(Vector3.new(),tframe:vectorToObjectSpace(taim))*CFrame.Angles(0,math.pi/2,0)), 0.3)
- end
- until hold == false
- attack = false
- hold = false
- end
- mouse.Button1Down:connect(function()
- if attack == false then
- pewpew()
- end
- end)
- mouse.Button1Up:connect(function()
- hold = false
- end)
- while true do
- Swait()
- script.Parent = workspace
- tframe = char.Torso.CFrame
- taim = mouse.Hit.p -( tframe.p )
- taim2 = mouse.Hit.p +( tframe.p )
- sine = sine + 1
- hum.JumpPower = 45
- hum.WalkSpeed = sped
- local TiltVelocity = CFrame.new(root.CFrame:vectorToObjectSpace(root.Velocity/1.6))
- local TORSOVELOCITY = (root.Velocity * VT(1, 0, 1)).magnitude
- local WALKSPEEDVALUE = 16.5 / (hum.WalkSpeed / 16.5)
- torsverticalvel = root.Velocity.y
- hitfloor = RayCast(root.Position, (CFrame.new(root.Position, root.Position + Vector3.new(0, -1, 0))).lookVector, tors.Size.y+2+hum.HipHeight, char)
- if TORSOVELOCITY < 1 and hitfloor ~= nil then
- anim = "Idle"
- if attack == false then
- if sinking ~= true then
- sped = 10
- else
- sped = 6
- end
- clerp(rootj, rootjnor * CFrame.new(0, 0, 0.05 * Cos(sine / (77 / 2))), 0.3)
- clerp(neck, necknor * CFrame.Angles(Rad(0 + 6 * Cos(sine / (99 / 2))), 0, Rad(0 + 11 * Cos(sine / (99)))), 0.3)
- clerp(RH, RHnor * CFrame.Angles(Rad(0), Rad(-7), 0) * CFrame.new(0, -0.05 * Cos(sine / (77 / 2)), 0), 0.3)
- clerp(LH, LHnor * CFrame.Angles(Rad(0), Rad(7), 0) * CFrame.new(0, -0.05 * Cos(sine / (77 / 2)), 0), 0.3)
- clerp(RS, RSnor * CFrame.new(0, -0.05, 0) * CFrame.Angles(Rad(0), Rad(0), Rad(90)) * CFrame.Angles(Rad(0), Rad(-90), 0) * (CFrame.new(Vector3.new(),tframe:vectorToObjectSpace(taim))*CFrame.Angles(0,math.pi/2,0)), 0.3)
- clerp(LS, LSnor * CFrame.new(-0.35, -0.05, -1) * CFrame.Angles(Rad(0), Rad(-75), Rad(-90)) * CFrame.Angles(Rad(0), Rad(90), 0) * CFrame.new(-1, 0, 0) * (CFrame.new(Vector3.new(),tframe:vectorToObjectSpace(taim))*CFrame.Angles(0,math.pi/2,0)), 0.3)
- end
- elseif TORSOVELOCITY > 1 and hitfloor ~= nil then
- anim = "Walk"
- if attack == false then
- if sinking ~= true then
- sped = 18
- else
- sped = 6
- end
- clerp(rootj, rootjnor * CFrame.new(0, 0, 0.05 * Cos(sine / (WALKSPEEDVALUE + 15))) * CFrame.Angles(-Rad(TiltVelocity.z) * 1, Rad(0) -Rad(TiltVelocity.x) * 0.4 + root.Velocity.y / 35, 0), 0.35)
- clerp(neck, necknor * CFrame.Angles(Rad(TiltVelocity.z) * 1, hed.Velocity.y / 35, 0), 0.35)
- clerp(RH, RHnor * CFrame.new(0 + 0.025 * Sin(sine / (WALKSPEEDVALUE / 1)), 0.05 + 0.1 * Sin(sine / (WALKSPEEDVALUE / 2)), 0) * CFrame.Angles(Rad(0 - 25 * math.sin(sine / WALKSPEEDVALUE)*math.rad(TiltVelocity.x)*5.5), Rad(0), Rad(hee * Cos(sine / WALKSPEEDVALUE)) + 0 + Sin(sine / WALKSPEEDVALUE) / 2.5 * -Rad(TiltVelocity.z) * 10) * CFrame.new(0, -0.025 * Cos(sine / 12), 0), 0.3)
- clerp(LH, LHnor * CFrame.new(0 + 0.025 * Sin(sine / (WALKSPEEDVALUE / 1)), 0.05 + 0.1 * Sin(sine / (WALKSPEEDVALUE / 2)), 0) * CFrame.Angles(Rad(0 - 25 * math.sin(sine / WALKSPEEDVALUE)*math.rad(TiltVelocity.x)*5.5), Rad(0), Rad(hee * Cos(sine / WALKSPEEDVALUE)) + 0 + Sin(sine / WALKSPEEDVALUE) / 2.5 * -Rad(TiltVelocity.z) * 10) * CFrame.new(0, -0.025 * Cos(sine / 12), 0), 0.3)
- clerp(RS, RSnor * CFrame.new(0, -0.05, 0) * CFrame.Angles(Rad(0), Rad(0), Rad(90)) * CFrame.Angles(Rad(0), Rad(-90), 0) * (CFrame.new(Vector3.new(),tframe:vectorToObjectSpace(taim))*CFrame.Angles(0,math.pi/2,0)), 0.3)
- clerp(LS, LSnor * CFrame.new(-0.35, -0.05, -1) * CFrame.Angles(Rad(0), Rad(-75), Rad(-90)) * CFrame.Angles(Rad(0), Rad(90), 0) * CFrame.new(-1, 0, 0) * (CFrame.new(Vector3.new(),tframe:vectorToObjectSpace(taim))*CFrame.Angles(0,math.pi/2,0)), 0.3)
- elseif attack == true and movelegs == true then
- clerp(RH, RHnor * CFrame.new(0 + 0.025 * Sin(sine / (WALKSPEEDVALUE / 1)), 0.05 + 0.1 * Sin(sine / (WALKSPEEDVALUE / 2)), 0) * CFrame.Angles(Rad(0 - 25 * math.sin(sine / WALKSPEEDVALUE)*math.rad(TiltVelocity.x)*5.5), Rad(0), Rad(hee * Cos(sine / WALKSPEEDVALUE)) + 0 + Sin(sine / WALKSPEEDVALUE) / 2.5 * -Rad(TiltVelocity.z) * 10) * CFrame.new(0, -0.025 * Cos(sine / 12), 0), 0.3)
- clerp(LH, LHnor * CFrame.new(0 + 0.025 * Sin(sine / (WALKSPEEDVALUE / 1)), 0.05 + 0.1 * Sin(sine / (WALKSPEEDVALUE / 2)), 0) * CFrame.Angles(Rad(0 - 25 * math.sin(sine / WALKSPEEDVALUE)*math.rad(TiltVelocity.x)*5.5), Rad(0), Rad(hee * Cos(sine / WALKSPEEDVALUE)) + 0 + Sin(sine / WALKSPEEDVALUE) / 2.5 * -Rad(TiltVelocity.z) * 10) * CFrame.new(0, -0.025 * Cos(sine / 12), 0), 0.3)
- end
- elseif torsverticalvel > 0.05 and hitfloor == nil then
- anim = "Jump"
- if attack == false then
- sped = 16
- clerp(rootj, rootjnor * CFrame.new(0, 0, 0.1 * Cos(sine / (WALKSPEEDVALUE + 15))) * CFrame.Angles(Rad(5), 0, 0), 0.3)
- clerp(neck, necknor * CFrame.Angles(Rad(-5), 0, 0), 0.3)
- clerp(RH, RHnor * CFrame.Angles(Rad(-6), Rad(-15), Rad(-20)) * CFrame.new(0, -0.1 * Cos(sine / (WALKSPEEDVALUE + 15)), 0), 0.3)
- clerp(LH, LHnor * CFrame.Angles(Rad(-6), Rad(15), Rad(20)) * CFrame.new(0, -0.1 * Cos(sine / (WALKSPEEDVALUE + 15)), 0), 0.3)
- clerp(RS, RSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(20 + 6 * math.sin(sine / 12)), 0, Rad(160)), 0.3)
- clerp(LS, LSnor * CFrame.new(0, 0, 0) * CFrame.Angles(Rad(20 + 6 * math.sin(sine / 12)), 0, Rad(-160)), 0.3)
- end
- elseif torsverticalvel < 0.05 and hitfloor == nil then
- anim = "Fall"
- if attack == false then
- sped = 16
- clerp(rootj, rootjnor * CFrame.new(0, 0, 0.1 * Cos(sine / 12)) * CFrame.Angles(Rad(-5), 0, 0), 0.3)
- clerp(neck, necknor * CFrame.Angles(Rad(25), 0, 0), 0.3)
- clerp(RH, RHnor * CFrame.Angles(Rad(-6), Rad(-15), Rad(25)) * CFrame.new(0, -0.1 * Cos(sine / 12), 0), 0.3)
- clerp(LH, LHnor * CFrame.Angles(Rad(-6), Rad(15), Rad(-25)) * CFrame.new(0, -0.1 * Cos(sine / 12), 0), 0.3)
- clerp(RS, RSnor * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, Rad(35)), 0.3)
- clerp(LS, LSnor * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, Rad(-35)), 0.3)
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement