0% found this document useful (0 votes)
290 views2 pages

Fly

This script allows players to fly in a game by attaching a body gyro and body velocity to the player's torso. It defines key controls to move forwards, backwards, left and right. When the fly key is pressed, it activates the Fly function which applies the body gyro and velocity to simulate flight. It continuously updates the flight direction and speed based on the key controls. When the fly key is released, it stops the flight functionality.

Uploaded by

Henry Vilchez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
290 views2 pages

Fly

This script allows players to fly in a game by attaching a body gyro and body velocity to the player's torso. It defines key controls to move forwards, backwards, left and right. When the fly key is pressed, it activates the Fly function which applies the body gyro and velocity to simulate flight. It continuously updates the flight direction and speed based on the key controls. When the fly key is released, it stops the flight functionality.

Uploaded by

Henry Vilchez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

----------------------------------------------------

--- A redistribution of https://wearedevs.net/ ---


----------------------------------------------------

--Waits until the player is in game


repeat wait()
until game.Players.LocalPlayer and game.Players.LocalPlayer.Character and
game.Players.LocalPlayer.Character:findFirstChild("Torso") and
game.Players.LocalPlayer.Character:findFirstChild("Humanoid")
local mouse = game.Players.LocalPlayer:GetMouse()

--Waits until the player's mouse is found


repeat wait() until mouse

--Variables
local plr = game.Players.LocalPlayer
local torso = plr.Character.Torso
local flying = true
local deb = true
local ctrl = {f = 0, b = 0, l = 0, r = 0}
local lastctrl = {f = 0, b = 0, l = 0, r = 0}
local maxspeed = 50
local speed = 0
local bg = nil
local bv = nil

--Actual flying
function Fly()
game.StarterGui:SetCore("SendNotification", {Title="Fly Activated";
Text="WeAreDevs.net"; Duration=1;})
bg = Instance.new("BodyGyro", torso)
bg.P = 9e4
bg.maxTorque = Vector3.new(9e9, 9e9, 9e9)
bg.cframe = torso.CFrame
bv = Instance.new("BodyVelocity", torso)
bv.velocity = Vector3.new(0,0.1,0)
bv.maxForce = Vector3.new(9e9, 9e9, 9e9)
repeat wait()
plr.Character.Humanoid.PlatformStand = true
if ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0 then
speed = speed+.5+(speed/maxspeed)
if speed > maxspeed then
speed = maxspeed
end
elseif not (ctrl.l + ctrl.r ~= 0 or ctrl.f + ctrl.b ~= 0) and speed ~= 0 then
speed = speed-1
if speed < 0 then
speed = 0
end
end
if (ctrl.l + ctrl.r) ~= 0 or (ctrl.f + ctrl.b) ~= 0 then
bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector *
(ctrl.f+ctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame *
CFrame.new(ctrl.l+ctrl.r,(ctrl.f+ctrl.b)*.2,0).p) -
game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
lastctrl = {f = ctrl.f, b = ctrl.b, l = ctrl.l, r = ctrl.r}
elseif (ctrl.l + ctrl.r) == 0 and (ctrl.f + ctrl.b) == 0 and speed ~= 0 then
bv.velocity = ((game.Workspace.CurrentCamera.CoordinateFrame.lookVector *
(lastctrl.f+lastctrl.b)) + ((game.Workspace.CurrentCamera.CoordinateFrame *
CFrame.new(lastctrl.l+lastctrl.r,(lastctrl.f+lastctrl.b)*.2,0).p) -
game.Workspace.CurrentCamera.CoordinateFrame.p))*speed
else
bv.velocity = Vector3.new(0,0.1,0)
end
bg.cframe = game.Workspace.CurrentCamera.CoordinateFrame * CFrame.Angles(-
math.rad((ctrl.f+ctrl.b)*50*speed/maxspeed),0,0)
until not flying
ctrl = {f = 0, b = 0, l = 0, r = 0}
lastctrl = {f = 0, b = 0, l = 0, r = 0}
speed = 0
bg:Destroy()
bg = nil
bv:Destroy()
bv = nil
plr.Character.Humanoid.PlatformStand = false
game.StarterGui:SetCore("SendNotification", {Title="Fly Deactivated";
Text="WeAreDevs.net"; Duration=1;})
end

--Controls
mouse.KeyDown:connect(function(key)
if key:lower() == "e" then
if flying then
flying = false
else
flying = true
Fly()
end
elseif key:lower() == "w" then
ctrl.f = 1
elseif key:lower() == "s" then
ctrl.b = -1
elseif key:lower() == "a" then
ctrl.l = -1
elseif key:lower() == "d" then
ctrl.r = 1
end
end)

mouse.KeyUp:connect(function(key)
if key:lower() == "w" then
ctrl.f = 0
elseif key:lower() == "s" then
ctrl.b = 0
elseif key:lower() == "a" then
ctrl.l = 0
elseif key:lower() == "d" then
ctrl.r = 0
end
end)

Fly()

You might also like