Merge pull request #177 from OpzekerIT/dev

Dev
This commit is contained in:
Lanta 2024-07-18 11:35:00 +02:00 committed by GitHub
commit 3f813b5b99
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 43 additions and 23 deletions

View file

@ -15,7 +15,7 @@ $ogDescription = "Explore detailed player statistics over the past month includi
<main>
<section>
<h2>Player Stats past month</h2>
<h2>Player Stats past Quarter</h2>
<?php
include './config/config.php';
@ -33,6 +33,9 @@ $ogDescription = "Explore detailed player statistics over the past month includi
// if ($key == 'all') {
// echo "Stats for $key (minimal 20 matches)";
// }
if ($key == 'clan_4_casual') {
echo "Stats for $key (minimal 4 matches)";
}
if ($key == 'Intense') {
echo "Stats for $key (minimal 8 matches)";
}
@ -71,6 +74,9 @@ $ogDescription = "Explore detailed player statistics over the past month includi
if ($key == 'all' && $player_data['matches'] < 20) {
continue;
}
if ($key == 'clan_4_casual' && $player_data['matches'] < 4) {
continue;
}
if ($key == 'Intense' && $player_data['matches'] < 8) {
continue;
}

View file

@ -12,7 +12,7 @@ else {
. $scriptroot\..\includes\ps1\lockfile.ps1
new-lock -by "matchparser"
##SETTINGS
$monthsback = -1 # how many months back to look for matches
$monthsback = -3 # how many months back to look for matches
##END OF SETTINGS
function Get-Change {
param (
@ -149,26 +149,36 @@ foreach ($player in $all_player_matches) {
$killstats = @()
$matchfiles = Get-ChildItem "$scriptroot/../data/killstats/" -File -Filter *.json
$killstats_only_full_clan_matches = @()
$guids = $matchfiles.Name | ForEach-Object { $_.Split("_")[0] }
$groupedGuids_full_clan_matches = $guids | Group-Object | Where-Object { $_.Count -eq 4 }
$last_month = (get-date).AddMonths($monthsback)
foreach ($file in $matchfiles) {
$json = get-content $file | ConvertFrom-Json
if ($json.created -gt $last_month) {
$killstats += $json
if ($groupedGuids_full_clan_matches.Name -contains $json.matchid) {
$killstats_only_full_clan_matches += $json
}
}
else {
write-output "Archiving $($file.name)"
Move-Item -Path $file.FullName -Destination "$scriptroot/../data/killstats/archive" -Force
Move-Item -Path $file.FullName -Destination "$scriptroot/../data/killstats/archive/" -Force
}
}
function Get-MatchStatsPlayer {
param (
[switch] $GameMode,
[switch] $MatchType,
[string] $typemodevalue,
[array] $playernames,
[string] $friendlyname
[string] $friendlyname,
[array] $killstats,
[string] $sortstat
)
$MatchStatsPlayer = @()
foreach ($player in $playernames) {
@ -214,22 +224,24 @@ function Get-MatchStatsPlayer {
change = $change
}
}
return $MatchStatsPlayer | ForEach-Object {
$MatchStatsPlayer_sorted = $MatchStatsPlayer | ForEach-Object {
$_ | Add-Member -NotePropertyName RandomKey -NotePropertyValue (Get-Random) -PassThru
} | Sort-Object -Property RandomKey | Select-Object -Property * -ExcludeProperty RandomKey #randomize the order
} | Sort-Object -Property $sortstat -Descending | Select-Object -Property * -ExcludeProperty RandomKey #randomize the order
return $MatchStatsPlayer_sorted
}
$playerstats_event_ibr = Get-MatchStatsPlayer -GameMode -typemodevalue 'ibr' -playernames $all_player_matches.playername -friendlyname 'Intense'
$playerstats_airoyale = Get-MatchStatsPlayer -MatchType -typemodevalue 'airoyale' -playernames $all_player_matches.playername -friendlyname 'Casual'
$playerstats_official = Get-MatchStatsPlayer -MatchType -typemodevalue 'official' -playernames $all_player_matches.playername -friendlyname 'official'
$playerstats_custom = Get-MatchStatsPlayer -MatchType -typemodevalue 'custom' -playernames $all_player_matches.playername -friendlyname 'custom'
$playerstats_all = Get-MatchStatsPlayer -MatchType -typemodevalue '*' -playernames $all_player_matches.playername -friendlyname 'all'
$playerstats_ranked = Get-MatchStatsPlayer -MatchType -typemodevalue 'competitive' -playernames $all_player_matches.playername -friendlyname 'Ranked'
$playerstats_event_ibr = Get-MatchStatsPlayer -GameMode -typemodevalue 'ibr' -playernames $all_player_matches.playername -friendlyname 'Intense' -killstats $killstats -sortstat 'randomkey'
$playerstats_airoyale = Get-MatchStatsPlayer -MatchType -typemodevalue 'airoyale' -playernames $all_player_matches.playername -friendlyname 'Casual' -killstats $killstats -sortstat 'randomkey'
$playerstats_official = Get-MatchStatsPlayer -MatchType -typemodevalue 'official' -playernames $all_player_matches.playername -friendlyname 'official' -killstats $killstats -sortstat 'randomkey'
$playerstats_custom = Get-MatchStatsPlayer -MatchType -typemodevalue 'custom' -playernames $all_player_matches.playername -friendlyname 'custom' -killstats $killstats -sortstat 'randomkey'
$playerstats_all = Get-MatchStatsPlayer -MatchType -typemodevalue '*' -playernames $all_player_matches.playername -friendlyname 'all' -killstats $killstats -sortstat 'randomkey'
$playerstats_ranked = Get-MatchStatsPlayer -MatchType -typemodevalue 'competitive' -playernames $all_player_matches.playername -friendlyname 'Ranked' -killstats $killstats -sortstat 'randomkey'
$playerstats_airoyale_clan = Get-MatchStatsPlayer -MatchType -typemodevalue 'airoyale' -playernames $all_player_matches.playername -friendlyname 'Casual' -killstats $killstats_only_full_clan_matches -sortstat 'winratio'
$playerstats_custom = $playerstats_custom | Sort-Object winratio -Descending
@ -245,12 +257,14 @@ $formattedString = "$currentDateTime - Time Zone: $currentTimezone"
$playerstats = [PSCustomObject]@{
all = $playerstats_all
clan_4_casual = $playerstats_airoyale_clan
Intense = $playerstats_event_ibr
Casual = $playerstats_airoyale
official = $playerstats_official
custom = $playerstats_custom
updated = $formattedString
Ranked = $playerstats_ranked
}
write-output "Writing file"