summaryrefslogtreecommitdiffstats
path: root/Core/worldlimiter.lua
blob: 8bd9b5509a7fd4181a46c340558bbfc67a49b44e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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