Merge pull request #352 from k0rd/general-devel
Fixing cutting off regions and odd remembered position behavior sending players to an unteleportable place
This commit is contained in:
commit
fcf573e982
3 changed files with 18 additions and 6 deletions
|
|
@ -236,7 +236,7 @@ namespace TShockAPI.DB
|
||||||
}
|
}
|
||||||
for (int i = 0; i < Regions.Count; i++)
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -530,6 +530,18 @@ namespace TShockAPI.DB
|
||||||
}
|
}
|
||||||
return false;
|
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)
|
public bool HasPermissionToBuildInRegion(TSPlayer ply)
|
||||||
{
|
{
|
||||||
|
|
@ -598,4 +610,4 @@ namespace TShockAPI.DB
|
||||||
return AllowedGroups.Remove(groupName);
|
return AllowedGroups.Remove(groupName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ namespace TShockAPI.DB
|
||||||
{
|
{
|
||||||
try
|
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())
|
if (reader.Read())
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -854,9 +854,9 @@ namespace TShockAPI
|
||||||
|
|
||||||
if (Config.RememberLeavePos)
|
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);
|
var pos = RememberedPos.GetLeavePos(player.Name, player.IP);
|
||||||
player.LastNetPosition = pos;
|
|
||||||
player.Teleport((int) pos.X, (int) pos.Y + 3);
|
player.Teleport((int) pos.X, (int) pos.Y + 3);
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
@ -1433,4 +1433,4 @@ namespace TShockAPI
|
||||||
Utils.HashAlgo = file.HashAlgorithm;
|
Utils.HashAlgo = file.HashAlgorithm;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue