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

Why does this work in studio but doesn't work in real play?

Asked by 8 years ago

This script for somehow makes no errors in Studio, but makes lots in real play. How come this doesn't work in real play?

while true do
    local minigames = game.Lighting.Minigames:GetChildren()      
    local number = math.random(1, #minigames)
    local map = minigames[number]
    local spawns = map.Spawns:GetChildren()
    for intermission = 25,1,-1 do
        game.Workspace.Timer.Value = "Intermission: "..intermission
        wait(1)
    end
    game.Workspace.Timer.Value = "The game will start shortly."
    wait(3)
    game.Workspace.Timer.Value = "Choosing Minigame..."
    wait(3)
    game.Workspace.Timer.Value = "Minigame: "..map.Name
    wait(3)
    game.Workspace.Timer.Value = "Loading Minigame..."
    wait(3)
    local mapModel = map:clone()
    mapModel.Parent = workspace
    game.Workspace.Timer.Value = "Teleporting players..."
    wait(1)   
    for _, player in pairs(game.Players:GetPlayers()) do
        player.InGame.Value = true
        local character = player.Character
        local randomSpawn = spawns[math.random(#spawns)] -- EDIT
        if character then
            character:MoveTo(randomSpawn.Position) -- EDIT
         end
    end
    wait(1)
    for readySetGo = 3,1,-1 do
        game.Workspace.Timer.Value = readySetGo
        wait(1)
    end
    for timer = 90,1,-1 do
        for _, player in pairs(game.Players:GetPlayers()) do
        local character = player.Character
        if character then
         character.Humanoid.Died:connect(function()
         local inGame = player.InGame
         inGame.Value = false
    end) -- EDIT
 end
end
        game.Workspace.Timer.Value = "Time left: "..timer -- Not done yet? Then keep counting, i guess.
        wait(1) --Wait before the next second counting
        end
       game.Workspace.Timer.Value = "Game over! Winners get 15 points!"
        mapModel:remove()
        for _, player in pairs(game.Players:GetPlayers()) do
           inGame = player.InGame
           if inGame then
        if inGame.Value == true then
           print("It works")
           local points = player.leaderstats.Points
           points.Value = points.Value + 15
           player:LoadCharacter()
           inGame.Value = false
        end
        end
    wait(3)
    end
end



BTW: I have FilteringEnabled on.

0
Maybe turn that off. Instead, make a Kick() on whoever exploited your things. mine248 40 — 8y
0
Is this a LocalScript? Rhyles 80 — 8y
0
To mine: I have no idea how to do kick(). To rhyles: No. It is a server script NeonicPlasma 181 — 8y

Answer this question