Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

I made this Fly script and im trying to make it in a gui for mobile why wont it work?? Help!

Asked by 4 years ago

the fuction wont seem to start when i click my gui... code:

local rs = game:GetService("RunService")

local myPlayer = game.Players.LocalPlayer
local myChar = myPlayer.Character
local myHRP = myChar:WaitForChild("HumanoidRootPart")
local camera = game.Workspace.CurrentCamera

local flying = false
local speed = 0.5


local bp = Instance.new("BodyPosition", myHRP)
bp.MaxForce = Vector3.new()
bp.D = 10
bp.P = 10000

local bg = Instance.new("BodyGyro", myHRP)
bg.MaxTorque = Vector3.new()
bg.D = 10

function fly()
    flying = true
    bp.MaxForce = Vector3.new(400000,400000,400000)
    bg.MaxTorque = Vector3.new(400000,400000,400000)
    while flying do
        rs.RenderStepped:wait()
        bp.Position = myHRP.Position +((myHRP.Position - camera.CFrame.p).unit * speed)
        bg.CFrame = CFrame.new(camera.CFrame.p, myHRP.Position)
    end
end

function endFlying()
    bp.MaxForce = Vector3.new()
    bg.MaxTorque = Vector3.new()
    flying = false
end

if button.mouseButton1Down

 then
        if not flying then
            fly()
        else
            endFlying()
        end
    end

1 answer

Log in to vote
0
Answered by
crywink 419 Moderation Voter
4 years ago
Edited 4 years ago

Hey!

MouseButton1Down is an event, not a property. Therefore you would need to connect it to a function and said function will run whenever the button is clicked. Code is shown below...

button.MouseButton1Down:Connect (function() -- This function() end is called an anonymous function. All it means is that we can't refer back to it later. (which we don't need to)
    if not flying then
        fly()
    else
        endFlying()
    end
end)

If you have any more questions, feel free to ask.

If this helped, please make sure to accept the answer.

0
Tysm!! Deinonychusaurus 21 — 4y
Ad

Answer this question