diff options
Diffstat (limited to 'Core/worldlimiter.lua')
-rw-r--r-- | Core/worldlimiter.lua | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Core/worldlimiter.lua b/Core/worldlimiter.lua new file mode 100644 index 000000000..8bd9b5509 --- /dev/null +++ b/Core/worldlimiter.lua @@ -0,0 +1,21 @@ +function OnPlayerMoving( Player ) + if LimitWorld == true then + local World = Player:GetWorld() + local SpawnX = math.floor(World:GetSpawnX() / 16) + local SpawnZ = math.floor(World:GetSpawnZ() / 16) + local X = math.floor(Player:GetPosX() / 16) + local Z = math.floor(Player:GetPosZ() / 16) + if ( (SpawnX + LimitWorldWidth - 1) < X ) then + Player:TeleportToCoords(Player:GetPosX() - 1, Player:GetPosY(), Player:GetPosZ()) + end + if ( (SpawnX - LimitWorldWidth + 1) > X ) then + Player:TeleportToCoords(Player:GetPosX() + 1, Player:GetPosY(), Player:GetPosZ()) + end + if ( (SpawnZ + LimitWorldWidth - 1) < Z ) then + Player:TeleportToCoords(Player:GetPosX(), Player:GetPosY(), Player:GetPosZ() - 1) + end + if ( (SpawnZ - LimitWorldWidth + 1) > Z ) then + Player:TeleportToCoords(Player:GetPosX(), Player:GetPosY(), Player:GetPosZ() + 1) + end + end +end
\ No newline at end of file |