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.BrickColor = BrickColor.new("Royal purple") 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.fromRGB(98, 37, 209)
flame.Color = Color3.fromRGB(98, 37, 209)
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.fromRGB(98, 37, 209)
flame2.Color = Color3.fromRGB(98, 37, 209)
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)
local ev = Instance.new("RemoteEvent")
ev.Name = "ZapEvent"
ev.Parent = game.ReplicatedStorage
wait(1)
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Remote = ReplicatedStorage:WaitForChild("ZapEvent")
local bolt = Instance.new("Part")
bolt.Size = Vector3.new(.1,.1,.1)
bolt.BrickColor = BrickColor.new("Royal purple")
bolt.CanCollide = false
bolt.Anchored = true
bolt.Material = "Neon"
local function ShootElectrode(from,too)
local lastpos = from
local step = 2
local off = 2
local range = 100
local distance = (from-too).magnitude
if distance > range then distance = range end
for i = 0,distance, step do
local from = lastpos
local offset = Vector3.new(
math.random(-off,off),
math.random(-off,off),
math.random(-off,off)
)/10
local too = from +- (from-too).unit * step + offset
local p = bolt:Clone()
local DebrisFolder = workspace:FindFirstChild("DebrisFolder") or Instance.new("Folder", workspace)
DebrisFolder.Name = "DebrisFolder"
p.Parent = DebrisFolder
p.Size = Vector3.new(p.Size.x,p.Size.y,(from-too).magnitude)
p.CFrame = CFrame.new(from:Lerp(too,0.5), too)
game.Debris:AddItem(p,0.1)
lastpos = too
end
end
local function ContinuteScale(Part)
local TweenService = game:GetService("TweenService")
local TweenInform = TweenInfo.new(
.2,
Enum.EasingStyle.Linear,
Enum.EasingDirection.Out,
0,
false,
0
)
local Properties = {
Size = Vector3.new(2.901,2.722, 35)
}
local Tween = TweenService:Create(Part, TweenInform, Properties)
Tween:Play()
end
Remote.OnServerEvent:Connect(function(Player, Aim, MousePos)
local Character = Player.Character
local RootPart = Character:WaitForChild("HumanoidRootPart")
local RightHand = Character:WaitForChild("RightHand")
local Humanoid = Character:WaitForChild("Humanoid")
if Aim then
local DebrisFolder = workspace:FindFirstChild("DebrisFolder") or Instance.new("Folder", workspace)
DebrisFolder.Name = "DebrisFolder"
local Animation = Instance.new("Animation")
Animation.AnimationId = "rbxassetid://5024052336"
local LoadAnimation = Character.Humanoid:LoadAnimation(Animation)
LoadAnimation:Play()
local BodPos = Instance.new("BodyPosition")
BodPos.MaxForce = Vector3.new(5000000,5000000,5000000)
BodPos.P = 50000
BodPos.Position = RootPart.Position
BodPos.Parent = RootPart
spawn(function()
wait(3)
BodPos:Destroy()
end)
local YCframe = RootPart.Position.Y - Humanoid.HipHeight
local CharParts = Character:GetChildren()
math.randomseed(tick())
spawn(function()
for i = 1,#CharParts do
local Current = CharParts[i]
if Current.ClassName == "Part" or Current.ClassName == "MeshPart" then
ShootElectrode(Vector3.new(RootPart.Position.X-math.random(-5,5),YCframe, RootPart.Position.Z - math.random(-5,5)),Current.Position)
ShootElectrode(Vector3.new(RootPart.Position.X-math.random(-5,5),YCframe, RootPart.Position.Z - math.random(-5,5)),Current.Position)
wait()
end
end
end)
else
local DebrisFolder = workspace:FindFirstChild("DebrisFolder") or Instance.new("Folder", workspace)
DebrisFolder.Name = "DebrisFolder"
local HitBox = Instance.new("Part")
HitBox.Anchored = false
HitBox.Transparency = 1
HitBox.CanCollide = false
HitBox.BrickColor = BrickColor.new("Really red")
HitBox.Size = Vector3.new(5,5,5)
HitBox.Parent = DebrisFolder
spawn(function()
local repeatnum = 22
for i = 1,repeatnum do
ShootElectrode(RightHand.Position,MousePos.Position)
ShootElectrode(RightHand.Position,MousePos.Position)
wait()
end
HitBox:Destroy()
end)
local Mag = (RightHand.Position - MousePos.Position).magnitude
if Mag > 100 then
Mag = 100
end
HitBox.Size = Vector3.new(5,5,Mag)
HitBox.Position = RightHand.Position
HitBox.CFrame = CFrame.new(RightHand.Position, MousePos.Position)
HitBox.CFrame = HitBox.CFrame * CFrame.new(0,0,-Mag/2)
spawn(function()
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://3449186924"
sound.Parent = RootPart
sound.PlaybackSpeed = .8
sound.MaxDistance = 300
sound.Volume = 7
sound:Play()
wait(5)
sound:Destroy()
end)
local Hitppl = {}
local BeenHit
wait(.05)
HitBox.Touched:Connect(function(hit)
if not hit.Parent:FindFirstChild("Humanoid") then return end
if hit.Parent.Name ~= Character.Name then
local NewCharacter = hit.Parent
if Hitppl[Player.Name] then return end
Hitppl[Character.Name] = true
local Animation = Instance.new("Animation")
Animation.AnimationId = "rbxassetid://5024278738"
local LoadAnimation = NewCharacter:FindFirstChild("Humanoid"):LoadAnimation(Animation)
LoadAnimation:Play()
local BodPos = Instance.new("BodyPosition")
BodPos.MaxForce = Vector3.new(5000000,5000000,5000000)
BodPos.P = 50000
BodPos.Position = NewCharacter:FindFirstChild("HumanoidRootPart").Position
BodPos.Parent = NewCharacter:FindFirstChild("HumanoidRootPart")
NewCharacter:FindFirstChild("Humanoid"):TakeDamage(20)
wait(.1)
if hit.Parent:FindFirstChild("Humanoid").Health <= 0 then
game.Debris:AddItem(BodPos,.1)
else
game.Debris:AddItem(BodPos,2)
end
end
end)
end
end)
NLS([[wait(1)
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UserInputService = game:GetService("UserInputService")
local player = game.Players.LocalPlayer
local Char = player.Character
local Mouse = player:GetMouse()
local RootPart = Char:WaitForChild("HumanoidRootPart")
local Remote = ReplicatedStorage:WaitForChild("ZapEvent")
local Debounce = true
local Key = 'R'
local function LookTowards(RootPart, KillTime)
local Gyro = Instance.new("BodyGyro")
Gyro.MaxTorque = Vector3.new(700000,700000,700000)
Gyro.P = 20000
Gyro.CFrame = CFrame.new(RootPart.Position, Mouse.Hit.Position)
Gyro.Parent = RootPart
local Pos = Instance.new("BodyPosition")
Pos.MaxForce = Vector3.new(5000000,5000000,5000000)
Pos.P = 10000
Pos.Position = RootPart.Position
spawn(function()
for i = 1,50 do
Gyro.CFrame = CFrame.new(RootPart.Position, Mouse.Hit.Position)
wait(KillTime/50)
end
Pos:Destroy()
Gyro:Destroy()
end)
end
UserInputService.InputBegan:Connect(function(Input, IsTyping)
if IsTyping then return end
local KeyPressed = Input.KeyCode
if KeyPressed == Enum.KeyCode[Key] and Debounce and Char then
Debounce = false
Remote:FireServer(true, Mouse.Hit)
LookTowards(RootPart,2)
wait(1.32)
Remote:FireServer(false, Mouse.Hit)
wait(5)
Debounce = true
end
end)
]],owner.Backpack)
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 = true
flame2.Enabled = true
end
end
end
end
end
end
end
end)