Moved item ban checking into the PlayerSlot handler. Still has the issue of kicking the person too early though.

This commit is contained in:
high 2011-08-13 12:50:53 -04:00
parent 258b7d48fb
commit ad664bfcca
4 changed files with 27 additions and 29 deletions

View file

@ -111,19 +111,10 @@ namespace TShockAPI
{PacketTypes.LiquidSet, HandleLiquidSet},
{PacketTypes.PlayerSpawn, HandleSpawn},
{PacketTypes.SyncPlayers, HandleSync},
{PacketTypes.PlayerSlot, HandlePlayerSlot},
};
}
private static bool HandleSync(GetDataHandlerArgs args)
{
if (TShock.Config.EnableAntiLag)
{
Debug.WriteLine("FUCK SYNCS");
return true;
}
return false;
}
public static bool HandlerGetData(PacketTypes type, TSPlayer player, MemoryStream data)
{
GetDataHandlerDelegate handler;
@ -141,6 +132,26 @@ namespace TShockAPI
return false;
}
private static bool HandleSync(GetDataHandlerArgs args)
{
return TShock.Config.EnableAntiLag;
}
private static bool HandlePlayerSlot(GetDataHandlerArgs args)
{
int plr = args.Data.ReadInt8();
int slot = args.Data.ReadInt8();
int stack = args.Data.ReadInt8();
string itemname = Encoding.ASCII.GetString(args.Data.ReadBytes((int)(args.Data.Length - args.Data.Position - 1)));
if (!args.Player.Group.HasPermission("usebanneditem") && TShock.Itembans.ItemIsBanned(itemname))
{
args.Player.Disconnect("Using banned item: " + itemname + ", remove it and rejoin");
}
return false;
}
private static bool HandlePlayerInfo(GetDataHandlerArgs args)
{
byte playerid = args.Data.ReadInt8();
@ -270,7 +281,7 @@ namespace TShockAPI
args.Player.AwaitingName = false;
return true;
}
if (args.Player.AwaitingTemp1)
{
args.Player.TempArea.X = x;
@ -594,7 +605,7 @@ namespace TShockAPI
if (args.Player.AwaitingName)
{
args.Player.SendMessage("Region Name: " + TShock.Regions.InAreaRegionName(tilex, tiley) , Color.Yellow);
args.Player.SendMessage("Region Name: " + TShock.Regions.InAreaRegionName(tilex, tiley), Color.Yellow);
args.Player.SendTileSquare(tilex, tiley);
args.Player.AwaitingName = false;
return true;