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,game,owner = owner,game
- local RealPlayer = Player
- do print("FE Compatibility code V2 by Mokiros")local RealPlayer=RealPlayer;script.Parent=RealPlayer.Character;local a=function(b)b[1].f[b[2]]=nil end;local c={__index={disconnect=a,Disconnect=a}}local d={__index={Connect=function(b,e)local f=tostring(math.random(0,10000))while b.f[f]do f=tostring(math.random(0,10000))end;b.f[f]=e;return setmetatable({b,f},c)end}}d.__index.connect=d.__index.Connect;local function g()return setmetatable({f={}},d)end;local h={Hit=CFrame.new(),KeyUp=g(),KeyDown=g(),Button1Up=g(),Button1Down=g(),Button2Up=g(),Button2Down=g()}h.keyUp=h.KeyUp;h.keyDown=h.KeyDown;local i={InputBegan=g(),InputEnded=g()}local CAS={Actions={},BindAction=function(self,j,k,l,...)CAS.Actions[j]=k and{Name=j,Function=k,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function m(self,n,...)for o,e in pairs(self[n].f)do e(...)end end;h.T=m;i.T=m;local p=Instance.new("RemoteEvent")p.Name="UserInput_Event"p.OnServerEvent:Connect(function(q,r)if q~=RealPlayer then return end;h.Target=r.e;h.Hit=r.d;if not r.f then local s=r.c==Enum.UserInputState.Begin;if r.b==Enum.UserInputType.MouseButton1 then return h:T(s and"Button1Down"or"Button1Up")end;if r.b==Enum.UserInputType.MouseButton2 then return h:T(s and"Button2Down"or"Button2Up")end;for o,t in pairs(CAS.Actions)do for o,u in pairs(t.Keys)do if u==r.a then t.Function(t.Name,r.c,r)end end end;h:T(s and"KeyDown"or"KeyUp",r.a.Name:lower())i:T(s and"InputBegan"or"InputEnded",r,false)end end)p.Parent=NLS([==[local a=script:WaitForChild("UserInput_Event")local b=owner:GetMouse()local c=game:GetService("UserInputService")local d=function(e,f)if f then return end;a:FireServer({a=e.KeyCode,b=e.UserInputType,c=e.UserInputState,d=b.Hit,e=b.Target})end;c.InputBegan:Connect(d)c.InputEnded:Connect(d)local g,h;local i=game:GetService("RunService").Heartbeat;while true do if g~=b.Hit or h~=b.Target then g,h=b.Hit,b.Target;a:FireServer({f=1,Target=h,d=g})end;for j=1,2 do i:Wait()end end]==],script)local v=game;local w={__index=function(self,u)local x=rawget(self,"_RealService")if x then return typeof(x[u])=="function"and function(o,...)return x[u](x,...)end or x[u]end end,__newindex=function(self,u,y)local x=rawget(self,"_RealService")if x then x[u]=y end end}local function z(t,A)t._RealService=typeof(A)=="string"and v:GetService(A)or A;return setmetatable(t,w)end;local B={GetService=function(self,x)return rawget(self,x)or v:GetService(x)end,Players=z({LocalPlayer=z({GetMouse=function(self)return h end},Player)},"Players"),UserInputService=z(i,"UserInputService"),ContextActionService=z(CAS,"ContextActionService"),RunService=z({_btrs={},RenderStepped=v:GetService("RunService").Heartbeat,BindToRenderStep=function(self,j,o,k)self._btrs[j]=self.Heartbeat:Connect(k)end,UnbindFromRenderStep=function(self,j)self._btrs[j]:Disconnect()end},"RunService")}rawset(B.Players,"localPlayer",B.Players.LocalPlayer)B.service=B.GetService;z(B,game)game,owner=B,B.Players.LocalPlayer end
- local Player = game:GetService("Players").LocalPlayer
- Character=Player.Character
- Torso=Character.Torso
- Head = Character.Head
- LeftArm=Character["Left Arm"]
- LeftLeg=Character["Left Leg"]
- RightArm=Character["Right Arm"]
- RightLeg=Character["Right Leg"]
- LS=Torso["Left Shoulder"]
- LH=Torso["Left Hip"]
- RS=Torso["Right Shoulder"]
- RH=Torso["Right Hip"]
- Neck=Torso.Neck
- local idle=0
- local Anim="Idle"
- attack=false
- vt=Vector3.new
- cf=CFrame.new
- euler=CFrame.fromEulerAnglesXYZ
- angles=CFrame.Angles
- cloaked=false
- necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- necko2=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0)
- LHC1=cf(-0.5,1,0,-0,-0,-1,0,1,0,1,0,0)
- RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0)
- RHC1=cf(0.5,1,0,0,0,1,0,1,0,-1,-0,-0)
- RootPart=Character.HumanoidRootPart
- RootJoint=RootPart.RootJoint
- RootCF=euler(-1.57,0,3.14)
- mouse=Player:GetMouse()
- it = Instance.new
- euler=CFrame.fromEulerAnglesXYZ
- angles=CFrame.Angles
- local RbxUtility = LoadLibrary("RbxUtility")
- local Create = RbxUtility.Create
- local m = Create("Model"){
- Parent = Character,
- Name = "WeaponModel",
- }
- function nooutline(part)
- part.TopSurface,part.BottomSurface,part.LeftSurface,part.RightSurface,part.FrontSurface,part.BackSurface = 10,10,10,10,10,10
- end
- function part(formfactor,parent,material,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.new(tostring(brickcolor))
- fp.Name=name
- fp.Size=size
- fp.Position=Character.Torso.Position
- nooutline(fp)
- fp.Material=material
- fp:BreakJoints()
- return fp
- end
- function mesh(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
- function weld(parent,part0,part1,c0,c1)
- local weld=it("Weld")
- weld.Parent=parent
- weld.Part0=part0
- weld.Part1=part1
- weld.C0=c0
- weld.C1=c1
- return weld
- end
- local modeloe=Instance.new("Model")
- modeloe.Parent=Character
- modeloe.Name="Shotgun"
- Part=part(Enum.FormFactor.Custom,m,Enum.Material.Neon,0,0,("Black"),"Part",Vector3.new(1, 1, -10)) -- forward, up, left, rotation?, angle up,
- Partweld=weld(m,Part2,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(3,0,-0,-1,-1,-1,0,10,0,0,0,1))
- shotgun=mesh("SpecialMesh",Part,Enum.MeshType.FileMesh,"http://www.roblox.com/Asset/?id=2166741820",Vector3.new(0,0,0),Vector3.new(2.01, 2.01,2.01))
- Part2=part(Enum.FormFactor.Custom,m,Enum.Material.Neon,0,0,("Dark blue"),"Part",Vector3.new(1, 0, -2)) -- forward, up, left, rotation?, angle up,
- firePiece=weld(m,Character["Torso"],Part2,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1,0,-0,-1,-0,-1,0,1,0,0,0,1))
- --------------------------------
- local Weld = Instance.new("Weld")
- Weld.Part0 = Torso
- Weld.Part1 = Part
- Weld.Parent = Torso
- local RA = Character["Right Arm"]
- local Part0Joint = CFrame.new(Vector3.new(1,8.75,0)*1.25)
- local Part1Joint = CFrame.new(Vector3.new(-0.5,0.75,0)*1.25)
- local RotationOffset = CFrame.Angles(math.rad(360),math.rad(0),0)
- local Gangster = false
- local Part0JointHead = CFrame.new(Vector3.new(0,1,0)*1.25)
- local Part1JointHead = CFrame.new(Vector3.new(0,-0.5,0)*1.25)
- local RotationOffsetHead = CFrame.Angles(0,0,0)
- game:GetService("RunService"):BindToRenderStep("Shotgun",Enum.RenderPriority.Character.Value,function()
- local Point = Torso.CFrame:vectorToObjectSpace(mouse.Hit.p-Torso.CFrame.p)
- if Point.Z > 0 then
- if Point.X > 0 then
- Torso.CFrame = CFrame.new(Torso.Position,Vector3.new(mouse.Hit.X,Torso.Position.Y,mouse.Hit.Z))*CFrame.Angles(0,math.rad(90),0)
- elseif Point.X < 0 then
- Torso.CFrame = CFrame.new(Torso.Position,Vector3.new(mouse.Hit.X,Torso.Position.Y,mouse.Hit.Z))*CFrame.Angles(0,math.rad(-90),0)
- end
- end
- local CFr = (Torso.CFrame*Part0Joint):toObjectSpace(CFrame.new((Torso.CFrame*Part0Joint).p,mouse.Hit.p))--RayEnd))
- Weld.C0 = Part0Joint * (CFr-CFr.p) * RotationOffset
- Weld.C1 = Part1Joint
- Weld.Part0 = Torso
- Weld.Part1 = Part
- end)
- -------------------------------------
- function Fire2()
- attack = true
- for i = 1,5 do
- LaserBarrage(shotgun.Parent) --(CFrame.new(0,-5,-5.5,-10,-0,-1,0,1,0,0,0,1))
- CreateSound("rbxassetid://3074576931", Head, 3, 0.8)
- end
- wait(1.5)
- attack = false
- end
- mouse.KeyDown:connect(function(k)
- k = k:lower()
- if k == "g" and attack==false then
- Fire2()
- end
- end)
- function swait(num)
- if num==0 or num==nil then
- game:service'RunService'.Heartbeat:wait(0)
- else
- for i=0,num do
- game:service'RunService'.Heartbeat:wait(0)
- end
- end
- end
- function CreateSound(id, par, vol, pit)
- coroutine.resume(coroutine.create(function()
- local sou = Create("Sound"){
- Parent = par or workspace,
- Volume = vol,
- Pitch = pit or 1,
- SoundId = id,
- }
- wait()
- sou:play()
- end))
- end
- function LaserBarrage(Prt,Parent)
- --attack=true
- local efprt=part(3,Parent,"Neon",0,0.5,BrickColor.new("Bright green"),"Effect",vt(0.2,0.2,0.2))
- efprt.Anchored=true
- local efmsh=mesh("CylinderMesh",efprt,"","",vt(0,0,0),vt(1,1,1))
- local spread=vt((math.random(-1,0)+math.random())*7,(math.random(-1,0)+math.random())*7,(math.random(-1,0)+math.random())*7)*(Prt.Position-mouse.Hit.p).magnitude/40
- coroutine.resume(coroutine.create(function(Part,Mesh,Spreaded)
- game:GetService("Debris"):AddItem(Part,6)
- local TheHit=mouse.Hit.p
- local MouseLook=cf((Prt.Position+TheHit)/2,TheHit+Spreaded/16)
- local hit,pos = rayCast(Prt.Position,MouseLook.lookVector,1000,Parent)
- local tefprt=part(3,workspace,"Neon",0,1,BrickColor.new("Black"),"Effect",vt(0.2,0.2,0.2))
- tefprt.CFrame=cf(pos)
- MagicCircle(BrickColor.new("Neon orange"),cf(pos),0.5,0.5,0.5,0.5,0.5,0.5,0.04)
- game:GetService("Debris"):AddItem(tefprt,3)
- Part.CFrame=CFrame.new((Prt.Position+pos)/2,pos)*angles(1.57,0,0)
- if(hit.Parent:FindFirstChild("Humanoid")~= nil)then
- if hit.Parent:FindFirstChild("Humanoid") ~= nil and hit.Name ~= "Base" and hit.Parent.Name ~= Player.Name then
- hit.Parent.Humanoid:TakeDamage(1000)
- hit.Parent.Humanoid:Destroy()
- end
- end
- local mag=(Prt.Position-pos).magnitude
- MagicCylinder(BrickColor.new("White"),Part.CFrame,1,mag*5,0.5,0.05,0,0.5,0.05)
- Part.Parent=nil
- end),efprt,efmsh,spread)
- end
- so = function(id,par,vol,pit)
- coroutine.resume(coroutine.create(function()
- local sou = Instance.new("Sound",par or workspace)
- sou.Volume=vol
- sou.Pitch=pit or 1
- sou.SoundId=id
- swait()
- sou:play()
- game:GetService("Debris"):AddItem(sou,6)
- end))
- end
- function MagicCylinder(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,workspace,"Neon",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,2)
- coroutine.resume(coroutine.create(function(Part,Mesh)
- for i=0,1,delay do
- swait()
- Part.CFrame=Part.CFrame
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent=nil
- end),prt,msh)
- end
- function MagicCircle(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
- local prt=part(3,workspace,"Neon",0,0,brickcolor,"Effect",vt(0.5,0.5,0.5))
- prt.Anchored=true
- prt.CFrame=cframe
- prt.CanCollide = false
- msh=mesh("SpecialMesh",prt,"Sphere","",vt(0,0,0),vt(x1,y1,z1))
- game:GetService("Debris"):AddItem(prt,2)
- coroutine.resume(coroutine.create(function(Part,Mesh)
- for i=0,1,delay do
- swait()
- Part.CFrame=Part.CFrame
- Part.Transparency=i
- Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
- end
- Part.Parent=nil
- end),prt,msh)
- end
- function rayCast(Pos, Dir, Max, Ignore)
- return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
- end
Advertisement
Add Comment
Please, Sign In to add comment