Add require login config

This commit is contained in:
Zidonuke 2011-12-27 12:42:53 -05:00
parent 5c6d03f9af
commit 40973abb3f
3 changed files with 21 additions and 3 deletions

View file

@ -192,6 +192,9 @@ namespace TShockAPI
[Description("Disable/Revert a player if they exceed this number of tile places within 1 second.")]
public int TilePlaceThreshold = 20;
[Description("Require all players to register or login before being allowed to play.")]
public bool RequireLogin = false;
public static ConfigFile Read(string path)
{

View file

@ -605,6 +605,10 @@ namespace TShockAPI
{
args.Player.SendMessage("You have been disabled for cheating! Please login with a new character!", Color.Red);
}
else if (TShock.Config.RequireLogin && !args.Player.IsLoggedIn)
{
args.Player.SendMessage("Please /register or /login to play!", Color.Red);
}
else if (args.Player.IgnoreActionsForInventory)
{
args.Player.SendMessage("Server Side Inventory is enabled! Please /register or /login to play!", Color.Red);

View file

@ -728,17 +728,26 @@ namespace TShockAPI
NetMessage.syncPlayers();
if (Config.ServerSideInventory && !player.IsLoggedIn)
if (Config.RequireLogin)
{
player.SendMessage("Please /register or /login to play!", Color.Red);
}
else if (Config.ServerSideInventory)
{
player.IgnoreActionsForInventory = true;
player.SendMessage("Server Side Inventory is enabled! Please /register or /login to play!", Color.Red);
}
if (TShock.Config.PvPMode == "always" && !player.TPlayer.hostile)
if (Config.ServerSideInventory)
{
player.IgnoreActionsForInventory = true;
}
if (Config.PvPMode == "always" && !player.TPlayer.hostile)
{
player.IgnoreActionsForPvP = true;
player.SendMessage("PvP is forced! Enable PvP else you can't move or do anything!", Color.Red);
}
if (player.Group.HasPermission(Permissions.causeevents) && Config.InfiniteInvasion)
{
StartInvasion();
@ -1177,6 +1186,8 @@ namespace TShockAPI
check = true;
if (player.IgnoreActionsForCheating)
check = true;
if (!player.IsLoggedIn && Config.RequireLogin)
check = true;
return check;
}