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

How do I make a BillboardGui/Part visible to a certain team?

Asked by 3 years ago

The localscript that fires it

local FakeOrder = game.ReplicatedStorage.Commands.FakeCommand
local Order = game.ReplicatedStorage.Commands.EnemySpot
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local remoteEvent = ReplicatedStorage:WaitForChild("Command")
local Player = game.Players.LocalPlayer
local Mouse = Player:GetMouse()
local UIS = game:GetService("UserInputService")
local Opened = script.Parent.Parent.Parent.OpenedVal
local Team = script.Parent.Parent.Parent.Parent.Parent.TeamColor

UIS.InputBegan:connect(function(keyCode)
    if keyCode.keyCode == Enum.KeyCode.Y then
        if Opened.Value == true then
            script.Parent.Parent.Parent.Enabled = false
            local CloneFakeOrder = FakeOrder:Clone()
            CloneFakeOrder.CFrame = CFrame.new(Vector3.new(Mouse.Hit.X, Mouse.Hit.Y, Mouse.Hit.Z))
            local position = CloneFakeOrder.Position
            remoteEvent:FireServer(Order, position, Team)
            script.Parent.Parent.Parent.Sound:Play()
            wait(0.1)
            Opened.Value = false
            print("done")
        end
    end
end)

script in serverscript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local remoteEvent = ReplicatedStorage:WaitForChild("Command")
local remoteEvent2 = ReplicatedStorage:WaitForChild("DeleteCommand")


remoteEvent.OnServerEvent:Connect(function(player, Order, position, Team)
    local ClonedCommand = Order:clone()
    local Command = ClonedCommand.Name
    ClonedCommand.Parent = workspace
    ClonedCommand.Position = position
    local Theam = Team.Name
    local ClohnedCommand = ClonedCommand
    remoteEvent2:FireAllClients(Theam ,ClohnedCommand)
    print("2done")
end)

Another localscript in StarterGui

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local remoteEvent = ReplicatedStorage:WaitForChild("DeleteCommand")

remoteEvent.OnClientEvent:Connect(function(player, Theam ,ClohnedCommand)
    if script.Parent.Parent.TeamColor == Theam then
        print("3done")
    else
        ClohnedCommand.BillboardGui:destroy()
        print("3done")
    end
end)

The error I'm getting is: Players.Player1.PlayerGui.LocalScript:8: attempt to index nil with 'BillboardGui'

Any help would be appreciated

0
have you tried using :WaitForChild("name") encase it hasn't loaded yet for client 4jnx 50 — 3y
0
That's not the answer because it's indexing nil which mean that ClohnedCommand is not a thing Kriegtical 0 — 3y

Answer this question