Logging out is now safe in SSC. Fixes #1037

This commit is contained in:
White 2015-07-20 23:25:33 +09:30
parent dfc28c8522
commit 4371ad4d9a
2 changed files with 16 additions and 1 deletions

View file

@ -862,6 +862,17 @@ namespace TShockAPI
PlayerHooks.OnPlayerLogout(args.Player);
if (Main.ServerSideCharacter)
{
args.Player.IgnoreActionsForInventory = String.Format("Server side characters is enabled! Please {0}register or {0}login to play!", Commands.Specifier);
if (!args.Player.IgnoreActionsForClearingTrashCan && (!args.Player.Dead || args.Player.TPlayer.difficulty != 2))
{
args.Player.PlayerData.CopyCharacter(args.Player);
TShock.CharacterDB.InsertPlayerData(args.Player);
}
}
args.Player.PlayerData = new PlayerData(args.Player);
args.Player.Group = TShock.Groups.GetGroupByName(TShock.Config.DefaultGuestGroupName);
args.Player.tempGroup = null;
@ -873,6 +884,10 @@ namespace TShockAPI
args.Player.IsLoggedIn = false;
args.Player.SendSuccessMessage("You have been successfully logged out of your account.");
if (Main.ServerSideCharacter)
{
args.Player.SendWarningMessage("Server side characters are enabled. You need to be logged in to play.");
}
}
private static void PasswordUser(CommandArgs args)

View file

@ -988,7 +988,7 @@ namespace TShockAPI
player.IgnoreActionsForDisabledArmor = check;
if (CheckIgnores(player))
{
player.Disable("check ignores failed in SecondUpdate()", false);
player.Disable("check ignores failed in OnSecondUpdate()", false);
}
else if (Itembans.ItemIsBanned(player.TPlayer.inventory[player.TPlayer.selectedItem].name, player))
{