Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --https://github.com/Mokiros/roblox-FE-compatibility
- 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("FE Compatibility code by Mokiros")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 --//Harley Quinn created by WaverlyCole
- player = game:service'Players'.LocalPlayer
- mouse = player:GetMouse()
- char = player.Character
- humanoid = char.Humanoid
- rootpart = char.HumanoidRootPart
- torso = char.Torso
- hitdbtime = .5
- --//Joints
- N=torso:FindFirstChild("Neck")
- RS=torso:FindFirstChild("Right Shoulder")
- LS=torso:FindFirstChild("Left Shoulder")
- RH=torso:FindFirstChild("Right Hip")
- LH=torso:FindFirstChild("Left Hip")
- RJ=rootpart:FindFirstChild("RootJoint")
- --//Default C0's
- NC0=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- RSC0=CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- LSC0=CFrame.new(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- RHC0=CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- LHC0=CFrame.new(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- RJC0=CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- --//Cheats
- cframe = CFrame.new
- angle = CFrame.Angles
- radian = math.rad
- random = math.random
- --//Variables
- local idle,walk,fall,jump = false,false,false,false
- local jumpcheck = false
- local specialanim = nil
- --//Functions
- local function weldBetween(a, b)
- local weld = Instance.new("ManualWeld")
- weld.Part0 = a
- weld.Part1 = b
- weld.C0 = CFrame.new()
- weld.C1 = b.CFrame:inverse() * a.CFrame
- weld.Parent = a
- return weld;
- end
- local animate = function(joint,prop,cfrmz,alp)
- joint[prop]=joint[prop]:lerp(cfrmz,alp)
- end
- --//Harley Quinn created by WaverlyCole
- local movedb,hitting = false,false
- local keyDown = function(key)
- if movedb then return end
- if key == 'q' then
- movedb = true
- char.Humanoid.WalkSpeed = 0
- specialanim = function()
- animate(N,'C0',NC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.1)
- animate(RS,'C0',RSC0*cframe(0,0,0)*angle(radian(0),radian(-90),radian(90 + math.sin(tick()*2)*5)),0.1)
- animate(LS,'C0',LSC0*cframe(0,0,-.5)*angle(radian(0),radian(-30),radian(-90 + math.sin(tick()*2)*-5)),0.1)
- animate(RH,'C0',RHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.1)
- animate(LH,'C0',LHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.1)
- animate(RJ,'C0',RJC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(-50)),0.1)
- animate(BATWELD,'C0',BATC0*cframe(-1.5,-1.5,0)*angle(radian(0),radian(0),radian(90)),0.5)
- end
- wait(.5)
- hitting = true
- specialanim = function()
- animate(N,'C0',NC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RS,'C0',RSC0*cframe(0,0,-.5)*angle(radian(0),radian(20),radian(90 + math.sin(tick()*2)*5)),0.3)
- animate(LS,'C0',LSC0*cframe(0,0,-.5)*angle(radian(0),radian(-45),radian(-90 + math.sin(tick()*2)*-5)),0.3)
- animate(RH,'C0',RHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(LH,'C0',LHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RJ,'C0',RJC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(90)),0.3)
- animate(BATWELD,'C0',BATC0*cframe(-1.5,-2,0)*angle(radian(90),radian(0),radian(100)),0.3)
- end
- wait(.5)
- specialanim = nil
- hitting = false
- movedb = false
- char.Humanoid.WalkSpeed = 20
- elseif key =='e' then
- hitdbtime = .01
- movedb = true
- hitting = true
- char.Humanoid.WalkSpeed = 0
- for i = 1,360,20 do
- specialanim = function()
- animate(N,'C0',NC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RS,'C0',RSC0*cframe(0,0,-.5)*angle(radian(0),radian(20),radian(90 + math.sin(tick()*2)*5)),0.3)
- animate(LS,'C0',LSC0*cframe(0,0,-.5)*angle(radian(0),radian(-45),radian(-90 + math.sin(tick()*2)*-5)),0.3)
- animate(RH,'C0',RHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(LH,'C0',LHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RJ,'C0',RJC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(i)),0.3)
- animate(BATWELD,'C0',BATC0*cframe(-1.5,-2,0)*angle(radian(90),radian(0),radian(100)),0.3)
- end
- game:service'RunService'.RenderStepped:wait()
- end
- movedb = false
- hitting = false
- hitdbtime = .5
- specialanim = nil
- char.Humanoid.WalkSpeed = 20
- elseif key == 'f' then
- movedb = true
- char.Humanoid.WalkSpeed = 0
- specialanim = function()
- animate(N,'C0',NC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RS,'C0',RSC0*cframe(0,0,0)*angle(radian(0),radian(-10),radian(60 + math.sin(tick()*2)*5)),0.3)
- animate(LS,'C0',LSC0*cframe(0,0,0)*angle(radian(10),radian(0),radian(0)),0.1)
- animate(RH,'C0',RHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(LH,'C0',LHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RJ,'C0',RJC0*cframe(0,0,0)*angle(radian(0),radian(math.sin(tick()*(char.Humanoid.WalkSpeed/2))/3),radian(0)),0.3)
- animate(BATWELD,'C0',BATC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- end
- wait(.2)
- local ball = Instance.new'Part'
- local ballmesh = Instance.new('SpecialMesh',ball)
- ballmesh.MeshId = 'http://www.roblox.com/asset/?id=55021861'
- ballmesh.TextureId = 'http://www.roblox.com/asset/?id=188135984'
- ballmesh.Scale = Vector3.new(3,3,3)
- ball.Shape = 'Ball'
- ball.Size = Vector3.new(1,1,1)
- ball.CanCollide = false
- ball.CFrame = char['Left Arm'].CFrame * CFrame.new(0,-1,0)
- ball.Parent = char
- local ballweld = weldBetween(ball,char['Left Arm'])
- specialanim = function()
- animate(N,'C0',NC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RS,'C0',RSC0*cframe(0,0,0)*angle(radian(0),radian(-10),radian(60 + math.sin(tick()*2)*5)),0.3)
- animate(LS,'C0',LSC0*cframe(0,0,0)*angle(radian(-30),radian(0),radian(0)),0.1)
- animate(RH,'C0',RHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(LH,'C0',LHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RJ,'C0',RJC0*cframe(0,0,0)*angle(radian(0),radian(math.sin(tick()*(char.Humanoid.WalkSpeed/2))/3),radian(0)),0.3)
- animate(BATWELD,'C0',BATC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- end
- wait(.1)
- specialanim = function()
- animate(N,'C0',NC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RS,'C0',RSC0*cframe(0,0,0)*angle(radian(0),radian(-10),radian(60 + math.sin(tick()*2)*5)),0.3)
- animate(LS,'C0',LSC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(-85)),0.5)
- animate(RH,'C0',RHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(LH,'C0',LHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RJ,'C0',RJC0*cframe(0,0,0)*angle(radian(0),radian(math.sin(tick()*(char.Humanoid.WalkSpeed/2))/3),radian(0)),0.3)
- animate(BATWELD,'C0',BATC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- end
- wait(.1)
- ballweld:Destroy()
- ball.Anchored = true
- spawn(function()
- for i = 1,20 do
- ball.CFrame = ball.CFrame * CFrame.new(.1,-.1,0)
- game:service'RunService'.RenderStepped:wait()
- end
- end)
- wait(.1)
- specialanim = function()
- animate(N,'C0',NC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.1)
- animate(RS,'C0',RSC0*cframe(0,0,0)*angle(radian(0),radian(-90),radian(90 + math.sin(tick()*2)*5)),0.1)
- animate(LS,'C0',LSC0*cframe(0,0,-.5)*angle(radian(0),radian(-20),radian(-90)),0.1)
- animate(RH,'C0',RHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.1)
- animate(LH,'C0',LHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.1)
- animate(RJ,'C0',RJC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(-50)),0.1)
- animate(BATWELD,'C0',BATC0*cframe(-1.5,-1.5,0)*angle(radian(0),radian(0),radian(90)),0.5)
- end
- wait(.2)
- specialanim = function()
- animate(N,'C0',NC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RS,'C0',RSC0*cframe(0,0,-.5)*angle(radian(0),radian(20),radian(90 + math.sin(tick()*2)*5)),0.3)
- animate(LS,'C0',LSC0*cframe(0,0,-.5)*angle(radian(0),radian(-45),radian(-90 + math.sin(tick()*2)*-5)),0.3)
- animate(RH,'C0',RHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(LH,'C0',LHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RJ,'C0',RJC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(90)),0.3)
- animate(BATWELD,'C0',BATC0*cframe(-1.5,-2,0)*angle(radian(90),radian(0),radian(100)),0.3)
- end
- local force = Instance.new('BodyForce',ball)
- force.Force = CFrame.new(ball.CFrame.p,mouse.Hit.p).lookVector*200 + Vector3.new(0,60,0)
- batsound.TimePosition = .7
- batsound:Play()
- ball.Anchored=false
- ball.Touched:connect(function(ob)
- if ob.Name ~= 'Base' and not ob:IsDescendantOf(char) then
- ob:Destroy()
- ball:Destroy()
- end
- end)
- wait(.5)
- movedb = false
- specialanim = nil
- char.Humanoid.WalkSpeed = 20
- elseif key == 'c' then
- movedb = true
- char.Humanoid.WalkSpeed = 0
- end
- end
- --//Movement
- game:service'RunService'.RenderStepped:connect(function()
- if rootpart.Velocity.y < -1 and not idle then
- idle,walk,fall,jump = false,false,true,false
- elseif jumpcheck then
- idle,walk,fall,jump = false,false,false,true
- elseif humanoid.MoveDirection ~= Vector3.new(0,0,0) then
- idle,walk,fall,jump = false,true,false,false
- elseif humanoid.MoveDirection == Vector3.new(0,0,0) then
- idle,walk,fall,jump = true,false,false,false
- end
- end)
- --//Harley Quinn created by WaverlyCole
- humanoid.StateChanged:connect(function(state)
- if state == Enum.HumanoidStateType.Jumping then
- jumpcheck = true
- else
- jumpcheck = false
- end
- end)
- --//Animate
- char.Animate.Disabled = true
- humanoid.Animator:Destroy()
- local playAnimation = coroutine.wrap(function()
- while true do
- game:service'RunService'.RenderStepped:wait()
- if specialanim then
- specialanim()
- elseif idle then
- animate(N,'C0',NC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RS,'C0',RSC0*cframe(.6,0,-.5)*angle(radian(40),radian(-40),radian(20 + math.sin(tick()*2)*1)),0.3)
- animate(LS,'C0',LSC0*cframe(0,0,-.7)*angle(radian(0),radian(-40),radian(-20 + math.sin(tick()*2)*1)),0.3)
- animate(RH,'C0',RHC0*cframe(0,0,0)*angle(radian(-1 + math.sin(tick()))*5,radian(0),radian(0)),0.3)
- animate(LH,'C0',LHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RJ,'C0',RJC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(BATWELD,'C0',BATC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- elseif walk then
- animate(N,'C0',NC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RS,'C0',RSC0*cframe(0,0,-.5)*angle(radian(0),radian(5),radian(60 + math.sin(tick()*2)*5)),0.3)
- animate(LS,'C0',LSC0*cframe(0,0,-.8)*angle(radian(0),radian(-50),radian(-60 + math.sin(tick()*2)*-5)),0.3)
- animate(RH,'C0',RHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(math.sin(tick()*(char.Humanoid.WalkSpeed/2))*40)),0.3)
- animate(LH,'C0',LHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(math.sin(tick()*-(char.Humanoid.WalkSpeed/2))*-40)),0.3)
- animate(RJ,'C0',RJC0*cframe(0,0,0)*angle(radian(0),radian(math.sin(tick()*(char.Humanoid.WalkSpeed/2))/3),radian(0)),0.3)
- animate(BATWELD,'C0',BATC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- elseif fall then
- animate(N,'C0',NC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RS,'C0',RSC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(LS,'C0',LSC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RH,'C0',RHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(LH,'C0',LHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RJ,'C0',RJC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(BATWELD,'C0',BATC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- elseif jump then
- animate(N,'C0',NC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RS,'C0',RSC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(LS,'C0',LSC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RH,'C0',RHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(LH,'C0',LHC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(RJ,'C0',RJC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- animate(BATWELD,'C0',BATC0*cframe(0,0,0)*angle(radian(0),radian(0),radian(0)),0.3)
- end
- end
- end)
- --//Outfit
- repeat wait() until char:FindFirstChild'Pants'
- char.Pants.PantsTemplate = 'http://www.roblox.com/asset/?id=476061531'
- char.Shirt.ShirtTemplate = 'http://www.roblox.com/asset/?id=476061468'
- char.Head.face.Texture = 'http://www.roblox.com/asset/?id=519345419'
- for i,v in pairs(char:children()) do
- if v:IsA'Accessory' then
- v:Destroy()
- end
- end
- hair = Instance.new('Part')
- local mesh = Instance.new('SpecialMesh',hair)
- mesh.MeshId = 'rbxassetid://443042960'
- mesh.Scale = Vector3.new(0.032, 0.032, 0.032)
- mesh.TextureId = 'http://www.roblox.com/asset/?id=442391693'
- hair.Size = Vector3.new(.1,.1,.1)
- hair.CanCollide=false
- hair.CFrame = char.Head.CFrame * CFrame.Angles(0,math.rad(180),0) * CFrame.new(0,-.8,.4)
- hair.Parent=char.Head
- weldBetween(hair,char.Head)
- bat = Instance.new('Part')
- batmesh = Instance.new('SpecialMesh',bat)
- batmesh.MeshId = 'rbxassetid://491941089'
- batmesh.Scale = Vector3.new(0.032, 0.02, 0.032)
- batmesh.TextureId = 'rbxassetid://491941393'
- bat.Size = Vector3.new(.4,4,.4)
- bat.CanCollide=false
- bat.CFrame = char['Right Arm'].CFrame * CFrame.Angles(math.rad(-90),0,0) * CFrame.new(0,1.5,-1)
- bat.Parent = char
- local weld = weldBetween(bat,char['Right Arm'])
- BATC0 = weld.C0
- BATWELD = weld
- batsound = Instance.new('Sound',bat)
- batsound.SoundId = 'rbxassetid://724537174'
- batsound.Volume = 10
- batsound.Pitch = .8
- char.Humanoid.WalkSpeed = 20
- --//Harley Quinn created by WaverlyCole
- playAnimation()
- local db = false
- bat.Touched:connect(function(obj)
- local direction = CFrame.new(bat.CFrame.p,obj.CFrame.p)
- if obj.Name == 'HumanoidRootPart' or obj.Name == 'Base' then return end
- if not hitting or db then return end
- if not obj:IsDescendantOf(char) then
- print('hit '..obj.Name)
- db = true
- obj:BreakJoints()
- obj.Anchored=false
- local force = Instance.new('BodyForce',obj)
- force.Force = bat.CFrame.lookVector*500+Vector3.new(0,100,0)
- batsound.TimePosition = .7
- batsound:Play()
- wait(hitdbtime)
- force:Destroy()
- db = false
- end
- end)
- --//Harley Quinn created by WaverlyCole
- mouse.KeyDown:connect(keyDown)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement