So, basically, I'm getting the error "Value cannot be assigned to Script 'Workspace.Map1.Finish.Control', Line 3". I've never gotten this error, and could use some help.
So, first this is the main code:
wait(2)
local GameMaps = {}
function Update(text)
for i, player in pairs(game.Players:GetPlayers()) do
player.PlayerGui.Display.MainFrame:WaitForChild("Text").Text = tostring(text)
end
end
for i, games in pairs(game.ServerStorage.Maps:GetChildren()) do
table.insert(GameMaps, #GameMaps + 1, games.Name)
end
repeat wait(1) until game.Players.NumPlayers > 0
Update("Welcome to motioning_relatch's Race!")
wait(3)
Update("Lets start by choosing a random map.")
wait(3)
MapName = GameMaps[math.random(1, #GameMaps)]
Map = game.ServerStorage.Maps:FindFirstChild(MapName)
MapClone = Map:Clone()
MapClone.Parent = workspace
wait(3)
Update("The map is " .. Map.Name .. " created by " .. Map:FindFirstChild("Owner").Value .. "!")
wait(3)
Update("Teleporting players to the map.")
wait(3)
for i, player in pairs(game.Players:GetPlayers()) do
player.Character:FindFirstChild("Torso").Anchored = true
local Spawn = math.random(1, 3)
if Spawn == 1 then
player.Character:MoveTo(MapClone:FindFirstChild("Spawn1").Position)
local Spawn = math.random(1, 3)
elseif Spawn == 2 then
player.Character:MoveTo(MapClone:FindFirstChild("Spawn2").Position)
local Spawn = math.random(1, 3)
elseif Spawn == 3 then
player.Character:MoveTo(MapClone:FindFirstChild("Spawn3").Position)
local Spawn = math.random(1, 3)
end
end
Update("All players have been teleported to the map.")
wait(3)
Update("Instructions: Race eachother to the end to win!")
wait(3)
for i = 3, 1, - 1 do
Update(i)
wait(1)
end
Update("Begin!")
for i, player in pairs(game.Players:GetPlayers()) do
player.Character:FindFirstChild("Torso").Anchored = false
end
repeat wait(0.4) until MapClone.Finish.Touched == true
Update("The winner of the race was " .. MapClone:FindFirstChild("Winner").Value .. " who will recieve 100 points!")
WinnerPlayer = game.Players:FindFirstChild(MapClone:FindFirstChild("Winner").Value)
WinnerPlayer:FindFirstChild("leaderstats").Points.Value = WinnerPlayer:FindFirstChild("leaderstats").Points.Value + 100
wait(3)
Update("Destroying current map.")
MapClone:Destroy
Next, we have this code for the control:
script.Parent.Touched:connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
script.Parent.Touched.Value = true
script.Parent:FindFirstChild("Winner").Value = hit.Parent.Name
end
end)
Help?
