From 90bd19688676a5ec7a2df76776c7dd532c526b43 Mon Sep 17 00:00:00 2001 From: legonzaur Date: Sun, 30 Apr 2023 15:45:49 +0200 Subject: [PATCH] fix map data gamemode --- mod/scripts/vscripts/pulse.gnut | 12 ++++++++---- mod/scripts/vscripts/ui/menu_stats_maps.nut | 15 +++++++-------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/mod/scripts/vscripts/pulse.gnut b/mod/scripts/vscripts/pulse.gnut index e46166c..39c7802 100644 --- a/mod/scripts/vscripts/pulse.gnut +++ b/mod/scripts/vscripts/pulse.gnut @@ -17,7 +17,7 @@ global table globalToneAPIMapDeathData = {} global table globalToneAPIMapDistData = {} global table globalToneAPIMapKillData = {} global table globalToneAPIMapMDistData = {} -global table globalToneAPIGamemodeData = {} +global table< table > globalToneAPIGamemodeMapData = {} string prefix = "default" string HTTPrequestURL = "default" @@ -103,14 +103,18 @@ void function getGamemodeStatsFromToneAPI(string mapName) getMapGamemodeStats.url = HTTPrequestURL + "/gamemodes" getMapGamemodeStats.queryParameters["map"] <- [mapNameSliced] getMapGamemodeStats.queryParameters["player"] <- [NSGetLocalPlayerUID()] - void functionref(HttpRequestResponse) onSuccess = void function(HttpRequestResponse response) + void functionref(HttpRequestResponse) onSuccess = void function(HttpRequestResponse response):(mapName) { table JSONForConversion = DecodeJSON(response.body) - foreach (var key, var value in JSONForConversion) { + table mapData = {} + foreach (var gamemode, var value in JSONForConversion) { table test = expect table(value) - globalToneAPIGamemodeData[string(key)] <- test.kills + mapData[string(gamemode)] <- test.kills mapGamemodeEntries += 1 } + + globalToneAPIGamemodeMapData[mapName] <- mapData + print(prefix + "Map gamemode data has been processed with a total of " + string(mapGamemodeEntries) + " entries.") } diff --git a/mod/scripts/vscripts/ui/menu_stats_maps.nut b/mod/scripts/vscripts/ui/menu_stats_maps.nut index 75d4681..4da34ae 100644 --- a/mod/scripts/vscripts/ui/menu_stats_maps.nut +++ b/mod/scripts/vscripts/ui/menu_stats_maps.nut @@ -141,6 +141,7 @@ void function UpdateStatsForMap( string mapName ) Hud_SetText( Hud_GetChild( file.menu, "WeaponName" ), GetMapDisplayName( mapName ) ) + //Put this elsewhere, user needs to click twice for it to work getGamemodeStatsFromToneAPI(mapName) // Image @@ -189,25 +190,23 @@ void function UpdateStatsForMap( string mapName ) for ( int modeId = 0; modeId < enumCount; modeId++ ) { string modeName = PersistenceGetEnumItemNameForIndex( "gameModes", modeId ) - if ( modeName in globalToneAPIGamemodeData ) + if ( mapName in globalToneAPIGamemodeMapData && modeName in globalToneAPIGamemodeMapData[mapName] ) { float modePlayedTime = 0 - modePlayedTime = float(globalToneAPIGamemodeData[modeName]) - print(modePlayedTime) + modePlayedTime = float(globalToneAPIGamemodeMapData[mapName][modeName]) + print("[PULSE] modePlayedTime " + modePlayedTime + " | modename " + modeName) if ( modePlayedTime > 0 ) { AddPieChartEntry( modes, GameMode_GetName( modeName ), modePlayedTime, GetGameModeDisplayColor( modeName ) ) - print (modes) - print (GameMode_GetName(modeName)) - print (GetGameModeDisplayColor(modeName)) } } } foreach (string key, array value in customGamemodeList) { - if ( key in globalToneAPIGamemodeData) + if ( mapName in globalToneAPIGamemodeMapData && key in globalToneAPIGamemodeMapData[mapName]) { float modePlayedTime = 0 - modePlayedTime = float(globalToneAPIGamemodeData[key]) + modePlayedTime = float(globalToneAPIGamemodeMapData[mapName][key]) + print("[PULSE] modePlayedTime " + modePlayedTime + " | modename " + key) if ( modePlayedTime > 0 ) { AddPieChartEntry( modes, key, modePlayedTime, value) print("CUSTOM GAMEMODE DATA FUNCTION CALLED")