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
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").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)
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").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)
game,owner = FakeGame,FakeGame.Players.LocalPlayer
end
local owner = owner
for i,v in pairs(owner.Character:GetDescendants()) do if v:IsA("BasePart") then v.Material = "ForceField" end end
for i,v in pairs(owner.Character:GetDescendants()) do if v:IsA("BasePart") then v.Color = Color3.new(81, 0, 131) end end
for i,v in pairs (owner.Character:GetChildren()) do
if v:IsA("Accessory") then
v:Destroy()
end
end
mouse = owner:GetMouse()
owner.Character["Head"].face.Texture = "rbxassetid://"
owner.Character.Shirt:Remove()
owner.Character.Pants:Remove()
local att = Instance.new("Attachment", owner.Character.LeftHand)
local flame = Instance.new("Fire")
flame.Heat = 1
flame.Size = 2
flame.SecondaryColor = Color3.new(1, 1, 1)
flame.Color = Color3.new(55, 0, 236)
flame.Enabled = false
flame.Parent = att
local att2 = Instance.new("Attachment", owner.Character.RightHand)
local flame2 = Instance.new("Fire")
flame2.Heat = 1
flame2.Size = 2
flame2.SecondaryColor = Color3.new(1, 1, 1)
flame2.Color = Color3.new(55, 0, 236)
flame2.Enabled = false
flame2.Parent = att2
--[[
local wings = Instance.new("Accessory")
local handle = Instance.new("Part")
handle.Name = "Handle"
handle.Parent = wings
local msh = Instance.new("SpecialMesh")
msh.MeshId = "http://www.roblox.com/asset/?id=215682815"
msh.TextureId = "http://www.roblox.com/asset/?id=337341755"
msh.Offset = Vector3.new(0, -1.3, -1)
msh.Parent = handle
wings.Parent = owner.Character
]]--
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://"
sound.Volume = 0.5
sound.Looped = true
sound.Parent = owner.Character.Head
sound:Play()
owner.Character.Humanoid.JumpPower = 60
owner.Character.Humanoid.WalkSpeed = 12
owner.Character.Humanoid.MaxHealth = 9999999999
owner.Character.Humanoid.Health = 9999999999
NLS([[local mouse = game.Players.LocalPlayer:GetMouse()
local running = false
function getTool()
for _, kid in ipairs(script.Parent:GetChildren()) do
if kid.className == "Tool" then return kid end
end
return nil
end
mouse.KeyDown:connect(function (key) -- Run function
key = string.lower(key)
if string.byte(key) == 48 then
running = true
local keyConnection = mouse.KeyUp:connect(function (key)
if string.byte(key) == 48 then
running = false
end
end)
for i = 1,5 do
game.Workspace.CurrentCamera.FieldOfView = (70+(i*2))
wait()
end
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 100
repeat wait () until running == false
keyConnection:disconnect()
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = 16
for i = 1,5 do
game.Workspace.CurrentCamera.FieldOfView = (80-(i*2))
wait()
end
end
end)
]],owner.Character)
c = owner.Character
attack = false
thing = 0
sine = 0
Sped = 0
game:GetService("RunService").Heartbeat:connect(function()
if attack == false then
thing = (c.HumanoidRootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
if c.HumanoidRootPart.Velocity.Y > 1 then sine = sine + 1
elseif (c.HumanoidRootPart.Velocity * Vector3.new(1, 0, 1)).magnitude > 2 then
sine = sine + 1 Sped = Sped + 0.1
if thing <= 30 then -- this is spedo
for i,v in pairs(c:children()) do
if v.ClassName == "Part" then
for i,v2 in pairs(v:children()) do
if flame.ClassName == "Fire" then
flame.Enabled = false
flame2.Enabled = false
end
end
end
end
else
for i,v in pairs(c:children()) do
if v.ClassName == "Part" then
for i,v2 in pairs(v:children()) do
if flame.ClassName == "Fire" then
flame.Enabled = false
flame2.Enabled = false
end
end
end
end
end
end
end
end)