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,game,owner = owner,game
- local RealPlayer = Player
- do
- print("FE Compatibility code V2 by Mokiros")
- local RealPlayer = RealPlayer
- script.Parent = RealPlayer.Character
- --Fake event to make stuff like Mouse.KeyDown work
- local Disconnect_Function = function(this)
- this[1].Functions[this[2]] = nil
- end
- local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
- local FakeEvent_Metatable = {__index={
- Connect = function(this,f)
- local i = tostring(math.random(0,10000))
- while this.Functions[i] do
- i = tostring(math.random(0,10000))
- end
- this.Functions[i] = f
- return setmetatable({this,i},Disconnect_Metatable)
- end
- }}
- FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
- local function fakeEvent()
- return setmetatable({Functions={}},FakeEvent_Metatable)
- end
- --Creating fake input objects with fake variables
- local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
- FakeMouse.keyUp = FakeMouse.KeyUp
- FakeMouse.keyDown = FakeMouse.KeyDown
- local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
- local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
- CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
- end}
- --Merged 2 functions into one by checking amount of arguments
- CAS.UnbindAction = CAS.BindAction
- --This function will trigger the events that have been :Connect()'ed
- local function TriggerEvent(self,ev,...)
- for _,f in pairs(self[ev].Functions) do
- f(...)
- end
- end
- FakeMouse.TriggerEvent = TriggerEvent
- UIS.TriggerEvent = TriggerEvent
- --Client communication
- local Event = Instance.new("RemoteEvent")
- Event.Name = "UserInput_Event"
- Event.OnServerEvent:Connect(function(plr,io)
- if plr~=RealPlayer then return end
- FakeMouse.Target = io.Target
- FakeMouse.Hit = io.Hit
- if not io.isMouse then
- local b = io.UserInputState == Enum.UserInputState.Begin
- if io.UserInputType == Enum.UserInputType.MouseButton1 then
- return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
- end
- if io.UserInputType == Enum.UserInputType.MouseButton2 then
- return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
- end
- for _,t in pairs(CAS.Actions) do
- for _,k in pairs(t.Keys) do
- if k==io.KeyCode then
- t.Function(t.Name,io.UserInputState,io)
- end
- end
- end
- FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
- UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
- end
- end)
- Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
- local Mouse = owner:GetMouse()
- local UIS = game:GetService("UserInputService")
- local input = function(io,RobloxHandled)
- if RobloxHandled then return end
- --Since InputObject is a client-side instance, we create and pass table instead
- Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
- end
- UIS.InputBegan:Connect(input)
- UIS.InputEnded:Connect(input)
- local h,t
- --Give the server mouse data every second frame, but only if the values changed
- --If player is not moving their mouse, client won't fire events
- local HB = game:GetService("RunService").Heartbeat
- while true do
- if h~=Mouse.Hit or t~=Mouse.Target then
- h,t=Mouse.Hit,Mouse.Target
- Event:FireServer({isMouse=true,Target=t,Hit=h})
- end
- --Wait 2 frames
- for i=1,2 do
- HB:Wait()
- end
- end]==],script)
- ----Sandboxed game object that allows the usage of client-side methods and services
- --Real game object
- local RealGame = game
- --Metatable for fake service
- local FakeService_Metatable = {
- __index = function(self,k)
- local s = rawget(self,"_RealService")
- if s then
- return typeof(s[k])=="function"
- and function(_,...)return s[k](s,...)end or s[k]
- end
- end,
- __newindex = function(self,k,v)
- local s = rawget(self,"_RealService")
- if s then s[k]=v end
- end
- }
- local function FakeService(t,RealService)
- t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
- return setmetatable(t,FakeService_Metatable)
- end
- --Fake game object
- local FakeGame = {
- GetService = function(self,s)
- return rawget(self,s) or RealGame:GetService(s)
- end,
- Players = FakeService({
- LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
- },"Players"),
- UserInputService = FakeService(UIS,"UserInputService"),
- ContextActionService = FakeService(CAS,"ContextActionService"),
- RunService = FakeService({
- _btrs = {},
- RenderStepped = RealGame:GetService("RunService").Heartbeat,
- BindToRenderStep = function(self,name,_,fun)
- self._btrs[name] = self.Heartbeat:Connect(fun)
- end,
- UnbindFromRenderStep = function(self,name)
- self._btrs[name]:Disconnect()
- end,
- },"RunService")
- }
- rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
- FakeGame.service = FakeGame.GetService
- FakeService(FakeGame,game)
- --Changing owner to fake player object to support owner:GetMouse()
- game,owner = FakeGame,FakeGame.Players.LocalPlayer
- end
- --By iiSharkBus (Now DutchOrionVII, I'm back after 3 years. Modified so the PasteBin mods are happy)
- wait(1)
- --[[
- ---------VERSION---------
- Power Tool by iiJoeCats
- VERSION 2
- -------------------------
- --------CONTROLS---------
- [Q] || FIREBALL
- [E] || TELEPORT
- [R] || DASH
- [T] || RAINBOW TOGGLE {FOR R MOVE}
- [F] || SUPER JUMP
- [G] || HEAL
- [Y] || DAMAGE ZONE
- -------------------------
- -------UPDATE INFO-------
- C - Changes/Updates
- N - New
- ! - Spoilers
- --------------
- C - Added Effects To Fireball Move And CFrame Animation For R6 Rigs ONLY
- N - THIS
- N - Ragdoll {Credit to Rufus14}
- ! - Music Visualizer Coming Soon (Press Z to toggle it)
- CN! - I think this script is going to get over 800 lines when I'm finished with Version 2
- -------------------------
- ]]--
- local mouse = game.Players.LocalPlayer:GetMouse()
- local character = game.Players.LocalPlayer.Character
- local tors = character:FindFirstChild("HumanoidRootPart")
- local hum = character:FindFirstChildOfClass("Humanoid")
- local ammo = 1
- local isitgoing = false
- local equipped = false
- local imisitgoing = {
- ColorSequenceKeypoint.new(0, Color3.new(1,0,0)),
- ColorSequenceKeypoint.new(0.2, Color3.new(1, 0.333333, 0)),
- ColorSequenceKeypoint.new(0.4, Color3.new(1, 1, 0)),
- ColorSequenceKeypoint.new(0.6, Color3.new(0, 1, 0)),
- ColorSequenceKeypoint.new(0.8, Color3.new(0, 0.666667, 1)),
- ColorSequenceKeypoint.new(1, Color3.new(0.74902, 0, 1))
- }
- function ragdolll(char)
- local victimshumanoid = char:findFirstChildOfClass("Humanoid")
- local checkragd = char:findFirstChild("ragded")
- if not checkragd then
- local boolvalue = Instance.new("BoolValue", char)
- boolvalue.Name = "ragded"
- if not char:findFirstChild("UpperTorso") then
- char.Archivable = true
- for i,v in pairs(char:GetChildren()) do
- if v.ClassName == "Sound" then
- v:remove()
- end
- for q,w in pairs(v:GetChildren()) do
- if w.ClassName == "Sound" then
- w:remove()
- end
- end
- end
- local ragdoll = char:Clone()
- if game:GetService("RunService"):IsClient() then
- if ragdoll.Name == character.Name then
- workspace.CurrentCamera.CameraSubject = ragdoll
- end
- end
- if math.random(1,100) == 1 then
- local burgerking = Instance.new("Sound",ragdoll)
- burgerking.SoundId = "rbxassetid://1402510823"
- burgerking.Volume = 1
- burgerking:Play()
- game.Debris:AddItem(ragdoll, burgerking.TimeLength)
- else
- local sond = Instance.new("Sound",ragdoll)
- sond.SoundId = "rbxassetid://178092307"
- local sond2 = Instance.new("Sound",ragdoll)
- sond2.SoundId = "rbxassetid://165315045"
- if ragdoll.Name == character.Name then
- sond.Volume = 1
- sond2.Volume = 1
- else
- sond.Volume = .25
- sond2.Volume = .25
- end
- sond2:Play()
- sond:Play()
- game.Debris:AddItem(ragdoll, 5)
- end
- for i,v in pairs(ragdoll:GetDescendants()) do
- if v.ClassName == "Motor" or v.ClassName == "Motor6D" then
- v:destroy()
- end
- end
- ragdoll:findFirstChildOfClass("Humanoid").BreakJointsOnDeath = false
- ragdoll:findFirstChildOfClass("Humanoid").Health = 0
- if ragdoll:findFirstChild("Health") then
- if ragdoll:findFirstChild("Health").ClassName == "Script" then
- ragdoll:findFirstChild("Health").Disabled = true
- end
- end
- for i,v in pairs(char:GetChildren()) do
- if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" then
- v:destroy()
- end
- end
- for i,v in pairs(char:GetChildren()) do
- if v.ClassName == "Accessory" then
- local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
- if attachment1 then
- for q,w in pairs(char:GetChildren()) do
- if w.ClassName == "Part" then
- local attachment2 = w:findFirstChild(attachment1.Name)
- if attachment2 then
- local hinge = Instance.new("HingeConstraint", v.Handle)
- hinge.Attachment0 = attachment1
- hinge.Attachment1 = attachment2
- hinge.LimitsEnabled = true
- hinge.LowerAngle = 0
- hinge.UpperAngle = 0
- end
- end
- end
- end
- end
- end
- ragdoll.Parent = workspace
- if ragdoll:findFirstChild("Right Arm") then
- local glue = Instance.new("Glue", ragdoll.Torso)
- glue.Part0 = ragdoll.Torso
- glue.Part1 = ragdoll:findFirstChild("Right Arm")
- glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Arm"))
- limbcollider.Size = Vector3.new(1.4,1,1)
- limbcollider.Shape = "Cylinder"
- limbcollider.Transparency = 1
- limbcollider.Name = "LimbCollider"
- local limbcolliderweld = Instance.new("Weld", limbcollider)
- limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Arm")
- limbcolliderweld.Part1 = limbcollider
- limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
- end
- if ragdoll:findFirstChild("Left Arm") then
- local glue = Instance.new("Glue", ragdoll.Torso)
- glue.Part0 = ragdoll.Torso
- glue.Part1 = ragdoll:findFirstChild("Left Arm")
- glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Arm"))
- limbcollider.Size = Vector3.new(1.4,1,1)
- limbcollider.Shape = "Cylinder"
- limbcollider.Name = "LimbCollider"
- limbcollider.Transparency = 1
- local limbcolliderweld = Instance.new("Weld", limbcollider)
- limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Arm")
- limbcolliderweld.Part1 = limbcollider
- limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
- end
- if ragdoll:findFirstChild("Left Leg") then
- local glue = Instance.new("Glue", ragdoll.Torso)
- glue.Part0 = ragdoll.Torso
- glue.Part1 = ragdoll:findFirstChild("Left Leg")
- glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
- local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Leg"))
- limbcollider.Size = Vector3.new(1.4,1,1)
- limbcollider.Shape = "Cylinder"
- limbcollider.Name = "LimbCollider"
- limbcollider.Transparency = 1
- local limbcolliderweld = Instance.new("Weld", limbcollider)
- limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Leg")
- limbcolliderweld.Part1 = limbcollider
- limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
- end
- if ragdoll:findFirstChild("Right Leg") then
- local glue = Instance.new("Glue", ragdoll.Torso)
- glue.Part0 = ragdoll.Torso
- glue.Part1 = ragdoll:findFirstChild("Right Leg")
- glue.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- glue.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
- local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Leg"))
- limbcollider.Size = Vector3.new(1.4,1,1)
- limbcollider.Shape = "Cylinder"
- limbcollider.Name = "LimbCollider"
- limbcollider.Transparency = 1
- local limbcolliderweld = Instance.new("Weld", limbcollider)
- limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Leg")
- limbcolliderweld.Part1 = limbcollider
- limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
- end
- if ragdoll:findFirstChild("Head") and ragdoll.Torso:findFirstChild("NeckAttachment") then
- local HeadAttachment = Instance.new("Attachment", ragdoll["Head"])
- HeadAttachment.Position = Vector3.new(0, -0.5, 0)
- local connection = Instance.new('HingeConstraint', ragdoll["Head"])
- connection.LimitsEnabled = true
- connection.Attachment0 = ragdoll.Torso.NeckAttachment
- connection.Attachment1 = HeadAttachment
- connection.UpperAngle = 60
- connection.LowerAngle = -60
- elseif ragdoll:findFirstChild("Head") and not ragdoll.Torso:findFirstChild("NeckAttachment") then
- local hedweld = Instance.new("Weld", ragdoll.Torso)
- hedweld.Part0 = ragdoll.Torso
- hedweld.Part1 = ragdoll.Head
- hedweld.C0 = CFrame.new(0,1.5,0)
- end
- local function aaaalol()
- wait(0.2)
- local function searchforvelocity(wot)
- for i,v in pairs(wot:GetChildren()) do
- searchforvelocity(v)
- if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
- v:destroy()
- end
- end
- end
- searchforvelocity(ragdoll)
- wait(0.5)
- if ragdoll:findFirstChildOfClass("Humanoid") then
- ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
- end
- if ragdoll:findFirstChild("HumanoidRootPart") then
- ragdoll:findFirstChild("HumanoidRootPart"):destroy()
- end
- end
- spawn(aaaalol)
- elseif char:findFirstChild("UpperTorso") then
- char.Archivable = true
- for i,v in pairs(char:GetChildren()) do
- if v.ClassName == "Sound" then
- v:remove()
- end
- for q,w in pairs(v:GetChildren()) do
- if w.ClassName == "Sound" then
- w:remove()
- end
- end
- end
- local ragdoll = char:Clone()
- if game:GetService("RunService"):IsClient() then
- if ragdoll.Name == character.Name then
- workspace.CurrentCamera.CameraSubject = ragdoll
- end
- end
- if math.random(1,100) == 1 then
- local burgerking = Instance.new("Sound",ragdoll)
- burgerking.SoundId = "rbxassetid://1402510823"
- burgerking.Volume = 1
- burgerking:Play()
- game.Debris:AddItem(ragdoll, burgerking.TimeLength)
- else
- local sond = Instance.new("Sound",ragdoll)
- sond.SoundId = "rbxassetid://178092307"
- local sond2 = Instance.new("Sound",ragdoll)
- sond2.SoundId = "rbxassetid://165315045"
- if ragdoll.Name == character.Name then
- sond.Volume = 1
- sond2.Volume = 1
- else
- sond.Volume = .25
- sond2.Volume = .25
- end
- sond2:Play()
- sond:Play()
- game.Debris:AddItem(ragdoll, 5)
- end
- ragdoll:findFirstChildOfClass("Humanoid").BreakJointsOnDeath = false
- for i,v in pairs(ragdoll:GetDescendants()) do
- if v.ClassName == "Motor" or v.ClassName == "Motor6D" then
- v:destroy()
- end
- end
- ragdoll:BreakJoints()
- ragdoll:findFirstChildOfClass("Humanoid").Health = 0
- if ragdoll:findFirstChild("Health") then
- if ragdoll:findFirstChild("Health").ClassName == "Script" then
- ragdoll:findFirstChild("Health").Disabled = true
- end
- end
- for i,v in pairs(char:GetChildren()) do
- if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" or v.ClassName == "MeshPart" then
- v:destroy()
- end
- end
- for i,v in pairs(char:GetChildren()) do
- if v.ClassName == "Accessory" then
- local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
- if attachment1 then
- for q,w in pairs(char:GetChildren()) do
- if w.ClassName == "Part" or w.ClassName == "MeshPart" then
- local attachment2 = w:findFirstChild(attachment1.Name)
- if attachment2 then
- local hinge = Instance.new("HingeConstraint", v.Handle)
- hinge.Attachment0 = attachment1
- hinge.Attachment1 = attachment2
- hinge.LimitsEnabled = true
- hinge.LowerAngle = 0
- hinge.UpperAngle = 0
- end
- end
- end
- end
- end
- end
- ragdoll.Parent = workspace
- local Humanoid = ragdoll:findFirstChildOfClass("Humanoid")
- Humanoid.PlatformStand = true
- local function makeballconnections(limb, attachementone, attachmenttwo, twistlower, twistupper)
- local connection = Instance.new('BallSocketConstraint', limb)
- connection.LimitsEnabled = true
- connection.Attachment0 = attachementone
- connection.Attachment1 = attachmenttwo
- connection.TwistLimitsEnabled = true
- connection.TwistLowerAngle = twistlower
- connection.TwistUpperAngle = twistupper
- local limbcollider = Instance.new("Part", limb)
- limbcollider.Size = Vector3.new(0.1,1,1)
- limbcollider.Shape = "Cylinder"
- limbcollider.Transparency = 1
- limbcollider:BreakJoints()
- local limbcolliderweld = Instance.new("Weld", limbcollider)
- limbcolliderweld.Part0 = limb
- limbcolliderweld.Part1 = limbcollider
- limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
- end
- local function makehingeconnections(limb, attachementone, attachmenttwo, lower, upper)
- local connection = Instance.new('HingeConstraint', limb)
- connection.LimitsEnabled = true
- connection.Attachment0 = attachementone
- connection.Attachment1 = attachmenttwo
- connection.LimitsEnabled = true
- connection.LowerAngle = lower
- connection.UpperAngle = upper
- local limbcollider = Instance.new("Part", limb)
- limbcollider.Size = Vector3.new(0.1,1,1)
- limbcollider.Shape = "Cylinder"
- limbcollider.Transparency = 1
- limbcollider:BreakJoints()
- local limbcolliderweld = Instance.new("Weld", limbcollider)
- limbcolliderweld.Part0 = limb
- limbcolliderweld.Part1 = limbcollider
- limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
- end
- local HeadAttachment = Instance.new("Attachment", Humanoid.Parent.Head)
- HeadAttachment.Position = Vector3.new(0, -0.5, 0)
- if ragdoll.UpperTorso:findFirstChild("NeckAttachment") then
- makehingeconnections(Humanoid.Parent.Head, HeadAttachment, ragdoll.UpperTorso.NeckAttachment, -50, 50)
- end
- makehingeconnections(Humanoid.Parent.LowerTorso, Humanoid.Parent.LowerTorso.WaistRigAttachment, Humanoid.Parent.UpperTorso.WaistRigAttachment, -50, 50)
- makeballconnections(Humanoid.Parent.LeftUpperArm, Humanoid.Parent.LeftUpperArm.LeftShoulderRigAttachment, Humanoid.Parent.UpperTorso.LeftShoulderRigAttachment, -200, 200, 180)
- makehingeconnections(Humanoid.Parent.LeftLowerArm, Humanoid.Parent.LeftLowerArm.LeftElbowRigAttachment, Humanoid.Parent.LeftUpperArm.LeftElbowRigAttachment, 0, -60)
- makehingeconnections(Humanoid.Parent.LeftHand, Humanoid.Parent.LeftHand.LeftWristRigAttachment, Humanoid.Parent.LeftLowerArm.LeftWristRigAttachment, -20, 20)
- --
- makeballconnections(Humanoid.Parent.RightUpperArm, Humanoid.Parent.RightUpperArm.RightShoulderRigAttachment, Humanoid.Parent.UpperTorso.RightShoulderRigAttachment, -200, 200, 180)
- makehingeconnections(Humanoid.Parent.RightLowerArm, Humanoid.Parent.RightLowerArm.RightElbowRigAttachment, Humanoid.Parent.RightUpperArm.RightElbowRigAttachment, 0, -60)
- makehingeconnections(Humanoid.Parent.RightHand, Humanoid.Parent.RightHand.RightWristRigAttachment, Humanoid.Parent.RightLowerArm.RightWristRigAttachment, -20, 20)
- --
- makeballconnections(Humanoid.Parent.RightUpperLeg, Humanoid.Parent.RightUpperLeg.RightHipRigAttachment, Humanoid.Parent.LowerTorso.RightHipRigAttachment, -80, 80, 80)
- makehingeconnections(Humanoid.Parent.RightLowerLeg, Humanoid.Parent.RightLowerLeg.RightKneeRigAttachment, Humanoid.Parent.RightUpperLeg.RightKneeRigAttachment, 0, 60)
- makehingeconnections(Humanoid.Parent.RightFoot, Humanoid.Parent.RightFoot.RightAnkleRigAttachment, Humanoid.Parent.RightLowerLeg.RightAnkleRigAttachment, -20, 20)
- --
- makeballconnections(Humanoid.Parent.LeftUpperLeg, Humanoid.Parent.LeftUpperLeg.LeftHipRigAttachment, Humanoid.Parent.LowerTorso.LeftHipRigAttachment, -80, 80, 80)
- makehingeconnections(Humanoid.Parent.LeftLowerLeg, Humanoid.Parent.LeftLowerLeg.LeftKneeRigAttachment, Humanoid.Parent.LeftUpperLeg.LeftKneeRigAttachment, 0, 60)
- makehingeconnections(Humanoid.Parent.LeftFoot, Humanoid.Parent.LeftFoot.LeftAnkleRigAttachment, Humanoid.Parent.LeftLowerLeg.LeftAnkleRigAttachment, -20, 20)
- for i,v in pairs(Humanoid.Parent:GetChildren()) do
- if v.ClassName == "Accessory" then
- local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
- if attachment1 then
- for q,w in pairs(Humanoid.Parent:GetChildren()) do
- if w.ClassName == "Part" then
- local attachment2 = w:findFirstChild(attachment1.Name)
- if attachment2 then
- local hinge = Instance.new("HingeConstraint", v.Handle)
- hinge.Attachment0 = attachment1
- hinge.Attachment1 = attachment2
- hinge.LimitsEnabled = true
- hinge.LowerAngle = 0
- hinge.UpperAngle = 0
- end
- end
- end
- end
- end
- end
- for i,v in pairs(ragdoll:GetChildren()) do
- for q,w in pairs(v:GetChildren()) do
- if w.ClassName == "Motor6D"--[[ and w.Name ~= "Neck"--]] and w.Name ~= "ouch_weld" then
- w:destroy()
- end
- end
- end
- if ragdoll:findFirstChild("HumanoidRootPart") then
- ragdoll.HumanoidRootPart:destroy()
- end
- if ragdoll:findFirstChildOfClass("Humanoid") then
- ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
- end
- local function waitfordatmoment()
- wait(0.2)
- local function searchforvelocity(wot)
- for i,v in pairs(wot:GetChildren()) do
- searchforvelocity(v)
- if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
- v:destroy()
- end
- end
- end
- searchforvelocity(ragdoll)
- end
- spawn(waitfordatmoment)
- game.Debris:AddItem(ragdoll, 5)
- end
- end
- end
- local hum = character:FindFirstChildOfClass("Humanoid")
- local textures = {391827915,224894620,988623869,61103013,3115326221,1288816906,581605846,1367427817,2801380278,4291187457,1453454202}
- local powerTool = Instance.new("Tool",game.Players.LocalPlayer.Backpack)
- powerTool.CanBeDropped = false
- powerTool.RequiresHandle = false
- powerTool.Name = "PwnedLOL"
- powerTool.ToolTip = "why"
- powerTool.TextureId = "rbxassetid://"..textures[math.random(1, #textures)]
- powerTool.Equipped:Connect(function(mouse)
- equipped = true
- mouse.KeyDown:Connect(function(key)
- if key == "q" then
- if ammo > 0 then
- ammo = 0
- local fireball = Instance.new("Part",character)
- game.Debris:AddItem(fireball,5)
- fireball.Size = Vector3.new(3,3,3)
- fireball.FormFactor = Enum.FormFactor.Custom
- fireball.CanCollide = false
- fireball.Shape = Enum.PartType.Ball
- fireball.BrickColor = BrickColor.new(255, 100, 0)
- fireball.Material = Enum.Material.Neon
- fireball.CFrame = CFrame.new(character.HumanoidRootPart.Position,mouse.Hit.p)
- local fire = Instance.new("ParticleEmitter",fireball)
- fire.Speed = NumberRange.new(10, 10)
- fire.Rotation = NumberRange.new(-180, 180)
- fire.Color = ColorSequence.new(Color3.new(1, 0, 0),Color3.new(1, 1, 0),Color3.new(0, 0, 0))
- fire.LightEmission = 0.94999998807907
- fire.LightInfluence = 0.80000001192093
- fire.Texture = "rbxassetid://2050129958"
- fire.Transparency = NumberSequence.new(0,1)
- fire.ZOffset = 1
- fire.Size = NumberSequence.new(1.6874998807907,0)
- fire.Acceleration = Vector3.new(5, 35, 5)
- fire.Drag = 0.5
- fire.Lifetime = NumberRange.new(0.40000000596046, 0.40000000596046)
- fire.Rate = 68
- fire.RotSpeed = NumberRange.new(-360, 360)
- fire.SpreadAngle = Vector2.new(-40, 10)
- local bv = Instance.new("BodyVelocity",fireball)
- bv.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
- bv.Velocity = fireball.CFrame.LookVector * 100
- spawn(function()
- if character.Torso then
- local raWeld = Instance.new("Weld",character.Torso)
- raWeld.Part0 = character.Torso
- raWeld.Part1 = character["Right Arm"]
- raWeld.C0 = CFrame.new(1.5,0,0)
- for i = 0,1,0.15 do
- game:GetService("RunService").RenderStepped:wait()
- raWeld.C0 = raWeld.C0:lerp(CFrame.new(1.5,.5,-.5) * CFrame.fromEulerAnglesXYZ(math.rad(90),math.rad(0),math.rad(0)),i)
- end
- wait(2)
- for i = 0,1,0.15 do
- game:GetService("RunService").RenderStepped:wait()
- raWeld.C0 = raWeld.C0:lerp(CFrame.new(1.5,0,0) * CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(0)),i)
- end
- raWeld:Destroy()
- end
- end)
- fireball.Touched:Connect(function(hit)
- local humn = hit.Parent:FindFirstChildOfClass("Humanoid")
- if humn and humn.Health > 0 then
- if hit:IsDescendantOf(character) then return end
- local val = humn.Parent:FindFirstChildOfClass("BinaryStringValue")
- if not val then
- Instance.new("BinaryStringValue",humn.Parent).Name = "XD"
- local clone = fire:Clone()
- if humn.Parent:FindFirstChild("Torso") then
- clone.Parent = humn.Parent.Torso
- elseif humn.Parent:FindFirstChild("UpperTorso") then
- clone.Parent = humn.Parent.Torso
- end
- for i = 1,math.random(10,20) do
- if humn.Health <= 0 then
- break
- end
- local value = math.random(2,6)
- if humn.Health <= value then
- if not humn.Parent:FindFirstChild("raged") then
- ragdolll(humn.Parent)
- end
- else
- humn:TakeDamage(value)
- end
- wait(0.5)
- end
- clone:Destroy()
- humn.Parent:FindFirstChildOfClass("BinaryStringValue"):Destroy()
- else
- --nothing
- end
- end
- end)
- wait(3)
- ammo = 1
- end
- end
- if key == "e" then
- if ammo > 0 then
- ammo = 0
- character:MoveTo(mouse.Hit.p + Vector3.new(0,0.5,0))
- wait(2)
- ammo = 1
- end
- end
- if key == "r" then
- if ammo > 0 then
- ammo = 0
- spawn(function()
- local effectA = Instance.new("Part",workspace)
- effectA.Size = Vector3.new(2.5,2.5,0.5)
- if not isitgoing then
- effectA.BrickColor = character.Head.BrickColor
- else
- effectA.BrickColor = BrickColor.Random()
- end
- effectA.CFrame = tors.CFrame
- effectA.Anchored = true
- effectA.CanCollide = false
- local msh = Instance.new("SpecialMesh",effectA)
- msh.MeshType = Enum.MeshType.FileMesh
- msh.MeshId = "rbxassetid://3270017"
- msh.Scale = Vector3.new(2,2,3)
- for i = 0,1,0.05 do
- game:GetService("RunService").RenderStepped:wait()
- if isitgoing then
- effectA.BrickColor = BrickColor.Random()
- end
- effectA.Size = effectA.Size + Vector3.new(1.7,1.7,0.6)
- msh.Scale = msh.Scale + Vector3.new(1.7,1.7,0.6)
- effectA.Transparency = effectA.Transparency + 0.05
- end
- effectA:Destroy()
- end)
- local ass = Instance.new("Attachment",tors)
- ass.Position = Vector3.new(0,1,.34)
- local add = Instance.new("Attachment",tors)
- add.Position = Vector3.new(0,-1,.34)
- local trace = Instance.new("Trail",ass)
- if not isitgoing then
- trace.Color = ColorSequence.new(character.Head.Color)
- else
- trace.Color = ColorSequence.new(imisitgoing)
- end
- trace.Attachment0 = ass
- trace.Attachment1 = add
- trace.LightEmission = 0.2
- trace.LightInfluence = 0.6
- trace.Lifetime = 0.3
- trace.Transparency = NumberSequence.new(0.16,1)
- trace.WidthScale = NumberSequence.new(1,0)
- local hb = Instance.new("Part",character)
- hb.Size = Vector3.new(2,2,2)
- hb.CanCollide = false
- hb.Transparency = 1
- local wld = Instance.new("Weld",hb)
- wld.Part0 = hb
- wld.Part1 = tors
- hb.Touched:Connect(function(hit)
- local humn = hit.Parent:FindFirstChildOfClass("Humanoid")
- if humn and humn.Health > 0 then
- local suspect = humn.Parent
- if suspect then
- local fakeTors = suspect:FindFirstChild("HumanoidRootPart")
- if fakeTors then
- local val = suspect:FindFirstChildOfClass("BinaryStringValue")
- if not val then
- Instance.new("BinaryStringValue",suspect).Name = "fuuk"
- local value = math.random(15,30)
- if humn.Health <= value then
- if not humn.Parent:FindFirstChild("raged") then
- ragdolll(humn.Parent)
- end
- else
- humn:TakeDamage(value)
- end
- humn.PlatformStand = true
- local function damageEffect()
- local function hit()
- local sph = Instance.new("Part",suspect)
- sph.Anchored = true
- sph.CanCollide = false
- sph.Size = Vector3.new(1,1,1)
- sph.CFrame = fakeTors.CFrame
- sph.Shape = Enum.PartType.Ball
- sph.Material = Enum.Material.Glass
- sph.Transparency = 0.5
- for i = 0,1,0.1 do
- game:GetService("RunService").RenderStepped:wait()
- sph.Transparency = sph.Transparency + 0.1
- sph.Size = sph.Size + Vector3.new(2.7,2.7,2.7)
- end
- sph:Destroy()
- end
- spawn(hit)
- local koreans = Instance.new("BodyVelocity",fakeTors) --XD
- koreans.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
- koreans.Velocity = Vector3.new(math.random(-15,15),30,math.random(-15,15))
- game.Debris:AddItem(koreans,0.09)
- local sond = Instance.new("Sound",suspect)
- sond.SoundId = "rbxassetid://260430079"
- sond.Volume = 2
- sond.MaxDistance = 500
- sond:Play()
- game.Debris:AddItem(sond,0.72)
- end
- damageEffect()
- wait(1)
- humn.PlatformStand = false
- suspect:FindFirstChildOfClass("BinaryStringValue"):Destroy()
- else
- --nothing
- end
- end
- end
- end
- end)
- for i = 1,20,0.1 do
- game:GetService("RunService").RenderStepped:wait()
- tors.Velocity = tors.CFrame.LookVector * 300
- end
- ass:Destroy()
- add:Destroy()
- hb:Destroy()
- wait(1)
- ammo = 1
- end
- end
- if key == "t" then
- if ammo > 0 then
- ammo = 0
- isitgoing = not isitgoing
- wait(0.1)
- ammo = 1
- end
- end
- if key == "f" then
- if ammo > 0 then
- ammo = 0
- spawn(function()
- local effectA = Instance.new("Part",workspace)
- effectA.Size = Vector3.new(2.5,2.5,0.5)
- effectA.BrickColor = BrickColor.White()
- effectA.CFrame = tors.CFrame * CFrame.new(0,-2.75,0) * CFrame.fromEulerAnglesXYZ(math.rad(90),math.rad(0),math.rad(0))
- effectA.Anchored = true
- effectA.CanCollide = false
- local msh = Instance.new("SpecialMesh",effectA)
- msh.MeshType = Enum.MeshType.FileMesh
- msh.MeshId = "rbxassetid://3270017"
- msh.Scale = Vector3.new(2,2,3)
- for i = 0,1,0.05 do
- game:GetService("RunService").RenderStepped:wait()
- effectA.Size = effectA.Size + Vector3.new(2.5,2.5,0.6)
- msh.Scale = msh.Scale + Vector3.new(2.5,2.5,0.6)
- effectA.Transparency = effectA.Transparency + 0.05
- end
- effectA:Destroy()
- end)
- local bv = Instance.new("BodyVelocity",tors)
- bv.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
- bv.Velocity = tors.CFrame.LookVector * 300 + Vector3.new(0,300,0)
- game.Debris:AddItem(bv,0.2)
- hum.WalkSpeed = 300
- wait(0.2)
- local hb = Instance.new("Part",character)
- hb.Size = Vector3.new(2,2,1)
- hb.CanCollide = false
- hb.Transparency = 1
- local wld = Instance.new("Weld",hb)
- wld.Part0 = hb
- wld.Part1 = tors
- wld.C0 = CFrame.new(0,2.1,0)
- local function hi(hit)
- if not hit:IsDescendantOf(character) then
- if hit:FindFirstChildOfClass("SpecialMesh") then
- if hit:FindFirstChildOfClass("SpecialMesh").MeshId ~= "rbxassetid://3270017" then
- hum.WalkSpeed = 16
- wait(1)
- ammo = 1
- end
- else
- hum.WalkSpeed = 16
- wait(1)
- ammo = 1
- end
- else
- --nothung
- end
- end
- hb.Touched:Connect(hi)
- end
- end
- if key == "g" then
- if ammo > 0 then
- ammo = 0
- local fuu = Instance.new("Part",character)
- fuu.Anchored = true
- fuu.CanCollide = false
- fuu.Size = Vector3.new(2,2,2)
- fuu.Material = Enum.Material.Neon
- fuu.BrickColor = BrickColor.new("Bright green")
- fuu.FormFactor = Enum.FormFactor.Custom
- fuu.TopSurface = Enum.SurfaceType.Smooth
- fuu.BottomSurface = Enum.SurfaceType.Smooth
- fuu.CFrame = tors.CFrame
- local function heal()
- wait(0.1)
- hum.Health = hum.Health + math.random(10,40)
- local eat = Instance.new("Sound",character)
- eat.SoundId = "rbxassetid://260421433"
- eat.Volume = 2
- eat:Play()
- game.Debris:AddItem(eat,0.62)
- end
- spawn(heal)
- for i = 0,1,0.05 do
- game:GetService("RunService").RenderStepped:wait()
- fuu.Size = fuu.Size + Vector3.new(1.5,1.5,1.5)
- fuu.Orientation = Vector3.new(math.random(0,360),math.random(0,360),math.random(0,360))
- fuu.Transparency = fuu.Transparency + 0.05
- end
- fuu:Destroy()
- wait(1)
- ammo = 1
- end
- end
- if key == "y" then
- if ammo > 0 then
- ammo = 0
- tors.Anchored = true
- local leak = Instance.new("Part",character)
- leak.Anchored = true
- leak.Transparency = 0
- leak.CanCollide = false
- leak.Size = Vector3.new(0.1,2,2)
- leak.CFrame = tors.CFrame * CFrame.fromEulerAnglesXYZ(math.rad(0),math.rad(0),math.rad(90)) + Vector3.new(0,-3,0)
- leak.Shape = Enum.PartType.Cylinder
- leak.BrickColor = BrickColor.new("New Yeller")
- leak.Material = Enum.Material.Neon
- wait(1)
- local function zapp()
- local zap = Instance.new("Sound",character)
- zap.SoundId = "rbxassetid://1102831575"
- zap.Volume = 1
- zap:Play()
- game.Debris:AddItem(zap,0.23)
- end
- spawn(zapp)
- leak.Touched:Connect(function(hit)
- local humn = hit.Parent:FindFirstChildOfClass("Humanoid")
- if humn and humn.Health > 0 then
- local suspect = humn.Parent
- if suspect then
- local fakeTors = suspect:FindFirstChild("HumanoidRootPart")
- if fakeTors then
- local val = suspect:FindFirstChildOfClass("BinaryStringValue")
- if not val then
- Instance.new("BinaryStringValue",suspect).Name = "fuuk"
- local value = math.random(5,10)
- if humn.Health <= value then
- if not humn.Parent:FindFirstChild("raged") then
- ragdolll(humn.Parent)
- end
- else
- humn:TakeDamage(value)
- end
- wait(0.1)
- suspect:FindFirstChildOfClass("BinaryStringValue"):Destroy()
- else
- --nothing
- end
- end
- end
- end
- end)
- for i = 1,150 do
- game:GetService("RunService").RenderStepped:wait()
- leak.Size = leak.Size + Vector3.new(0.005,1,1)
- end
- for i = 0,1,0.1 do
- game:GetService("RunService").RenderStepped:wait()
- leak.Transparency = i
- end
- leak:Destroy()
- tors.Anchored = false
- ammo = 1
- end
- end
- end)
- end)
- powerTool.Unequipped:Connect(function()
- equipped = false
- end)
- hum.BreakJointsOnDeath = false
- hum.Died:Connect(function()
- if not character:FindFirstChild("raged") then
- ragdolll(character)
- end
- while true do
- game:GetService("RunService").RenderStepped:wait()
- --workspace.CurrentCamera.CFrame = character.Head.CFrame * CFrame.new(0,0,-0.9)
- hum.Health = 0.1
- hum.PlatformStand = true
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement