Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if game:GetService("RunService"):IsClient()then error("Please run as a server script. Use h/ instead of hl/.")end;print("FE Compatibility: by WaverlyCole");InternalData = {}
- do
- script.Parent = owner.Character
- local Event = Instance.new("RemoteEvent");Event.Name = "UserInput"
- local function NewFakeEvent()
- local Bind = Instance.new("BindableEvent")
- local Fake;Fake = {Connections = {},
- fakeEvent=true;
- Connect=function(self,Func)
- Bind.Event:connect(Func)
- self.Connections[Bind] = true
- return setmetatable({Connected = true},{
- __index = function (self,Index)
- if Index:lower() == "disconnect" then
- return function() Fake.Connections[Bind] = false;self.Connected = false end
- end
- return Fake[Index]
- end;
- __tostring = function() return "Connection" end;
- })
- end}
- Fake.connect = Fake.Connect;return Fake;
- end
- local Mouse = {Target=nil,Hit=CFrame.new(),KeyUp=NewFakeEvent(),KeyDown=NewFakeEvent(),Button1Up=NewFakeEvent(),Button1Down=NewFakeEvent()}
- local UserInputService = {InputBegan=NewFakeEvent(),InputEnded=NewFakeEvent()}
- local ContextActionService = {Actions={},BindAction = function(self,actionName,Func,touch,...)
- self.Actions[actionName] = Func and {Name=actionName,Function=Func,Keys={...}} or nil
- end};ContextActionService.UnBindAction = ContextActionService.BindAction
- local function TriggerEvent(self,Event,...)
- local Trigger = Mouse[Event]
- if Trigger and Trigger.fakeEvent and Trigger.Connections then
- for Connection,Active in pairs(Trigger.Connections) do if Active then Connection:Fire(...) end end
- end
- end
- Mouse.TrigEvent = TriggerEvent;UserInputService.TrigEvent = TriggerEvent
- Event.OnServerEvent:Connect(function(FiredBy,Input)
- if FiredBy.Name ~= owner.Name then return end
- if Input.MouseEvent then
- Mouse.Target = Input.Target;Mouse.Hit = Input.Hit
- else
- local Begin = Input.UserInputState == Enum.UserInputState.Begin
- if Input.UserInputType == Enum.UserInputType.MouseButton1 then return Mouse:TrigEvent(Begin and "Button1Down" or "Button1Up") end
- for _,Action in pairs(ContextActionService.Actions) do
- for _,Key in pairs(Action.Keys) do if Key==Input.KeyCode then Action.Function(Action.Name,Input.UserInputState,Input) end end
- end
- Mouse:TrigEvent(Begin and "KeyDown" or "KeyUp",Input.KeyCode.Name:lower())
- UserInputService:TrigEvent(Begin and "InputBegan" or "InputEnded",Input,false)
- end
- end)
- InternalData["Mouse"] = Mouse;InternalData["ContextActionService"] = ContextActionService;InternalData["UserInputService"] = UserInputService
- Event.Parent = NLS([[
- local Player = owner;local Event = script:WaitForChild("UserInput");local UserInputService = game:GetService("UserInputService");local Mouse = Player:GetMouse()
- local Input = function(Input,gameProcessedEvent)
- if gameProcessedEvent then return end
- Event:FireServer({KeyCode=Input.KeyCode,UserInputType=Input.UserInputType,UserInputState=Input.UserInputState})
- end
- UserInputService.InputBegan:Connect(Input);UserInputService.InputEnded:Connect(Input)
- local Hit,Target
- while wait(1/30) do
- if Hit ~= Mouse.Hit or Target ~= Mouse.Target then
- Hit,Target = Mouse.Hit,Mouse.Target;Event:FireServer({["MouseEvent"]=true,["Target"]=Target,["Hit"]=Hit})
- end
- end
- ]],owner.Character)
- end
- RealGame = game;game = setmetatable({},{
- __index = function (self,Index)
- local Sandbox = function (Thing)
- if Thing:IsA("Player") then
- local RealPlayer = Thing
- return setmetatable({},{
- __index = function (self,Index)
- local Type = type(RealPlayer[Index])
- if Type == "function" then
- if Index:lower() == "getmouse" or Index:lower() == "mouse" then
- return function (self)return InternalData["Mouse"] end
- end
- return function (self,...)return RealPlayer[Index](RealPlayer,...) end
- end
- return RealPlayer[Index]
- end;
- __tostring = function(self) return RealPlayer.Name end
- })
- end
- end
- if RealGame[Index] then
- local Type = type(RealGame[Index])
- if Type == "function" then
- if Index:lower() == "getservice" or Index:lower() == "service" then
- return function (self,Service)
- local FakeServices = {
- ["players"] = function()
- return setmetatable({},{
- __index = function (self2,Index2)
- local RealService = RealGame:GetService(Service)
- local Type2 = type(Index2)
- if Type2 == "function" then
- return function (self,...) return RealService[Index2](RealService,...)end
- else
- if Index2:lower() == "localplayer" then return Sandbox(owner) end
- return RealService[Index2]
- end
- end;
- __tostring = function(self) return RealGame:GetService(Service).Name end
- })
- end;
- ["contextactionservice"] = function() return InternalData["ContextActionService"] end;
- ["userinputservice"] = function() return InternalData["UserInputService"] end;
- ["runservice"] = function()
- return setmetatable({},{
- __index = function(self2,Index2)
- local RealService = RealGame:GetService(Service)
- local Type2 = type(Index2)
- if Type2 == "function" then
- return function (self,...) return RealService[Index2](RealService,...) end
- else
- local RunServices = {
- ["bindtorenderstep"] = function() return function (self,Name,Priority,Function) return RealGame:GetService("RunService").Stepped:Connect(Function) end end;
- ["renderstepped"] = function() return RealService["Stepped"] end
- }
- if RunServices[Index2:lower()] then return RunServices[Index2:lower()]() end
- return RealService[Index2]
- end
- end
- })
- end
- }
- if FakeServices[Service:lower()] then return FakeServices[Service:lower()]() end
- return RealGame:GetService(Service)
- end
- end
- return function (self,...) return RealGame[Index](RealGame,...) end
- else
- if game:GetService(Index) then return game:GetService(Index) end
- return RealGame[Index]
- end
- end
- return nil
- end
- });Game = game;owner = game:GetService("Players").LocalPlayer;script = Instance.new("Script");print("Complete! Running...")
- --
- --by SazErenos i think
- wait(.2)
- vPlayer=owner
- Tool=script.Parent
- --if script.Parent.className~="Tool" then
- Tool=Instance.new("Tool")
- Tool.Name="Tea"
- Tool.Parent=vPlayer.Backpack
- Handle=Instance.new("Part")
- Handle.Size=Vector3.new(2.6,2.6,2.6)
- Handle.TopSurface=0
- Handle.BottomSurface=0
- Handle.Name="Handle"
- Handle.formFactor="Custom"
- Handle.Parent=Tool
- Handle.BrickColor=BrickColor:White()
- Tool.GripRight=Vector3.new(0,0,1)
- Tool.GripPos=Vector3.new(-1.08,-.1,.1)
- m=Instance.new("SpecialMesh")
- m.MeshType="FileMesh"
- m.MeshId="http://www.roblox.com/asset/?id=1029523"
- m.Parent=Handle
- m.Scale=Vector3.new(.05,.05,.05)
- --script:clone().Parent=Tool
- script.Parent=Tool
- wait()
- --else
- Tool=script.Parent
- Mouse=vPlayer:GetMouse()
- deb=true
- onClick=function()
- if deb==false then
- return
- end
- deb=false
- e=0
- rs=vPlayer.Character["Torso"]["Right Shoulder"]
- s=Instance.new("Sound")
- s.SoundId="http://www.roblox.com/asset/?id=159257160"
- s.Volume=1
- s.Parent=Tool.Handle
- s:Play()
- game:GetService("Debris"):AddItem(s,5)
- wait(5)
- lolol=rs.C0
- for i=1, 4 do
- rs.C0=rs.C0*CFrame.fromEulerAnglesXYZ(0,0,math.rad(30))
- wait(.031)
- end
- s=Instance.new("Sound")
- s.Volume=1
- s.Parent=Tool.Handle
- s.Name="Throw"
- s.Pitch=.8
- s.SoundId="http://www.roblox.com/asset/?id=189505665"
- s:Play()
- game:GetService("Debris"):AddItem(s,5)
- for i=1, 2 do
- rs.C0=rs.C0*CFrame.fromEulerAnglesXYZ(0,0,-math.rad(30))
- wait(.031)
- end
- --throw
- hh=Tool.Handle:clone()
- dir=(hh.Position - owner.Hit.p).unit*-1
- Tool.Handle.Transparency=1
- hh.CanCollide=true
- hh.Parent=workspace
- hh.Velocity=dir*200+Vector3.new(0,5,0)
- ff=Instance.new("BodyForce")
- ff.force=Vector3.new(0,hh:GetMass()*140,0)
- ff.Parent=hh
- for i=1, 2 do
- rs.C0=rs.C0*CFrame.fromEulerAnglesXYZ(0,0,-math.rad(30))
- hh.Velocity=dir*330
- wait(.031)
- end
- hitdeb=true
- hh.Touched:connect(function(hit)
- if hit==nil or hitdeb==false then return end
- if hit.Parent==nil then return end
- if hit.Parent:FindFirstChild("Humanoid")~=nil and hh:FindFirstChild("Hit")==nil then
- if hit.Parent==owner then return end
- hitdeb=false
- hit.Anchored=true
- hh.Anchored=true
- s=Instance.new("Sound")
- s.Volume=1
- s.Parent=hit
- s.Name="Hit1"
- s.SoundId="http://www.roblox.com/asset/?id=167783266"
- s:Play()
- wait(.5)
- hit.Anchored=false
- hit.Parent:BreakJoints()
- s=Instance.new("Sound")
- s.Volume=1
- s.Parent=hh
- s.Name="Hit1"
- s.SoundId="http://www.roblox.com/asset/?id=168009623"
- s:Play()
- s=Instance.new("Sound")
- s.Volume=1
- s.Parent=hh
- s.Name="Hit2"
- s.SoundId="http://www.roblox.com/asset/?id=163680447"
- s:Play()
- s5=Instance.new("Sound")
- s5.Volume=1
- s5.Parent=hh
- s5.Name="Hit"
- s5.SoundId="http://www.roblox.com/asset/?id=138122923"
- s5.Pitch=.85
- s5:Play()
- e=Instance.new("Explosion",workspace)
- e.Position=hh.Position
- e.BlastPressure=e.BlastPressure*4
- for _,v in pairs(hit.Parent:children()) do
- if v:IsA("BasePart") then
- v.Velocity=(v.Position - hh.Position).unit * 90 + Vector3.new(math.random(-20,20),math.random(0,20),math.random(-20,20))
- v.RotVelocity=-v.Velocity * 1.2
- end
- end
- m=Instance.new("Model",workspace)
- m.Name="Illuminaughty"
- p=Instance.new("Part",m)
- p.Name="REK"
- p.TopSurface=0
- p.BottomSurface=0
- p.Anchored=true
- p.CanCollide=false
- p.Transparency=1
- p.CFrame=hh.CFrame
- b=Instance.new("BillboardGui",p)
- b.Size=UDim2.new(25,0,25,0)
- b.Adornee=p
- --ss=script.REKT:clone()
- --ss.Disabled=false
- --recentchar=b
- --ss.Parent=b
- partica(b)
- hh.Transparency=1
- for i=1, 20 do
- p=Instance.new("Part")
- p.TopSurface=0
- p.BottomSurface=0
- p.Name="Shard"
- p.CFrame=hh.CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)) + Vector3.new(math.random(-15,15)/10,math.random(-15,15)/10,math.random(-15,15)/10)
- p.BrickColor=hh.BrickColor
- p.CanCollide=false
- p.formFactor="Custom"
- p.Size=Vector3.new(.2,.2,.2)
- if math.random(1,3)==1 then
- m=Instance.new("BlockMesh")
- m.Scale=Vector3.new(math.random(10,15)/10,.2,math.random(10,15)/10)
- m.Parent=p
- else
- m=Instance.new("SpecialMesh")
- m.MeshType="Wedge"
- m.Scale=Vector3.new(math.random(10,15)/10,.2,math.random(10,15)/10)
- m.Parent=p
- end
- p.RotVelocity=Vector3.new(math.random(-50,50),math.random(-50,50),math.random(-50,50))
- p.Velocity=p.RotVelocity + Vector3.new(0,25,0) + hh.Velocity / 6
- p.Parent=workspace
- end
- hh.Anchored=true
- end
- if hit.Parent:FindFirstChild("Humanoid")==nil and hh:FindFirstChild("Hit")==nil and hit.CanCollide==true then
- hh.Transparency=1
- for i=1, 20 do
- p=Instance.new("Part")
- p.TopSurface=0
- p.BottomSurface=0
- p.Name="Shard"
- p.CFrame=hh.CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50,50),math.random(-50,50),math.random(-50,50)) + Vector3.new(math.random(-15,15)/10,math.random(-15,15)/10,math.random(-15,15)/10)
- p.BrickColor=hh.BrickColor
- p.CanCollide=false
- p.formFactor="Custom"
- p.Size=Vector3.new(.2,.2,.2)
- if math.random(1,3)==1 then
- m=Instance.new("BlockMesh")
- m.Scale=Vector3.new(math.random(10,15)/10,.2,math.random(10,15)/10)
- m.Parent=p
- else
- m=Instance.new("SpecialMesh")
- m.MeshType="Wedge"
- m.Scale=Vector3.new(math.random(10,15)/10,.2,math.random(10,15)/10)
- m.Parent=p
- end
- p.RotVelocity=Vector3.new(math.random(-50,50),math.random(-50,50),math.random(-50,50))
- p.Velocity=p.RotVelocity + Vector3.new(0,25,0) + hh.Velocity / 6
- p.Parent=workspace
- end
- for i=1, 4 do
- s5=Instance.new("Sound")
- s5.Volume=1
- s5.Parent=hh
- s5.Name="Hit"
- s5.SoundId="http://www.roblox.com/asset/?id=138122923"
- s5.Pitch=.85
- s5:Play()
- end
- hh.Anchored=true
- end
- end)
- game:GetService("Debris"):AddItem(hh,5)
- wait(4.33)
- Tool.Handle.Transparency=0
- deb=true
- end
- Tool.Activated:connect(onClick)
- --end
- partica=function(hit)
- wait()
- Images={
- "http://www.roblox.com/asset/?id=186565637",
- "http://www.roblox.com/asset/?id=186565642",
- "http://www.roblox.com/asset/?id=186565650",
- "http://www.roblox.com/asset/?id=186565652",
- "http://www.roblox.com/asset/?id=186565662",
- "http://www.roblox.com/asset/?id=186565671",
- "http://www.roblox.com/asset/?id=186565685",
- "http://www.roblox.com/asset/?id=186565693",
- "http://www.roblox.com/asset/?id=186565702",
- "http://www.roblox.com/asset/?id=186565710",
- "http://www.roblox.com/asset/?id=186565720",
- "http://www.roblox.com/asset/?id=186565730",
- "http://www.roblox.com/asset/?id=186565734",
- "http://www.roblox.com/asset/?id=186565741",
- "http://www.roblox.com/asset/?id=186565749",
- "http://www.roblox.com/asset/?id=186565754",
- }
- sos=b--script.Parent
- for i=1, #Images do
- p=Instance.new("ImageLabel",sos)
- p.Image=Images[i]
- p.BackgroundTransparency=1
- p.Visible=false
- p.Size=UDim2.new(1,0,1,0)
- p.Name=i
- end
- i=0
- sossij=0
- lel=game:GetService("RunService").Heartbeat:connect(function()
- if i<#Images then
- if sossij==1 then
- i=i+1
- --[[script.Parent[i]]b:children()[i].Visible=true
- if i>1 then
- --[[script.Parentb[i-1]]b:children()[i]:Destroy()
- end
- sossij=0
- else
- sossij=1
- end
- else
- lel:disconnect()
- end
- end)
- rekt={"http://www.roblox.com/asset/?id=185386536",
- "http://www.roblox.com/asset/?id=8979672",
- "http://www.roblox.com/asset/?id=10524802",
- "http://www.roblox.com/asset/?id=176067516",
- "http://www.roblox.com/asset/?id=179012130",
- "http://www.roblox.com/asset/?id=155875030",
- "http://www.roblox.com/asset/?id=180976600",
- "http://www.roblox.com/asset/?id=188207856",
- "http://www.roblox.com/asset/?id=89513267",
- }
- sparkles={"http://www.roblox.com/asset/?id=186675771",
- "http://www.roblox.com/asset/?id=185386497",
- "http://www.roblox.com/asset/?id=185386514"}
- for jooj=1, 30 do
- p=Instance.new("Part",sos)
- p.Name="Shrubbery"
- p.TopSurface=0
- p.BottomSurface=0
- p.Transparency=1
- p.Shape="Ball"
- soos=math.random(1,3)
- p.Size=Vector3.new(soos,soos,soos)
- p.CFrame=sos.Parent.CFrame * CFrame.new(Vector3.new(math.random(-50,50),math.random(-10,100),math.random(-50,50))/10)
- p.Velocity=Vector3.new(math.random(-30,30),math.random(10,100),math.random(-30,30))
- p.RotVelocity=Vector3.new(math.random(-50,50),math.random(-50,50),math.random(-50,50))
- b=Instance.new("BillboardGui",p)
- b.Name="SOSSIJ"
- b.Size=UDim2.new(soos*2,0,soos*2,0)
- b.Adornee=p
- s=Instance.new("ImageLabel",b)
- s.Name="Qaeoisgeyhuehuehuehuehuehuehueheuehu"
- s.Size=UDim2.new(1,0,1,0)
- s.Image=rekt[math.random(1,#rekt)]
- s.BackgroundTransparency=1
- p.Elasticity=0
- f=Instance.new("BodyForce")
- f.force=Vector3.new(0,p:GetMass()*140,0)
- f.Parent=p
- coroutine.resume(coroutine.create(function(p)
- while p.Parent~=nil do
- p.Rotation=-p.Parent.Parent.Rotation.x + p.Parent.Parent.Rotation.z
- wait()
- end
- end),s)
- game:GetService("Debris"):AddItem(p,15)
- end
- for jooj=1, 40 do
- p=Instance.new("Part",sos)
- p.Name="Spork"
- p.TopSurface=0
- p.BottomSurface=0
- p.Transparency=1
- p.CanCollide=false
- p.Shape="Ball"
- soos=1
- p.Size=Vector3.new(soos,soos,soos)
- p.CFrame=sos.Parent.CFrame * CFrame.new(Vector3.new(math.random(-50,50),math.random(-50,50),math.random(-50,50))/10)
- p.Velocity=Vector3.new(math.random(-30,30),math.random(10,100),math.random(-30,30))
- p.RotVelocity=Vector3.new(math.random(-50,50),math.random(-50,50),math.random(-50,50))
- soos=math.random(1,3)
- b=Instance.new("BillboardGui",p)
- b.Name="SOSSIJ"
- b.Size=UDim2.new(soos,0,soos,0)
- b.Adornee=p
- s=Instance.new("ImageLabel",b)
- s.Name="Qaeoisgeyhuehuehuehuehuehuehueheuehu"
- s.Size=UDim2.new(1,0,1,0)
- s.Image=sparkles[math.random(1,#sparkles)]
- s.BackgroundTransparency=1
- bbbg=b
- p.Elasticity=0
- f=Instance.new("BodyVelocity")
- f.velocity=p.Velocity / 5
- f.maxForce=Vector3.new(math.huge,math.huge,math.huge)
- f.Parent=p
- coroutine.resume(coroutine.create(function(p)
- while p.Parent~=nil do
- p.Rotation=-p.Parent.Parent.Rotation.x + p.Parent.Parent.Rotation.z
- p.Parent.Parent.BodyVelocity.velocity=p.Parent.Parent.BodyVelocity.velocity - Vector3.new(0,183/800,0)
- wait()
- end
- end),s)
- game:GetService("Debris"):AddItem(p,12)
- end
- repeat wait() until i==#Images
- --script.Parent]]b:children()[tonumber(#Images)].Visible=false
- --script.Parent]]b:children()[tonumber(#Images)]:Remove()
- bbbg:Destroy()
- wait(10)
- --sos.Parent.Parent:Destroy()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement