I’ve got a simple block of code in a LocalScript that destroys it if the player is not the game’s owner:
if player.UserId ~= game.CreatorId then print(player.UserId, game.CreatorId) wait() script:Destroy() end
However, it has one issue: in a test environment (Accurate Play Solo, Local Server),
game.CreatorId is always 0 on the client. This means that the script will always be removed.
This behavior is unintuitive and probably unintentional. It creates bugs in code, and breaks scripts like the one I showed.
A temporary fix to this is to simply add a second condition,
game.CreatorId ~= 0, but I should not have to do this, and trying to debug this is a waste of a time (especially when you don’t know the cause).