public frmTribeLog(ArkPlayer player) { InitializeComponent(); lblPlayerName.Text = player.CharacterName; lblPlayerLevel.Text = player.CharacterLevel.ToString(); lblPlayerLevelLabel.Visible = true; lblTribeName.Text = player.Tribe != null ? player.Tribe.Name : ""; picPlayerGender.Image = player.Gender == ArkPlayerGender.Male ? ARKViewer.Properties.Resources.marker_28 : ARKViewer.Properties.Resources.marker_29; lvwLog.Items.Clear(); if (player.Tribe != null && player.Tribe.Logs.Count() > 0) { LoadLog(player.Tribe.Logs); } }
public frmPlayerInventoryViewer(ArkGameData gameData, List <ItemClassMap> availableItemList, ArkPlayer selectedPlayer) { InitializeComponent(); currentPlayer = selectedPlayer; lblPlayerName.Text = selectedPlayer.CharacterName; lblPlayerLevel.Text = selectedPlayer.CharacterLevel.ToString(); lblTribeName.Text = selectedPlayer.Tribe != null ? selectedPlayer.Tribe.Name : ""; picPlayerGender.Image = selectedPlayer.Gender == ArkPlayerGender.Male ? ARKViewer.Properties.Resources.marker_28 : ARKViewer.Properties.Resources.marker_29; lblPlayerId.Text = $"Player Id: {selectedPlayer.Id.ToString()}"; //inventory images itemMapList = availableItemList; imageList1.Images.Clear(); int x = 1; while (true) { Image itemImage = (Image)ARKViewer.Properties.Resources.ResourceManager.GetObject($"item_{x}"); if (itemImage == null) { break; } imageList1.Images.Add(itemImage); x++; } PopulateMissionScores(); PopulatePersonalInventory(); List <ArkTamedCreature> tribeTameList = new List <ArkTamedCreature>(); if (selectedPlayer.Tribe != null) { foreach (var player in selectedPlayer.Tribe.Members) { var playerTames = gameData.TamedCreatures.Where(s => s.OwningPlayerId == player.Id || s.ImprinterPlayerDataId == player.Id || s.TargetingTeam == player.TribeId).Distinct(); if (playerTames != null && playerTames.Count() > 0) { tribeTameList.AddRange(playerTames); } } } else { //going solo var playerTames = gameData.TamedCreatures.Where(s => s.OwningPlayerId == selectedPlayer.Id || s.ImprinterPlayerDataId == selectedPlayer.Id).Distinct(); if (playerTames != null && playerTames.Count() > 0) { tribeTameList.AddRange(playerTames); } } tamedCreatureList = tribeTameList.Distinct().ToList(); //get a list of tamed dinos //get list of tamed dino types cboCreatureType.Items.Clear(); cboCreatureType.Items.Add(new ComboValuePair("", "[All]")); if (tamedCreatureList != null && tamedCreatureList.Count > 0) { var tamedCreatureTypes = tamedCreatureList.GroupBy(t => t.ClassName) .Select(g => new ComboValuePair() { Key = g.Key, Value = (ARKViewer.Program.ProgramConfig.DinoMap.FirstOrDefault(d => d.ClassName == g.Key) == null?g.Key: ARKViewer.Program.ProgramConfig.DinoMap.First(d => d.ClassName == g.Key).FriendlyName) }) .OrderBy(o => o.Value); cboCreatureType.Items.AddRange(tamedCreatureTypes.ToArray()); } cboCreatureType.SelectedIndex = 0; //get list of inventory containers tribeStructureList = new List <ArkStructure>(); List <ArkItem> tribeStructures = new List <ArkItem>(); if (selectedPlayer.Tribe != null) { foreach (var player in selectedPlayer.Tribe.Members) { var playerStructures = gameData.Structures.Where(s => s.Inventory != null && s.Inventory.Count() > 0 && (s.OwningPlayerId == player.Id || s.TargetingTeam == player.TribeId)); if (playerStructures != null && playerStructures.Count() > 0) { tribeStructureList.AddRange(playerStructures); } } } else { //going solo if (selectedPlayer.Inventory != null && selectedPlayer.Inventory.Count() > 0) { var playerStructures = gameData.Structures.Where(s => s.Inventory != null && s.Inventory.Count() > 0 && (s.OwningPlayerId == selectedPlayer.Id)); if (playerStructures != null && playerStructures.Count() > 0) { foreach (var structureInv in playerStructures) { tribeStructureList.AddRange(playerStructures); } } } } var containerTypes = tribeStructureList.GroupBy(s => s.ClassName) .Select(g => new ComboValuePair() { Key = g.Key, Value = (ARKViewer.Program.ProgramConfig.StructureMap.FirstOrDefault(d => d.ClassName == g.Key) == null ? g.Key: ARKViewer.Program.ProgramConfig.StructureMap.First(d => d.ClassName == g.Key).FriendlyName) }) .OrderBy(o => o.Value); cboStorageType.Items.Clear(); cboStorageType.Items.Add(new ComboValuePair("", "[All]")); cboStorageType.Items.AddRange(containerTypes.ToArray()); cboStorageType.SelectedIndex = 0; }
internal static PlayerServerViewModel BuildViewModelForPlayer( ArkServerContext context, IConfig config, ArkPlayer player, DemoMode demoMode, bool incProfile, bool incProfileDetailed, bool incCreatures, bool incCreaturesBaseStats, bool incCreaturesCloud, bool incCrops, bool incGenerators, bool incKibblesEggs, bool incTribeLog) { var tribe = player.Tribe; var vm = new PlayerServerViewModel { ClusterKey = context.Config.Key, SteamId = player.SteamId, FakeSteamId = demoMode?.GetSteamId(player.SteamId), CharacterName = demoMode?.GetPlayerName(player.Id) ?? player.CharacterName, TribeId = player.TribeId, TribeName = tribe != null?demoMode?.GetTribeName(tribe.Id) ?? tribe?.Name : null, SavedAt = player.SavedAt }; if (incProfileDetailed) { vm.Latitude = player.Location?.Latitude; vm.Longitude = player.Location?.Longitude; vm.TopoMapX = player.Location?.TopoMapX; vm.TopoMapY = player.Location?.TopoMapY; if (!player.IsExternalPlayer) { vm.Gender = player.Gender.ToString(); vm.Level = player.CharacterLevel; vm.EngramPoints = player.TotalEngramPoints; } } if (incCreatures) { vm.Creatures.AddRange(BuildCreatureViewModelsForPlayerId(context, config, player.Id, demoMode, incCreaturesBaseStats)); } if (incKibblesEggs) { vm.KibblesAndEggs = BuildKibblesAndEggsViewModelsForPlayerId(context, player.Id); } if (incCrops) { vm.CropPlots = BuildCropPlotViewModelsForPlayerId(context, player.Id); } if (incGenerators) { vm.Generators = BuildGeneratorViewModelsForPlayerId(context, player.Id); } if (incTribeLog) { vm.TribeLog = BuildTribeLogViewModelsForPlayerId(context, player.Id, config.WebApp.TribeLogLimit, config.WebApp.TribeLogColors); } return(vm); }
internal static PlayerServerViewModel BuildViewModelForPlayer(ArkServerContext context, ArkPlayer player) { var vm = new PlayerServerViewModel { ClusterKey = context.Config.Key, SteamId = player.SteamId, CharacterName = player.CharacterName, Gender = player.Gender.ToString(), Level = player.CharacterLevel, Latitude = player.Location?.Latitude, Longitude = player.Location?.Longitude, TopoMapX = player.Location?.TopoMapX, TopoMapY = player.Location?.TopoMapY, EngramPoints = player.TotalEngramPoints, TribeId = player.TribeId, TribeName = player.TribeId.HasValue ? context.Tribes.FirstOrDefault(x => x.Id == player.TribeId.Value)?.Name : null, SavedAt = player.SavedAt }; vm.Creatures.AddRange(BuildCreatureViewModelsForPlayerId(context, player.Id)); return(vm); }