From f1cd1a67fcf68dbabbfbef188214571067777f5c Mon Sep 17 00:00:00 2001 From: Nick // Cahz Date: Mon, 22 Mar 2021 10:56:05 -0700 Subject: [PATCH] Update _clientids.gsc --- .../Highest Round Tracker/_clientids.gsc | 143 +++++++++++++----- 1 file changed, 108 insertions(+), 35 deletions(-) diff --git a/Zombies Mods/Highest Round Tracker/_clientids.gsc b/Zombies Mods/Highest Round Tracker/_clientids.gsc index eeb9240..9373f80 100644 --- a/Zombies Mods/Highest Round Tracker/_clientids.gsc +++ b/Zombies Mods/Highest Round Tracker/_clientids.gsc @@ -1,61 +1,134 @@ high_round_tracker() { - level.HighRound = getDvarIntDefault( mapName( level.script ) + "HighRound", 1 ); - level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" ); - if ( level.HighRoundPlayers == "" ) - { - level.HighRoundPlayers = "UnNamed Players"; - } + thread high_round_info_giver(); + gamemode = gamemodeName( getDvar( "ui_gametype" ) ); + map = mapName( level.script ); + if( level.script == "zm_transit" && getDvar( "ui_gametype" ) == "zsurvival" ) + map = startLocationName( getDvar( "ui_zm_mapstartlocation" ) ); + //file handling// + level.basepath = getDvar("fs_basepath") + "/" + getDvar("fs_basegame") + "/"; + path = level.basepath + "/logs/" + map + gamemode + "HighRound.txt"; + file = fopen(path, "r"); + text = fread(file); + fclose(file); + //end file handling// + highroundinfo = strToK( text, ";" ); + level.HighRound = int( highroundinfo[ 0 ] ); + level.HighRoundPlayers = highroundinfo[ 1 ]; for ( ;; ) { level waittill ( "end_game" ); if ( level.round_number > level.HighRound ) { - setDvar( mapName( level.script ) + "HighRound", level.round_number ); - setDvar( mapName( level.script ) + "Players", "" ); - level.HighRound = getDvarIntDefault( mapName( level.script ) + "HighRound", 1 ); + level.HighRoundPlayers = ""; players = get_players(); for ( i = 0; i < players.size; i++ ) { - if ( getDvar( mapName( level.script ) + "Players" ) == "" ) + if( level.HighRoundPlayers == "" ) { - setDvar( mapName( level.script ) + "Players", players[i].name ); - level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" ); + level.HighRoundPlayers = players[i].name; } else { - setDvar( mapName( level.script ) + "Players", level.HighRoundPlayers + ", " + players[i].name ); - level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" ); + level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name; } } - iprintln ( "New Record: ^1" + level.HighRound ); - iprintln ( "Set by: ^1" + level.HighRoundPlayers ); - logprint( "Map: " + mapName( level.script ) + " Record: " + level.HighRound + " Set by: " + level.HighRoundPlayers ); + foreach( player in level.players ) + { + player tell( "New Record: ^1" + level.round_number ); + player tell( "Set by: ^1" + level.HighRoundPlayers ); + } + log_highround_record( level.round_number + ";" + level.HighRoundPlayers ); } } } -mapName( name ) +log_highround_record( newRecord ) { - if( name == "zm_highrise" ) - return "DieRise"; - else if( name == "zm_buried" ) - return "Buried"; - else if( name == "zm_prison" ) - return "Motd"; - else if( name == "zm_tomb" ) - return "Origins"; - else if( name == "zm_nuked" ) - return "Nuketown"; - else if( name == "zm_transit" && level.scr_zm_map_start_location == "transit" ) - return "Transit"; - else if( name == "zm_transit" && level.scr_zm_map_start_location == "town" ) + gamemode = gamemodeName( getDvar( "ui_gametype" ) ); + map = mapName( level.script ); + if( level.script == "zm_transit" && getDvar( "ui_gametype" ) == "zsurvival" ) + map = startLocationName( getDvar( "ui_zm_mapstartlocation" ) ); + level.basepath = getDvar("fs_basepath") + "/" + getDvar("fs_basegame") + "/"; + path = level.basepath + "/logs/" + map + gamemode + "HighRound.txt"; + file = fopen( path, "w" ); + fputs( newRecord, file ); + fclose( file ); +} + +startLocationName( location ) +{ + if( location == "cornfield" ) + return "Cornfield"; + else if( location == "diner" ) + return "Diner"; + else if( location == "farm" ) + return "Farm"; + else if( location == "power" ) + return "Power"; + else if( location == "town" ) return "Town"; + else if( location == "transit" ) + return "BusDepot"; + else if( location == "tunnel" ) + return "Tunnel"; +} + +mapName( map ) +{ + if( map == "zm_buried" ) + return "Buried"; + else if( map == "zm_highrise" ) + return "DieRise"; + else if( map == "zm_prison" ) + return "Motd"; + else if( map == "zm_nuked" ) + return "Nuketown"; + else if( map == "zm_tomb" ) + return "Origins"; + else if( map == "zm_transit" ) + return "Tranzit"; + return "NA"; +} + +gamemodeName( gamemode ) +{ + if( gamemode == "zstandard" ) + return "Standard"; + else if( gamemode == "zclassic" ) + return "Classic"; + else if( gamemode == "zsurvival" ) + return "Survival"; + else if( gamemode == "zgrief" ) + return "Grief"; + else if( gamemode == "zcleansed" ) + return "Turned"; + return "NA"; +} + +high_round_info_giver() +{ + highroundinfo = 1; + roundmultiplier = 5; + level endon( "end_game" ); + while( 1 ) + { + level waittill( "start_of_round" ); + if( level.round_number == ( highroundinfo * roundmultiplier )) + { + highroundinfo++; + foreach( player in level.players ) + { + player tell( "High Round Record for this map: ^1" + level.HighRound ); + player tell( "Record set by: ^1" + level.HighRoundPlayers ); + } + } + } } high_round_info() { - wait 5; - self iprintln ( "Highest Round for this Map: ^1" + level.HighRound ); - self iprintln ( "Record set by: ^1" + level.HighRoundPlayers ); -} \ No newline at end of file + wait 6; + self tell( "High Round Record for this map: ^1" + level.HighRound ); + self tell( "Record set by: ^1" + level.HighRoundPlayers ); +}