Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

What is wrong with this map changer script?

Here is part of the script. There are obviously 18 other "if" statements, all with different weapon and map combos. When I go into a game, it doesn't work. I don't see any messages or anything.

while true do
 wait(5) 
 m = Instance.new("Message") 
 local players = game.Players:GetChildren()
 local num = math.random(1,18) 

 if num == 1 then 
  m.Parent = game.Workspace 
  m.Text = "Choosing Map..."
  wait(3)
  m.Text = "Map is 'The Classic Map', made by Anth4598"
  wait(3)
  m.Text = "This was the first map ever made for Blitz"
  wait(3)
  m.Text = "This map will keep going until only 1 person remains.(goes for 30 seconds in beta)"
  wait(3)
  m.Text = "The weapon chosen is a sword."
  m.Parent = nil
  game.Lighting.Map1:clone().Parent = game.Workspace  
  for i = 1, # players do
   players[i].Character:MoveTo(Vector3.new(-7, 9.8, -4))
   game.Lighting.LinkedSword:clone().Parent = players[i].Backpack 
  end
  wait(30) 
	players[i].Character:MoveTo(Vector3.new(-169, 5.6, 27))
  game.Workspace.Map1:Remove() 
  m.Parent = game.Workspace
  m.Text = "Blitz over!"
  wait(3)
  m.Text = "You have 1 minute until the start of the next Blitz."
  wait(3)
  m.Parent = nil
	m:remove()
	end

1 answer

while true do
 wait(5) 
 m = Instance.new("Message") 
 local players = game.Players:GetChildren()
 -- This was useless

 if NumPlayers > 1 then -- What you had it set up.. It would only work only if it generated a 1. 
  m.Parent = game.Workspace 
  m.Text = "Choosing Map..."
  wait(3)
  m.Text = "Map is 'The Classic Map', made by Anth4598"
  wait(3)
  m.Text = "This was the first map ever made for Blitz"
  wait(3)
  m.Text = "This map will keep going until only 1 person remains.(goes for 30 seconds in beta)"
  wait(3)
  m.Text = "The weapon chosen is a sword."
  m.Parent = nil
  game.Lighting.Map1:clone().Parent = game.Workspace  
  for i = 1, # players do
   players[i].Character:MoveTo(Vector3.new(-7, 9.8, -4))
   game.Lighting.LinkedSword:clone().Parent = players[i].Backpack 
  end
  wait(30) 
    players[i].Character:MoveTo(Vector3.new(-169, 5.6, 27))
  game.Workspace.Map1:Remove() 
  m.Parent = game.Workspace
  m.Text = "Blitz over!"
  wait(3)
  m.Text = "You have 1 minute until the start of the next Blitz."
  wait(3)
  m.Parent = nil
    m:remove()
else -- This below will make it so the script shouldn't break if there is less then 2 players.
m.Text = "Need more then 1 player to start!"
wait(5)
m:Destroy()
end
  end

this should work now. If this doesn't work, please tell me what the output is considering you didn't say any information about the output.

+1

2 comments

0

Great, but can I still do the math.random thing so it will pick a random map and weapon combination?

0

you can, it won't affect anything.

This discussion is preserved as it was. New answers, comments, and votes are closed.