Can now TP without bed (bed stays). Stops client crashing (hopefully)
This commit is contained in:
parent
80ca8509a3
commit
f1b406fc3d
2 changed files with 31 additions and 17 deletions
|
|
@ -696,8 +696,6 @@ namespace TShockAPI
|
|||
|
||||
if (args.Player.Teleport(Main.spawnTileX, Main.spawnTileY))
|
||||
args.Player.SendMessage("Teleported to the map's spawnpoint.");
|
||||
else
|
||||
args.Player.SendMessage("Teleport unavailable - Spawn point set to Bed. To unset, destroy Bed and suicide at least once.", Color.Red);
|
||||
}
|
||||
|
||||
private static void TP(CommandArgs args)
|
||||
|
|
@ -725,8 +723,6 @@ namespace TShockAPI
|
|||
var plr = players[0];
|
||||
if (args.Player.Teleport(plr.TileX, plr.TileY + 3))
|
||||
args.Player.SendMessage(string.Format("Teleported to {0}", plr.Name));
|
||||
else
|
||||
args.Player.SendMessage("Teleport unavailable - Spawn point set to Bed. To unset, destroy Bed and suicide at least once.", Color.Red);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -762,8 +758,6 @@ namespace TShockAPI
|
|||
plr.SendMessage(string.Format("You were teleported to {0}.", plr.Name));
|
||||
args.Player.SendMessage(string.Format("You brought {0} here.", plr.Name));
|
||||
}
|
||||
else
|
||||
args.Player.SendMessage("Teleport unavailable - Target player has spawn point set to Bed.", Color.Red);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -851,9 +845,6 @@ namespace TShockAPI
|
|||
{
|
||||
if (args.Player.Teleport((int)warp.X, (int)warp.Y + 3))
|
||||
args.Player.SendMessage("Warped to " + warpName, Color.Yellow);
|
||||
else
|
||||
args.Player.SendMessage("Warp unavailable - Spawn point set to Bed. To unset, destroy Bed and suicide at least once.", Color.Red);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ namespace TShockAPI
|
|||
public DateTime LastExplosive { get; set; }
|
||||
public bool InitSpawn = false;
|
||||
public bool DisplayLogs = true;
|
||||
public Vector2 oldSpawn = Vector2.Zero;
|
||||
|
||||
public bool RealPlayer
|
||||
{
|
||||
|
|
@ -142,26 +143,48 @@ namespace TShockAPI
|
|||
int spawnTileY = Main.spawnTileY;
|
||||
Main.spawnTileX = tileX;
|
||||
Main.spawnTileY = tileY;
|
||||
SendData(PacketTypes.WorldInfo);
|
||||
SendTileSquare(tileX, tileY, 50);
|
||||
|
||||
SendData(PacketTypes.WorldInfo);
|
||||
|
||||
//150 Should avoid all client crash errors
|
||||
//The error occurs when a tile trys to update which the client hasnt load yet, Clients only update tiles withen 150 blocks
|
||||
//Try 300 if it does not work (Higher number - Longer load times - Less chance of error)
|
||||
SendTileSquare(tileX, tileY, 150);
|
||||
if (TPlayer.SpawnX > 0 && TPlayer.SpawnY > 0)
|
||||
{
|
||||
Main.tile[TPlayer.SpawnX, TPlayer.SpawnY].active = false;
|
||||
NetMessage.SendTileSquare(Index, TPlayer.SpawnX, TPlayer.SpawnY, 1);
|
||||
int spX = TPlayer.SpawnX;
|
||||
int spY = TPlayer.SpawnY;
|
||||
Main.tile[spX, spY].active = false;
|
||||
SendTileSquare(spX, spY);
|
||||
Spawn();
|
||||
Main.tile[TPlayer.SpawnX, TPlayer.SpawnY].active = true;
|
||||
NetMessage.SendTileSquare(Index, TPlayer.SpawnX, TPlayer.SpawnY, 1);
|
||||
SendMessage("Warning! Your bed spawn point has been destroyed because of warp", Color.Red);
|
||||
Main.tile[spX, spY].active = true;
|
||||
SendTileSquare(spX, spY);
|
||||
oldSpawn = new Vector2(spX, spY);
|
||||
}
|
||||
else
|
||||
{
|
||||
Spawn();
|
||||
//Checks if Player has spawn point set (Server may think player does not have spawn)
|
||||
if (oldSpawn != Vector2.Zero)
|
||||
{
|
||||
Main.tile[(int)oldSpawn.X, (int)oldSpawn.Y].active = false;
|
||||
SendTileSquare((int)oldSpawn.X, (int)oldSpawn.Y);
|
||||
Spawn();
|
||||
Main.tile[(int)oldSpawn.X, (int)oldSpawn.Y].active = true;
|
||||
SendTileSquare((int)oldSpawn.X, (int)oldSpawn.Y);
|
||||
NetMessage.syncPlayers();
|
||||
}
|
||||
//Player has no spawn point set
|
||||
else
|
||||
{
|
||||
Spawn();
|
||||
}
|
||||
}
|
||||
|
||||
Main.spawnTileX = spawnTileX;
|
||||
Main.spawnTileY = spawnTileY;
|
||||
|
||||
SendData(PacketTypes.WorldInfo);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue