Game.PlaceId is being set after publishing to Roblox

When opening a normal place file (rbxl), the game.PlaceId property is normally set to 0.

I use this property for detecting if I am testing the game in studio or not, so I can tell the game not to make HTTPRequests or use InsertService.

Recently, after publishing to Roblox, the property is changed to the ID of the place I just uploaded. This makes it difficult to see if I am testing in Studio.

local Debug_Mode = false
if (game.PlaceId == 0) then
     Debug_Mode = true
end
print(Debug_Mode)

[b]After opening the place file for the first time, Debug_Mode returns true and game.PlaceId is 0

After publishing the game, Debug_Mode returns false and game.PlaceId is set to the ID of the place I just uploaded to.

If I close and re-open the place file, game.PlaceId returns back to 0 and Debug_Mode returns true.
[/b]

It’s actually been doing this for a while.

A better way to do what you’re wanting to do is to use local debugMode = (game.JobId == '');

The JobId is not set unless it’s an online server.

I use something like this:

local HTTP_ENABLED = true
function HttpGet(url)
if HTTP_ENABLED then
local httpenabled, data = pcall(function() return http:GetAsync(url) end)
if not httpenabled then
HTTP_ENABLED = false
else
return data
end
end
end

[quote] I use something like this:

... [/quote]

function HttpGet(url)
if not HTTP_DISABLED then
local httpenabled, data = pcall(function() return http:GetAsync(url) end)
HTTP_DISABLED = not httpenabled
return data
end
end

Little bit nicer.

[quote] I use something like this:

... [/quote]

function HttpGet(url)
if not HTTP_DISABLED then
local httpenabled, data = pcall(function() return http:GetAsync(url) end)
HTTP_DISABLED = not httpenabled
return data
end
end

Little bit nicer.[/quote]

Yeah, I wrote that code in the forum and I didn’t particularly think much about it.

Setting PlaceId is not a bug.