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

CTF template's intermission and Timer GUI are visible in studio but not online?

Asked by 6 years ago
Edited 6 years ago

So i recently made a CTF game with the help of CTF template of roblox studio. into the game i added many scripts like map changing and Admin commands. for some reason after i updated the game and try to play it on online. the intermission doesnt take place and the GUI which displays the timer, score and all that isnt there. there is nothing wrong. as soon as i added my second map into the game. they all disappeared. they appear in studio but dont in online. by default the displaymanager script is a local one. my map changing script doesnt interfere with the other scripts either. though there is an intermission, the gui, the effect and the blur arent there.

this is my map changing script

~~~~~~~~~~~~


> ~~~~~~~~~~~~~~~~~ > `while true do > wait(20)--intermission > maps = game.ServerStorage.Maps:GetChildren() > map = maps[math.random(1, #maps)] > map:Clone().Parent = game.Workspace > > for _,player in pairs(game.Players:GetPlayers()) do > if player.Character then > spawns = map.Spawns:GetChildren() > player.Character:MoveTo(spawns[math.random(1, #spawns)].Position) > end > end > wait(310) > for i,player in pairs(game.Players:GetPlayers()) do > if player.Character then > player.Character.Head:remove() > end > end > end~~~~~~~~~~~~~~~~~

and this is the displayscript, which works in studio but not online. this is a local script. this further contains TimerManager and Notification manager `

~~~~~~~~~~~~~~~~~-- ROBLOX Services

local RunService = game:GetService('RunService')

-- Game Services
local NotificationManager = require(script.NotificationManager)
local TimerManager = require(script.TimerManager)

-- Local Variables

local Events = game.ReplicatedStorage.Events
local DisplayIntermission = Events.DisplayIntermission
local Camera = game.Workspace.CurrentCamera
local Player = game.Players.LocalPlayer
local ScreenGui = script.ScreenGui

local InIntermission = false

-- Initialization

game.StarterGui.ResetPlayerGuiOnSpawn = false
ScreenGui.Parent = Player.PlayerGui

-- Local Functions

local function StartIntermission()

    -- Find flag to circle. Default to circle center of map
    local possiblePoints = {}
    table.insert(possiblePoints, Vector3.new(0,50,0))

    for _, child in ipairs(game.Workspace:GetChildren()) do
        if child.Name == "FlagStand" then
            table.insert(possiblePoints, child.FlagStand.Position)
        end
    end

    local focalPoint = possiblePoints[math.random(#possiblePoints)]
    Camera.CameraType = Enum.CameraType.Scriptable
    Camera.Focus = CFrame.new(focalPoint)

    local angle = 0
    game.Lighting.Blur.Enabled = true
    RunService:BindToRenderStep('IntermissionRotate', Enum.RenderPriority.Camera.Value, function()
        local cameraPosition = focalPoint + Vector3.new(50 * math.cos(angle), 20, 50 * math.sin(angle))
        Camera.CoordinateFrame = CFrame.new(cameraPosition, focalPoint)
        angle = angle + math.rad(.25)
    end)    
end

local function StopIntermission()
    game.Lighting.Blur.Enabled = false
    RunService:UnbindFromRenderStep('IntermissionRotate')
    Camera.CameraType = Enum.CameraType.Custom
end

local function OnDisplayIntermission(display)
    if display and not InIntermission then
        InIntermission = true
        StartIntermission()
    end 
    if not display and InIntermission then
        InIntermission = false
        StopIntermission()
    end
end

-- Event Bindings
DisplayIntermission.OnClientEvent:connect(OnDisplayIntermission)

0
dont bother those lines..... Arsalaanguy 0 — 6y
0
its not displaymanager...its display script, i forgot that when typing the question Arsalaanguy 0 — 6y

Answer this question