Merge pull request #103 from OpzekerIT/dev

updates
This commit is contained in:
Lanta 2023-11-13 20:04:06 +01:00 committed by GitHub
commit 99b3c66560
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 37 additions and 28 deletions

View file

@ -73,22 +73,24 @@ foreach ($winid in $new_win_matches) {
if ($null -eq $winid) { continue } if ($null -eq $winid) { continue }
$winmatches = $player_matches.player_matches | Where-Object { $_.id -eq $winid } $winmatches = $player_matches.player_matches | Where-Object { $_.id -eq $winid }
$telemetry = (invoke-webrequest @($winmatches.telemetry_url)[0]).content | convertfrom-json | where-object { ($_._T -eq 'LOGPLAYERTAKEDAMAGE') -or ($_._T -eq 'LOGPLAYERKILLV2') } $telemetry = (invoke-webrequest @($winmatches.telemetry_url)[0]).content | convertfrom-json | where-object { ($_._T -eq 'LOGPLAYERTAKEDAMAGE') -or ($_._T -eq 'LOGPLAYERKILLV2') }
$winners = @(($winmatches | where-object {$_.stats.winPlace -eq 1}).stats.name) $winners = @(($winmatches | where-object { $_.stats.winPlace -eq 1 }).stats.name)
$2D_replay_url = @($winmatches.telemetry_url)[0] -replace 'https://telemetry-cdn.pubg.com/bluehole-pubg', 'https://chickendinner.gg' $2D_replay_url = @($winmatches.telemetry_url)[0] -replace 'https://telemetry-cdn.pubg.com/bluehole-pubg', 'https://chickendinner.gg'
$2D_replay_url = $2D_replay_url -replace '-telemetry.json', '' $2D_replay_url = $2D_replay_url -replace '-telemetry.json', ''
$2D_replay_url = $2D_replay_url + "?follow=$($winners[0])" $2D_replay_url = $2D_replay_url + "?follow=$($winners[0])"
$match_stats = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/matches/$winid" -Method GET -Headers $headers $match_stats = Invoke-RestMethod -Uri "https://api.pubg.com/shards/steam/matches/$winid" -Method GET -Headers $headers
if($winmatches[0].matchType -eq 'custom'){ if ($winmatches[0].matchType -eq 'custom') {
$players_to_report = $match_stats.included.attributes.stats $players_to_report = $match_stats.included.attributes.stats
}else{ }
else {
$players_to_report = ($match_stats.included.attributes.stats | where-object { $_.winplace -eq 1 }) $players_to_report = ($match_stats.included.attributes.stats | where-object { $_.winplace -eq 1 })
} }
if ($new_win_matches.count -le 10) {
send-discord -content ":chicken: :chicken: **WINNER WINNER CHICKEN DINNER!!** :chicken: :chicken:" #fail safe
send-discord -content ":partying_face::partying_face::partying_face: Gefeliciteerd $($winners -join ', ') :partying_face::partying_face::partying_face:" send-discord -content ":chicken: :chicken: **WINNER WINNER CHICKEN DINNER!!** :chicken: :chicken:"
$match_settings = @" send-discord -content ":partying_face::partying_face::partying_face: Gefeliciteerd $($winners -join ', ') :partying_face::partying_face::partying_face:"
$match_settings = @"
`````` ``````
match mode $($winmatches[0].gameMode) match mode $($winmatches[0].gameMode)
match type $($winmatches[0].matchType) match type $($winmatches[0].matchType)
@ -96,18 +98,21 @@ map $($map_map[$winmatches[0].mapName])
id $($winmatches[0].id) id $($winmatches[0].id)
`````` ``````
"@ "@
send-discord -content $match_settings send-discord -content $match_settings
}
else {
write-output "Something went wrong (more then 10 matches to report)"
}
foreach ($player in $players_to_report.name) { foreach ($player in $players_to_report.name) {
if($null -eq $player){continue} if ($null -eq $player) { continue }
write-output "creating table for player $player" write-output "creating table for player $player"
$win_stats += [PSCustomObject]@{ $win_stats += [PSCustomObject]@{
Name = $player Name = $player
'Human dmg' = "$([math]::Round(($telemetry | Where-Object { $_._T -eq 'LOGPLAYERTAKEDAMAGE' -and $_.attacker.name -eq $player -and $_.victim.accountId -notlike "ai.*" -and $_.victim.teamId -ne $_.attacker.teamId } | Measure-Object -Property damage -Sum).Sum))" 'Human dmg' = "$([math]::Round(($telemetry | Where-Object { $_._T -eq 'LOGPLAYERTAKEDAMAGE' -and $_.attacker.name -eq $player -and $_.victim.accountId -notlike "ai.*" -and $_.victim.teamId -ne $_.attacker.teamId } | Measure-Object -Property damage -Sum).Sum))"
'Human Kills' = "$(($telemetry | Where-Object { $_._T -eq 'LOGPLAYERKILLV2' -and $_.killer.name -eq $player -and $_.victim.accountId -notlike "ai.*" }).count)" 'Human Kills' = "$(($telemetry | Where-Object { $_._T -eq 'LOGPLAYERKILLV2' -and $_.killer.name -eq $player -and $_.victim.accountId -notlike "ai.*" }).count)"
'Dmg' = "$([math]::Round(($players_to_report | Where-Object { $_.name -eq $player }).damageDealt))" 'Dmg' = "$([math]::Round(($players_to_report | Where-Object { $_.name -eq $player }).damageDealt))"
'Kills' = "$(($players_to_report | Where-Object { $_.name -eq $player }).kills)" 'Kills' = "$(($players_to_report | Where-Object { $_.name -eq $player }).kills)"
'alive' = "$([math]::Round((($players_to_report | Where-Object { $_.name -eq $player }).timeSurvived /60 )))" 'alive' = "$([math]::Round((($players_to_report | Where-Object { $_.name -eq $player }).timeSurvived /60 )))"
} }
$teamdmg = $telemetry | Where-Object { $teamdmg = $telemetry | Where-Object {
$_._T -eq 'LOGPLAYERTAKEDAMAGE' -and $_._T -eq 'LOGPLAYERTAKEDAMAGE' -and
@ -130,18 +135,21 @@ id $($winmatches[0].id)
} }
if ($new_win_matches.count -le 10) {
$content_winstats = '```' + ($win_stats | Format-Table | out-string) + '```'
send-discord -content $content_winstats
$content_winstats = '```' + ($win_stats | Format-Table | out-string) + '```' if ($victims.count -ge 1) {
send-discord -content $content_winstats send-discord -content ":skull::skull: Helaas hebben we deze keer ook team killers :skull::skull: "
$content_victims = '```' + ($victims | Format-Table | out-string) + '```'
send-discord -content $content_victims
}
if($victims.count -ge 1){ send-discord -content "[2D replay](<$2D_replay_url>)"
send-discord -content ":skull::skull: Helaas hebben we deze keer ook team killers :skull::skull: " }
$content_victims = '```' + ($victims | Format-Table | out-string) + '```' else {
send-discord -content $content_victims write-output "Something went wrong (more then 10 matches to report)"
} }
send-discord -content "[2D replay](<$2D_replay_url>)"
$legenda = ' $legenda = '
``` ```
dmg_h = Schade aangericht aan echte spelers dmg_h = Schade aangericht aan echte spelers

View file

@ -11,8 +11,9 @@ else {
. $scriptroot\..\includes\ps1\lockfile.ps1 . $scriptroot\..\includes\ps1\lockfile.ps1
new-lock new-lock
##SETTINGS
$monthsback = -1 # how many months back to look for matches
##END OF SETTINGS
function Get-Change { function Get-Change {
param ( param (
[double]$OldWinRatio, [double]$OldWinRatio,
@ -142,7 +143,7 @@ foreach ($player in $all_player_matches) {
$killstats = @() $killstats = @()
$matchfiles = Get-ChildItem "$scriptroot/../data/killstats/" -File -Filter *.json $matchfiles = Get-ChildItem "$scriptroot/../data/killstats/" -File -Filter *.json
$last_month = (get-date).AddMonths(-1) $last_month = (get-date).AddMonths($monthsback)
foreach ($file in $matchfiles) { foreach ($file in $matchfiles) {
$json = get-content $file | ConvertFrom-Json $json = get-content $file | ConvertFrom-Json
if ($json.created -gt $last_month) { if ($json.created -gt $last_month) {