diff --git a/TShockAPI/DB/RegionManager.cs b/TShockAPI/DB/RegionManager.cs index ccd96c63..25391bf2 100644 --- a/TShockAPI/DB/RegionManager.cs +++ b/TShockAPI/DB/RegionManager.cs @@ -236,7 +236,7 @@ namespace TShockAPI.DB } for (int i = 0; i < Regions.Count; i++) { - if (Regions[i].InArea(new Rectangle(x, y, 0, 0)) && !Regions[i].HasPermissionToBuildInRegion(ply)) + if (Regions[i].InArea(x,y) && !Regions[i].HasPermissionToBuildInRegion(ply)) { return false; } @@ -530,6 +530,18 @@ namespace TShockAPI.DB } return false; } + + public bool InArea(int x, int y) //overloaded with x,y + { + + if (x >= Area.Left && x <= Area.Right && y >= Area.Top && y <= Area.Bottom) + { + return true; + } + + return false; + } + public bool HasPermissionToBuildInRegion(TSPlayer ply) { @@ -598,4 +610,4 @@ namespace TShockAPI.DB return AllowedGroups.Remove(groupName); } } -} \ No newline at end of file +} diff --git a/TShockAPI/DB/RememberPosManager.cs b/TShockAPI/DB/RememberPosManager.cs index 50df4110..429437ea 100644 --- a/TShockAPI/DB/RememberPosManager.cs +++ b/TShockAPI/DB/RememberPosManager.cs @@ -70,7 +70,7 @@ namespace TShockAPI.DB { try { - using (var reader = database.QueryReader("SELECT * FROM RememberedPos WHERE Name=@0 AND IP=@1", name, IP)) + using (var reader = database.QueryReader("SELECT * FROM RememberedPos WHERE Name=@0 AND IP=@1 AND WorldID=@2", name, IP, Main.worldID.ToString())) { if (reader.Read()) { diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index 9bdd096b..fc880bce 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -854,9 +854,9 @@ namespace TShockAPI if (Config.RememberLeavePos) { - if (RememberedPos.GetLeavePos(player.Name, player.IP) != Vector2.Zero){ + if (RememberedPos.GetLeavePos(player.Name, player.IP) != Vector2.Zero){ var pos = RememberedPos.GetLeavePos(player.Name, player.IP); - player.LastNetPosition = pos; + player.Teleport((int) pos.X, (int) pos.Y + 3); }} @@ -1433,4 +1433,4 @@ namespace TShockAPI Utils.HashAlgo = file.HashAlgorithm; } } -} +}