Logging out is now safe in SSC. Fixes #1037
This commit is contained in:
parent
dfc28c8522
commit
4371ad4d9a
2 changed files with 16 additions and 1 deletions
|
|
@ -862,6 +862,17 @@ namespace TShockAPI
|
||||||
|
|
||||||
PlayerHooks.OnPlayerLogout(args.Player);
|
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.PlayerData = new PlayerData(args.Player);
|
||||||
args.Player.Group = TShock.Groups.GetGroupByName(TShock.Config.DefaultGuestGroupName);
|
args.Player.Group = TShock.Groups.GetGroupByName(TShock.Config.DefaultGuestGroupName);
|
||||||
args.Player.tempGroup = null;
|
args.Player.tempGroup = null;
|
||||||
|
|
@ -873,6 +884,10 @@ namespace TShockAPI
|
||||||
args.Player.IsLoggedIn = false;
|
args.Player.IsLoggedIn = false;
|
||||||
|
|
||||||
args.Player.SendSuccessMessage("You have been successfully logged out of your account.");
|
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)
|
private static void PasswordUser(CommandArgs args)
|
||||||
|
|
|
||||||
|
|
@ -988,7 +988,7 @@ namespace TShockAPI
|
||||||
player.IgnoreActionsForDisabledArmor = check;
|
player.IgnoreActionsForDisabledArmor = check;
|
||||||
if (CheckIgnores(player))
|
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))
|
else if (Itembans.ItemIsBanned(player.TPlayer.inventory[player.TPlayer.selectedItem].name, player))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue