local Player,game,owner = owner,game
local RealPlayer = Player
do
local RealPlayer = RealPlayer
script.Parent = RealPlayer.Character
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
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}
CAS.UnbindAction = CAS.BindAction
local function TriggerEvent(self,ev,...)
for _,f in pairs(self[ev].Functions) do
f(...)
end
end
FakeMouse.TriggerEvent = TriggerEvent
UIS.TriggerEvent = TriggerEvent
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").Stepped
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)
local RealGame = game
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
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").Stepped,
BindToRenderStep = function(self,name,_,fun)
self._btrs[name] = self.Stepped: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)
game,owner = FakeGame,FakeGame.Players.LocalPlayer
end
--made by bath1299 aka PIayVoider
warn("Made by bath1299 aka PIayVoider")
warn("Xenon Spirit Ran Succesfully!")
warn("To fly double tap space")
warn("Pressing F Will do a beam.")
warn("Pressing T Will Taunt.")
print("Version 1.2.1")
plr = owner
function Taunt()
local Taunt1 = Instance.new("Sound")
Taunt1.SoundId = "rbxassetid://3274178220"
Taunt1.Volume = 10
Taunt1.Looped = false
Taunt1.Parent = tors
local Taunt2 = Instance.new("FlangeSoundEffect",Taunt1)
Taunt2.Rate = "20"
Taunt2.Parent = Taunt1
Taunt1:Play()
wait(10)
Taunt1:Destroy()
end
attack = false
function beam()
attack = true
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
-- grab local player
localPlayer = Player
-- create beam
local beam = Instance.new("Beam")
beam.Segments = 1
beam.Width0 = 0.2
beam.Width1 = 0.2
beam.Color = ColorSequence.new(Color3.new(0, 0, 1))
beam.FaceCamera = true
-- create attachments
local attachment0 = Instance.new("Attachment")
local attachment1 = Instance.new("Attachment")
beam.Attachment0 = attachment0
beam.Attachment1 = attachment1
-- parent attachments to Terrain
beam.Parent = workspace.Terrain
attachment0.Parent = workspace.Terrain
attachment1.Parent = workspace.Terrain
-- grab the mouse
-- connect to Stepped (update every frame)
RunService.Stepped:Connect(function()
-- make sure the character exists
local character = localPlayer.Character
if not character then
-- disable the beam
beam.Enabled = false
return
end
-- make sure the head exists
local head = character:FindFirstChild("Torso")
if not head then
-- disable the beam
beam.Enabled = false
return
end
-- enable the beam
beam.Enabled = true
-- define origin and finish
local origin = head.Position
local finish = mouse.Hit.p
-- move the attachments
attachment0.Position = origin
attachment1.Position = finish
wait(5)
beam:Destroy()
attack = false
end)
end
local RunService = game:GetService("RunService")
Player = Player
local Character = Player.Character
local Root = Character:WaitForChild("Torso")
local Model = Instance.new("Model", Character)
lleg = Player.Character["Left Leg"]
rarm = Player.Character["Right Arm"]
rleg = Player.Character["Right Leg"]
larm = Player.Character["Left Arm"]
char = owner.Character
hed = Player.Character.Head
tors = Player.Character.Torso
lleg.Transparency = 1
rarm.Transparency = 1
rleg.Transparency = 1
larm.Transparency = 1
tors.Transparency = 1
hed.Transparency = 1
hed.face:Destroy()
Player.Character.Humanoid.WalkSpeed = 100
Instance.new("ForceField",char).Visible = false
local sick = Instance.new("Sound",tors)
sick.SoundId = "rbxassetid://1843158437"
sick.Volume = 5
sick.Looped = true
sick:Play()
Mosue = owner:GetMouse()
local Parts = {}
local Parts2 = {}
local Parts3 = {}
local Parts4 = {}
local RadX, RadY = 0, 0
local function Lerp(Part, CFrame, Time)
local NewCFrame = Part.CFrame:Lerp(CFrame, Time)
Part.CFrame = NewCFrame
return NewCFrame
end
local function Load(Table, XOffset, YOffset)
local Last
for _, Part in pairs(Table) do
if Last then
Lerp(Part, Last.CFrame * CFrame.Angles(RadX, RadY, 0) * CFrame.new(0, 0, 2), 0.5)
else
Lerp(Part, Root.CFrame * CFrame.Angles(RadX + math.rad(XOffset), RadY + math.rad(YOffset), 0) * CFrame.new(0, -0.5, 3), 0.5)
end
Last = Part
end
end
local function CreateParts(Table, Amount)
for i = 1, Amount do
local Part = Instance.new("Part", Model)
Part.Size = Vector3.new(1, 1, 5)
Part.Anchored = true
Part.CanCollide = false
Part.Material = "ForceField"
Part.BrickColor = BrickColor.new("Really blue")
table.insert(Table, Part)
end
end
CreateParts(Parts, 12)
CreateParts(Parts2, 24)
CreateParts(Parts3, 6)
CreateParts(Parts4, 6)
local SineX = 0
local SineY = 0
local function Step()
SineX = SineX + 0.1
SineY = SineY + 0.1 / 2
local SinX = math.sin(SineX) * 2
local SinY = math.sin(SineY) * 2
Load(Parts, 5 + SinX, 0 + SinY)
Load(Parts2, -5 + SinX, 0 + SinY)
Load(Parts3, 0 + SinX, 15 + SinY)
Load(Parts4, 0 + SinX, -15 + SinY)
end
RunService.Stepped:Connect(Step)
Model.Name = "egg"
-- Taunt
mouse = owner:GetMouse()
mouse.KeyDown:connect(function(key)
key = key:lower()
if key == "t" then
Taunt()
end
end)
mouse.KeyDown:connect(function(key)
key = key:lower()
if key == "f" then
beam()
end
end)
for i, v in pairs(char:GetDescendants()) do
if v:IsA("Accessory") then
v:Destroy()
end
end
NLS([[
local Players = owner
local Cam = workspace.CurrentCamera
local Player = owner
local Character = Player.Character
local Human = Character.Humanoid
local Mouse = Player:GetMouse()
local Torso = Character.Torso
local CU,BV,BG = Vector3.new(0,10,0)
local FB,LR,BO,UP = 0,0,0,0
local function Activate()
BV = Instance.new("BodyVelocity",Torso)
BV.Name = "FlyBodyVelocity"
BV.maxForce = Vector3.new(1e9,1e9,1e9)
BV.velocity = Vector3.new(0,0,0)
BG = Instance.new("BodyGyro",Torso)
BG.Name = "FlyBodyGyro"
BG.maxTorque = Vector3.new(1e9,1e9,1e9)
BG.cframe = Torso.CFrame
while wait() and BV and BV.Parent == Torso and BG.Parent == Torso do
local s = Human.WalkSpeed local t = CFrame.new(Cam.CoordinateFrame.p,Cam.Focus.p).lookVector * (FB+BO) * s
t = (CFrame.new(Cam.CoordinateFrame.p,Cam.Focus.p) * CFrame.Angles(0,math.pi/2,0)).lookVector * LF*s + t
t = t == Vector3.new() and Vector3.new(0,0.15,0) or t CU = t:lerp(CU,0.975)
if UP ~= 0 then BV.velocity = CU + Vector3.new(0,UP*s,0) else BV.velocity = CU end
BG.cframe = (t == Vector3.new() or t == Vector3.new(0,0.15,0)) and BG.cframe or CFrame.new(Vector3.new(),t)
end
end
local function Deactivate()
local bv = BV
BG:Destroy()
BV,BG = nil,nil
while wait() and bv.maxForce.magnitude > 1 do
bv.maxForce = Vector3.new():lerp(bv.maxForce,0.001)
end bv:Destroy()
end
local function Switch()
if BG then
Deactivate()
else
Activate()
end
end
local function FindBase()
return workspace:FindPartOnRay(Ray.new(Torso.Position,Vector3.new(0,-1000,0)),Character)
end
local function Park()
if not FindBase() or not CU then return end
if (select(2,FindBase())-Torso.Position).magnitude < 3 then
return
end UP,FB,LR = 0,0,0
while wait() and FindBase() and UP == 0 and FB == 0 and LR == 0 do
local x,y,z = BG.cframe:toEulerAnglesXYZ()
BG.cframe = CFrame.Angles(x/1.025,y,z/1.025)
if (select(2,FindBase())-Torso.Position).magnitude < 3 then break end
CU = CU:lerp(Vector3.new(0,-(select(2,FindBase())-Torso.Position).magnitude/2,0),0.975)
end if UP == 0 and FB == 0 and LR == 0 and FindBase() then Deactivate() end
end
Mouse.KeyDown:connect(function(k)
if k == "w" or k:byte() == 17 then
FB = 1
elseif k == "s" or k:byte() == 18 then
FB = -1
elseif k == "a" or k:byte() == 20 then
LF = 1
elseif k == "d" or k:byte() == 19 then
LF = -1
elseif k == "b" then
BO = 3 wait(1) BO = 0
elseif k == "p" then
ypcall(Park)
elseif k == " " then
UP = 1 local s = tick()
if Mouse.KeyDown:wait() == " " then
if tick()-s < 0.25 then
Switch()
end
end
elseif k:byte() == 48 then
UP = -1
end
end)
Mouse.KeyUp:connect(function(k)
if k == "w" or k:byte() == 17 then
FB = 0
elseif k == "s" or k:byte() == 18 then
FB = 0
elseif k == "a" or k:byte() == 20 then
LF = 0
elseif k == "d" or k:byte() == 19 then
LF = 0
elseif k == " " then
UP = 0
elseif k:byte() == 48 then
UP = 0
end
end)
nam = game:GetService("Players").LocalPlayer.Name
coroutine.wrap(function()
while wait() do
for a, b in pairs(Workspace[nam]:GetChildren()) do
if b:FindFirstChild('Handle') then
b.Handle.CanCollide = false
end
end
end
end)()
Workspace[nam].Humanoid.Changed:connect(function()
Workspace[nam].Humanoid.WalkSpeed = 100
end)
game:GetService('RunService').Stepped:connect(function()
Workspace[nam].Torso.CanCollide = false
Workspace[nam].Head.CanCollide = false
end)
Workspace[nam].Torso.Changed:connect(function()
Workspace[nam].Torso.CanCollide = false
Workspace[nam].Head.CanCollide = false
end)]],owner.Character)
warn([[LOADED !
Script made by bath1299. aka PlayVoider
Double spce to fly.
F for a beam Doesn't do damage.
T for taunt.
WIP.
Enjoy.
Showcased by Dark_Eccentric.
Xenon's spirit.
PlayVoider#4307]])