Why doesn’t this work? The console writes attempt to call a nil value about the local script.
Local Script:
local Players = game:GetService("Players")
local Player = Players.LocalPlayer
function Click()
if shared.is_banned_in_team(Player, Team) then
script.Parent.TextScaled = false
script.Parent.TextSize = 25
script.Parent.Text = "Faction blocked for violations"
return
end
end
Server Script:
local bans_default = {}
local ban_info = {}
local function shallow_copy(original)
local copy = {}
for key, value in pairs(original) do
copy[key] = value
end
return copy
end
for _, Team in pairs(game.Teams:GetChildren()) do
bans_default[Team.Name] = false
end
shared.ban_in_team = function(Player, Team) : nil
ban_info[Player.UserId][Team.Name] = true
end
shared.is_banned_in_team = function(Player, Team) : boolean
print(ban_info)
return ban_info[Player.UserId][Team.Name]
end
game.Players.PlayerAdded:Connect(function(Player)
ban_info[Player.UserId] = shallow_copy(bans_default)
if Player.UserId == -1 then
print("banning first player in researcher")
shared.ban_in_team(Player, game.Teams.Researcher)
end
end)