summaryrefslogtreecommitdiffstats
path: root/MCServer/Plugins/Core/onplayermoving.lua
diff options
context:
space:
mode:
Diffstat (limited to 'MCServer/Plugins/Core/onplayermoving.lua')
-rw-r--r--MCServer/Plugins/Core/onplayermoving.lua21
1 files changed, 21 insertions, 0 deletions
diff --git a/MCServer/Plugins/Core/onplayermoving.lua b/MCServer/Plugins/Core/onplayermoving.lua
new file mode 100644
index 000000000..a3a188894
--- /dev/null
+++ b/MCServer/Plugins/Core/onplayermoving.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:TeleportTo(Player:GetPosX() - 1, Player:GetPosY(), Player:GetPosZ())
+ end
+ if ( (SpawnX - LimitWorldWidth + 1) > X ) then
+ Player:TeleportTo(Player:GetPosX() + 1, Player:GetPosY(), Player:GetPosZ())
+ end
+ if ( (SpawnZ + LimitWorldWidth - 1) < Z ) then
+ Player:TeleportTo(Player:GetPosX(), Player:GetPosY(), Player:GetPosZ() - 1)
+ end
+ if ( (SpawnZ - LimitWorldWidth + 1) > Z ) then
+ Player:TeleportTo(Player:GetPosX(), Player:GetPosY(), Player:GetPosZ() + 1)
+ end
+ end
+end \ No newline at end of file