private void API_onPlayerDisconnected(Client player, string reason) { // Add our player to our connection cooldown. ConnectionManager.AddClient(player.address); if (!API.hasEntityData(player, "Instance")) { return; } Player instance = (Player)API.getEntityData(player, "Instance"); // Used for players in interiors. Logs them out outside the interior. if (player.hasData("LastPosition")) { player.position = player.getData("LastPosition"); } if (player.hasData("Anticheat")) { AnticheatInfo info = player.getData("Anticheat"); info.isOnline = false; info.LastPosition = player.position; } // Update player data just as they disconnect. instance.updatePlayerPosition(); instance.PlayerClothing.savePlayerClothes(); instance.PlayerInventory.saveInventory(); instance.removePlayerVehicles(); DiscordBot.sendMessageToServer(string.Format("{0} has logged out from the server.", player.name)); }