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
- local p = game.Players.LocalPlayer
- local char = p.Character
- local mouse = p:GetMouse()
- local larm = char["Left Arm"]
- local rarm = char["Right Arm"]
- local lleg = char["Left Leg"]
- local rleg = char["Right Leg"]
- local hed = char.Head
- local torso = char.Torso
- local hum = char.Humanoid
- local cam = game.Workspace.CurrentCamera
- local root = char.HumanoidRootPart
- local deb = false
- local shot = 0
- local debris=game:service"Debris"
- local l = game:GetService("Lighting")
- local rs = game:GetService("RunService").RenderStepped
- ptz = {0.8, 0.85, 0.9, 0.95, 1, 1.05, 1.1}
- math.randomseed(os.time())
- for i,v in pairs(char:children()) do
- if v:IsA("Hat") then
- v:Destroy()
- end
- end
- for i,v in pairs (hed:GetChildren()) do
- if v:IsA("Sound") then
- v:Destroy()
- end
- end
- ----------------------------------------------------
- Debounces = {
- CanAttack = true;
- NoIdl = false;
- Slashing = false;
- Slashed = false;
- RPunch = false;
- RPunched = false;
- LPunch = false;
- LPunched = false;
- }
- local Touche = {char.Name, }
- ----------------------------------------------------
- hed.face.Texture = "rbxassetid://33395282"
- char["Body Colors"].HeadColor = BrickColor.new("Pastel brown")
- char["Body Colors"].TorsoColor = BrickColor.new("Pastel brown")
- char["Body Colors"].LeftArmColor = BrickColor.new("Pastel brown")
- char["Body Colors"].RightArmColor = BrickColor.new("Pastel brown")
- ----------------------------------------------------
- ypcall(function()
- char.Shirt:Destroy()
- char.Pants:Destroy()
- shirt = Instance.new("Shirt", char)
- shirt.Name = "Shirt"
- pants = Instance.new("Pants", char)
- pants.Name = "Pants"
- char.Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=513620832"
- char.Pants.PantsTemplate = "http://www.roblox.com/asset/?id=513621366"
- end)
- ----------------------------------------------------
- LoudVolume = false
- Submerged = false
- Music = true
- script.Name = "GOKU"
- Player = game.Players.LocalPlayer
- c = game.Players.LocalPlayer.Character
- Head = c.Head
- anim = c.Humanoid.Animator
- Humanoid = c:findFirstChild("Humanoid")
- Humanoid.Name = "InfiniteBeing"
- b23 = Instance.new("BoolValue", c)
- b23.Name = "InfiniteHuman"
- rage = false
- p = game.Players.LocalPlayer
- Music = false
- local Effects = {}
- attack = false
- local attacking = false
- vt = Vector3.new
- bc = BrickColor.new
- br = BrickColor.random
- it = Instance.new
- cf = CFrame.new
- euler = CFrame.fromEulerAnglesXYZ
- angles = CFrame.Angles
- matr = math.random
- mouse = Player:GetMouse()
- RSC0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
- RSC1 = CFrame.new(-0.5, 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)
- LSC1 = CFrame.new(0.5, 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)
- RHC1 = CFrame.new(0.5, 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)
- LHC1 = CFrame.new(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
- NC0 = CFrame.new(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- NC1 = CFrame.new(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- RJC0 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- RJC1 = CFrame.new(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0)
- RS = c.Torso:FindFirstChild("Right Shoulder")
- LS = c.Torso:FindFirstChild("Left Shoulder")
- RH = c.Torso:FindFirstChild("Right Hip")
- LH = c.Torso:FindFirstChild("Left Hip")
- RJ = c.HumanoidRootPart:FindFirstChild("RootJoint")
- N = c.Torso:FindFirstChild("Neck")
- cf = CFrame.new
- ang = CFrame.Angles
- rd = math.rad
- rd2 = math.random
- 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 lerpz(joint, prop, cfrmz, alp)
- joint[prop] = joint[prop]:lerp(cfrmz, alp)
- end
- function resetlerp()
- RJ.C0 = RJC0
- RJ.C1 = RJC1
- N.C0 = NC0
- N.C1 = NC1
- RS.C0 = RSC0
- RS.C1 = RSC1
- LS.C0 = LSC0
- LS.C1 = LSC1
- RH.C0 = RHC0
- RH.C1 = RHC1
- LH.C0 = LHC0
- LH.C1 = LHC1
- end
- for _, c in pairs(c:children()) do
- if c.className == "Accessory" then
- c.Parent = nil
- end
- end
- local S2 = Instance.new("Sound", c.HumanoidRootPart)
- S2.SoundId = ""
- S2.Volume = 0
- S2.Looped = true
- local P = Instance.new("Part", c)
- P.CanCollide = false
- P.Size = Vector3.new(0.2, 0.2, 0.2)
- P.BrickColor = BrickColor.new("Really black")
- local M = Instance.new("SpecialMesh", P)
- M.MeshId = "rbxassetid://884095858"
- M.Scale = Vector3.new(0.04, 0.04, 0.04)
- M.Offset = Vector3.new(-0.225, 0.65, -0.1)
- local W = Instance.new("Weld", c.Head)
- W.Part0 = c.Head
- W.Part1 = P
- W.C0 = CFrame.Angles(0, math.rad(180), 0)
- trazx = Instance.new("ParticleEmitter")
- function New(Object, Parent, Name, Data)
- local Object = Instance.new(Object)
- for Index, Value in pairs(Data or {}) do
- Object[Index] = Value
- end
- Object.Parent = Parent
- Object.Name = Name
- return Object
- end
- Form = "None"
- function SSJB()
- if Form == "None" then
- Form = "SSJB"
- hed.face.Texture = "rbxassetid://439123785"
- attack = true
- anim.Parent = nil
- for i = 1, 35 do
- swait()
- lerpz(RJ, "C0", RJC0 * cf(0, 0, 0) * ang(rd(-15), rd(0), rd(0)), 0.3)
- lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(-15), rd(0), rd(0)), 0.3)
- lerpz(RS, "C0", RSC0 * cf(0, 0, -0.5) * ang(rd(-45), rd(0), rd(140)), 0.3)
- lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.3)
- lerpz(LS, "C0", LSC0 * cf(0, 0, -0.5) * ang(rd(-45), rd(0), rd(-140)), 0.3)
- lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.3)
- lerpz(RH, "C0", RHC0 * cf(0, 0, 0) * ang(rd(-15), rd(0), rd(-25)), 0.3)
- lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.3)
- lerpz(LH, "C0", LHC0 * cf(0, 0, 0) * ang(rd(-15), rd(0), rd(25)), 0.3)
- lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.3)
- end
- local S = Instance.new("Sound", c.HumanoidRootPart)
- S.SoundId = "rbxassetid://263260463"
- S.Volume = 1
- S:Play()
- local S2 = Instance.new("Sound", c.HumanoidRootPart)
- S2.SoundId = "rbxassetid://600060450"
- S2.Looped = true
- S2:Play()
- for i = 1, 15 do
- swait()
- lerpz(RJ, "C0", RJC0 * cf(0, 0, -0.35) * ang(rd(10), rd(0), rd(0)), 0.5)
- lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(35), rd(0), rd(0)), 0.5)
- lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(-5), rd(5), rd(45)), 0.5)
- lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
- lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(-5), rd(-5), rd(-45)), 0.5)
- lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
- lerpz(RH, "C0", RHC0 * cf(0.35, 0.35, 0.05) * ang(rd(0), rd(-10), rd(10)), 0.5)
- lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
- lerpz(LH, "C0", LHC0 * cf(-0.35, 0.35, 0.05) * ang(rd(0), rd(10), rd(-10)), 0.5)
- lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
- end
- for i, v in pairs(c:children()) do
- if v.ClassName == "Part" then
- local tra = trazx:clone()
- tra.Parent = v
- tra.LightEmission = 1
- tra.Color = ColorSequence.new(Color3.new(0, 0.6666666666666666, 1))
- tra.Rate = 15
- tra.Rotation = NumberRange.new(-5, 5)
- tra.Lifetime = NumberRange.new(1.5, 2)
- tra.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0, 0.1, 0),
- NumberSequenceKeypoint.new(1, 0, 0)
- })
- tra.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0, 1, 0),
- NumberSequenceKeypoint.new(0.135, 0, 0),
- NumberSequenceKeypoint.new(0.875, 0, 0),
- NumberSequenceKeypoint.new(1, 1, 0)
- })
- tra.Speed = NumberRange.new(0.5)
- tra.VelocitySpread = 360
- tra.VelocityInheritance = 0.5
- tra.ZOffset = 2
- tra.Acceleration = Vector3.new(0, 2.5, 0)
- end
- end
- local tra = trazx:clone()
- tra.Parent = c.HumanoidRootPart
- tra.Texture = "rbxassetid://347730682"
- tra.LightEmission = 0.8
- tra.Color = ColorSequence.new(Color3.new(0, 0.6666666666666666, 1))
- tra.Rate = 250
- tra.Rotation = NumberRange.new(-5, 5)
- tra.Lifetime = NumberRange.new(0.75)
- tra.Size = NumberSequence.new({
- NumberSequenceKeypoint.new(0, 4.81, 0.875),
- NumberSequenceKeypoint.new(1, 2.13, 0.875)
- })
- tra.Transparency = NumberSequence.new({
- NumberSequenceKeypoint.new(0, 1, 0),
- NumberSequenceKeypoint.new(0.0399, 0.85, 0),
- NumberSequenceKeypoint.new(0.394, 0.9, 0),
- NumberSequenceKeypoint.new(0.699, 1, 0),
- NumberSequenceKeypoint.new(1, 1, 0)
- })
- tra.Speed = NumberRange.new(15)
- tra.VelocitySpread = 360
- tra.VelocityInheritance = 0.5
- tra.ZOffset = 3.5
- tra.Acceleration = Vector3.new(0, 25, 0)
- for i = 1, 25 do
- for i = 1, 3 do
- swait()
- lerpz(RJ, "C0", RJC0 * cf(0, 0, -0.4) * ang(rd(12), rd(0), rd(0)), 0.5)
- lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(35), rd(0), rd(0)), 0.5)
- lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(-15), rd(5), rd(50)), 0.5)
- lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
- lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(-15), rd(-5), rd(-50)), 0.5)
- lerpz(LS, "C1", LSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
- lerpz(RH, "C0", RHC0 * cf(0.35, 0.35, 0.05) * ang(rd(0), rd(-12), rd(12)), 0.5)
- lerpz(RH, "C1", RHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
- lerpz(LH, "C0", LHC0 * cf(-0.35, 0.35, 0.05) * ang(rd(0), rd(12), rd(-12)), 0.5)
- lerpz(LH, "C1", LHC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
- end
- for i = 1, 3 do
- swait()
- lerpz(RJ, "C0", RJC0 * cf(0, 0, -0.35) * ang(rd(10), rd(0), rd(0)), 0.5)
- lerpz(N, "C0", NC0 * cf(0, 0, 0) * ang(rd(35), rd(0), rd(0)), 0.5)
- lerpz(RS, "C0", RSC0 * cf(0, 0, 0) * ang(rd(-15), rd(5), rd(45)), 0.5)
- lerpz(RS, "C1", RSC1 * cf(0, 0, 0) * ang(rd(0), rd(0), rd(0)), 0.5)
- lerpz(LS, "C0", LSC0 * cf(0, 0, 0) * ang(rd(-15), rd(-5), rd(-45)
Add Comment
Please, Sign In to add comment