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

Trying to Clone GUI in Terms of a Specific LocalScript?

Asked by 7 years ago

I have a game, and it includes two teams. There are some values I'm not sure about, but anywho, the game without this first localscript placed in the StarterGUI will not make the entire game work. I received two errors when trying to use a tool where I wanted to clone a GUI.

Errors:

Error

Warning

I also have the scripts that correlate to each.

Error Script:

local tool = script.Parent
local plr = game.Players.LocalPlayer
local gui1 = game.ReplicatedStorage.ControlsGui
local controlsGui = plr.PlayerGui:FindFirstChild("ControlsGui")

tool.Equipped:connect(function()
    tool.rMovement.Disabled=true
    tool.lMovement.Disabled=true
    if plr and tool.Parent:findFirstChild("Humanoid") and not controlsGui then
        controlsGui=gui1:Clone()
        controlsGui.Parent=plr.PlayerGui --considered Line 29
    end
    controlsGui:WaitForChild('TextButton').Visible = true
    if tool.HandValue.Value==1 then
        tool.lMovement.Disabled=false
    else tool.rMovement.Disabled=false 
    end
end)

Warning Script:

local player = game.Players.LocalPlayer
local playerTool = script.Parent
local playerGui = player:WaitForChild('PlayerGui')
local controlGui = playerGui:WaitForChild('ControlsGui')
local txtBttn = controlGui:WaitForChild('TextButton')
local Debounce = true
local Active = false -- Rewritten

local CoolDown = 0.01
function Start()
playerTool.rMovement.Disabled=true
    playerTool.lMovement.Disabled=true
    playerTool.HandValue.Value = 1
        playerTool.GripPos = Vector3.new(0.5, -0.5, -0.3)
        wait(0.01)
        playerTool.GripPos = Vector3.new(0.5, -1, 0)
        wait(0.01)
        playerTool.GripPos = Vector3.new(0.5, -1.5, 0.5)
        wait(0.01)
        playerTool.GripPos = Vector3.new(0.5, -1.5, 1)
        wait(0.01)
        playerTool.GripPos = Vector3.new(0.5, -1.5, 1.5)
        wait(0.01)
        playerTool.GripPos = Vector3.new(0.5, -1, 2)
        wait(0.01)
        playerTool.GripPos = Vector3.new(1, -0.5, 2.5)
        wait(0.01)
        playerTool.GripPos = Vector3.new(1.5, 0, 3)
        wait(0.01)
        playerTool.GripPos = Vector3.new(2, 0.5, 3)
        wait(0.01)
        playerTool.GripPos = Vector3.new(2.5, 1, 3)
        wait(0.01)
        playerTool.GripPos = Vector3.new(3, 1.5, 3)
        wait(0.01)
        playerTool.GripPos = Vector3.new(2.5, 2, 2.5)
        wait(0.01)
        playerTool.GripPos = Vector3.new(2, 2.5, 2)
        wait(0.01)
        playerTool.GripPos = Vector3.new(1.5, 3, 1.5)
        wait(0.01)
        playerTool.GripPos = Vector3.new(1, 3.5, 1)
        wait(0.01)
        playerTool.GripPos = Vector3.new(0.5, 3, 0.5)
        wait(0.01)
        playerTool.GripPos = Vector3.new(0.5, 2.5, 0)
        wait()
    playerTool.lMovement.Disabled=false
end

playerTool.Unequipped:Connect(function()
    if controlGui and controlGui:FindFirstChild('TextButton') then
      -- constantly update it so that it's accurate.
        controlGui.TextButton.Visible = false
    end
end)

txtBttn.MouseButton1Down:connect(function()
    if Debounce then 
    Debounce = false
        Start()
    wait(CoolDown)
    Debounce = true
  end
end)


function onKeyPress(actionName, userInputState, inputObject)
    if userInputState == Enum.UserInputState.Begin then
        if Active and Debounce then
        Debounce = false
            Start()
        wait(CoolDown)
        Debounce = true
    end
    end
end

game.ContextActionService:BindAction("keyPress", onKeyPress, false, Enum.KeyCode.G)

And here's the script that runs the entire game:

PLAYERS=workspace.PLAYERS
player=script.Parent.Parent
gui=game.StarterGui

wait(1)
if player:findFirstChild("inhere") then
    wait()
else
    local d=Instance.new("ObjectValue") --might have an importance due to why the GUI won't show up.
    d.Parent=player
    d.Name="inhere"
    local s=Instance.new("NumberValue")
    s.Parent=player
    s.Name="playernumber"
    gui.AllPoints:clone().Parent=player
    gui.Points:clone().Parent=player
    gui.ShotsA:clone().Parent=player
    gui.ShotsM:clone().Parent=player
    wait()
    if player.TeamColor==BrickColor.new("Bright red") then
        gui.Red:clone().Parent=player.Character.Torso
        if PLAYERS.RED.one.Value~="" then
            if PLAYERS.RED.two.Value~="" then
                if PLAYERS.RED.three.Value~="" then
                    if PLAYERS.RED.four.Value~="" then
                        wait(1)
                    else
                        PLAYERS.RED.four.Value=player.Name
                        player.playernumber.Value=4
                    end
                else
                    PLAYERS.RED.three.Value=player.Name
                    player.playernumber.Value=3
                end
            else
                PLAYERS.RED.two.Value=player.Name
                player.playernumber.Value=2
            end
        else
            PLAYERS.RED.one.Value=player.Name
            player.playernumber.Value=1
        end
    elseif player.TeamColor==BrickColor.new("Bright blue") then
        gui.Blue:Clone().Parent=player.Character.Torso
        if PLAYERS.BLUE.one.Value~="" then
            if PLAYERS.BLUE.two.Value~="" then
                if PLAYERS.BLUE.three.Value~="" then
                    if PLAYERS.BLUE.four.Value~="" then
                        wait()
                    else
                        PLAYERS.BLUE.four.Value=player.Name
                        player.playernumber.Value=4
                    end
                else
                    PLAYERS.BLUE.three.Value=player.Name
                    player.playernumber.Value=3
                end
            else
                PLAYERS.BLUE.two.Value=player.Name
                player.playernumber.Value=2
            end
        else
            PLAYERS.BLUE.one.Value=player.Name
            player.playernumber.Value=1
        end
    end
end

If none of these scripts helped, please contact me, I am really in need of fixing this GUI so that it can pop up in-game.

Sincerely, LukeGabrieI aka EnergyBrickz

Answer this question