Moved item ban checking into the PlayerSlot handler. Still has the issue of kicking the person too early though.
This commit is contained in:
parent
258b7d48fb
commit
ad664bfcca
4 changed files with 27 additions and 29 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -36,5 +36,5 @@ using System.Runtime.InteropServices;
|
|||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
|
||||
|
||||
[assembly: AssemblyVersion("3.2.6.0812")]
|
||||
[assembly: AssemblyFileVersion("3.2.6.0812")]
|
||||
[assembly: AssemblyVersion("3.2.6.0813")]
|
||||
[assembly: AssemblyFileVersion("3.2.6.0813")]
|
||||
|
|
|
|||
|
|
@ -329,8 +329,9 @@ namespace TShockAPI
|
|||
//Todo: Separate this into a few functions. SendTo, SendToAll, etc
|
||||
public virtual void SendData(PacketTypes msgType, string text = "", int number = 0, float number2 = 0f, float number3 = 0f, float number4 = 0f, int number5 = 0)
|
||||
{
|
||||
if (RealPlayer && !ConnectionAlive)
|
||||
if (!RealPlayer || !ConnectionAlive)
|
||||
return;
|
||||
|
||||
NetMessage.SendData((int)msgType, Index, -1, text, number, number2, number3, number4, number5);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -375,20 +375,6 @@ namespace TShockAPI
|
|||
player.TilesDestroyed.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
if (!player.Group.HasPermission("usebanneditem"))
|
||||
{
|
||||
var inv = player.TPlayer.inventory;
|
||||
|
||||
for (int i = 0; i < inv.Length; i++)
|
||||
{
|
||||
if (inv[i] != null && Itembans.ItemIsBanned(inv[i].name))
|
||||
{
|
||||
player.Disconnect("Using banned item: " + inv[i].name + ", remove it and rejoin");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue