diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 673efc69..96af5129 100755 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -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) diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index d6f141d1..5247b0da 100755 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -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)) {