Ban/kick on death if HardcoreOnly == true

This commit is contained in:
Deathmax 2011-06-24 20:03:19 +08:00
parent d620493d7b
commit 1e66e1a256
5 changed files with 38 additions and 0 deletions

View file

@ -108,6 +108,7 @@ namespace TShockAPI
{PacketTypes.TileKill, HandleTileKill},
{PacketTypes.PlayerKillMe, HandlePlayerKillMe},
{PacketTypes.LiquidSet, HandleLiquidSet},
{PacketTypes.PlayerSpawn, HandleSpawn},
};
}
@ -448,5 +449,31 @@ namespace TShockAPI
}
return false;
}
private static bool HandleSpawn(GetDataHandlerArgs args)
{
byte player = args.Data.ReadInt8();
int spawnx = args.Data.ReadInt32();
int spawny = args.Data.ReadInt32();
if (args.Player.InitSpawn)
{
if (ConfigurationManager.hardcoreOnly && (ConfigurationManager.KickOnHardcoreDeath || ConfigurationManager.BanOnHardcoreDeath))
if (args.TPlayer.selectedItem != 50)
{
if (ConfigurationManager.BanOnHardcoreDeath)
{
if (!Tools.Ban(args.Player, "Death results in a ban"))
Tools.ForceKick(args.Player, "Death results in a ban, but can't ban you");
}
else
Tools.ForceKick(args.Player, "Death results in a kick");
return true;
}
}
else
args.Player.InitSpawn = true;
return false;
}
}
}