Skip to content
  • 0 Unread 0
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Donate
Collapse

Plutonium

  1. Home
  2. BO2 Modding Releases & Resources
  3. [Release] [ZM] Highest Round Tracker (UPDATED 3/13/2020)

[Release] [ZM] Highest Round Tracker (UPDATED 3/13/2020)

Scheduled Pinned Locked Moved BO2 Modding Releases & Resources
27 Posts 15 Posters 11.5k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Cahz Cahz

    HIGH ROUND TRACKER
    This version can only be used on dedicated servers because it requires a plugin.

    HOW TO ADD INTO YOUR SERVER
    This can easily be added into your _clientids.gsc file.

    1. Add the scripts below into your _clientids.gsc file
    high_round_tracker()
    {
    	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 )
    		{
    			level.HighRoundPlayers = "";
    			players = get_players();
    			for ( i = 0; i < players.size; i++ )
    			{
    				if( level.HighRoundPlayers == "" )
    				{
    					level.HighRoundPlayers = players[i].name;
    				}
    				else
    				{
    					level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
    				}
    			}
    			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 );
    		}
    	}
    }
    
    log_highround_record( newRecord )
    {
    	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 6;
    	self tell( "High Round Record for this map: ^1" + level.HighRound );
    	self tell( "Record set by: ^1" + level.HighRoundPlayers );
    }
    
    1. Add thread high_round_tracker(); into your init() function
    2. Add player thread high_round_info(); into your onPlayerConnect() function
      unknown.png
    3. Download fed's t6-gsc-utils plugin and place the .dll file inside gameserver/t6r/data/plugins.

    Using these steps will allow the server to track the highest round achieved on the server, and the players who were in the lobby at the time.

    All high round records will be recorded in .txt files inside gameserver/t6r/data/logs and they will be updated automatically.

    84190184-0ac2-421e-93f5-e1d469bf4481-image.png

    Waluijay Offline
    Waluijay Offline
    Waluijay
    wrote on last edited by
    #5

    Cahz Managed to get everything installed just fine, and Round Records are saving as they should, but in-game there is no on-screen prompt actually telling players what the record is, I've been at this for a couple days now with nothing. Any ideas?

    birchy 1 Reply Last reply
    0
    • Waluijay Waluijay

      Cahz Managed to get everything installed just fine, and Round Records are saving as they should, but in-game there is no on-screen prompt actually telling players what the record is, I've been at this for a couple days now with nothing. Any ideas?

      birchy Offline
      birchy Offline
      birchy
      wrote on last edited by birchy
      #6

      Waluijay if you look at the code he provided it says in the chat to each player at the start of every round (and 6 seconds after they form a connection with the server). if you want something to be persistent you'll have to draw text on screen (or send a message to the chat intermittently).

      Waluijay 1 Reply Last reply
      0
      • birchy birchy

        Waluijay if you look at the code he provided it says in the chat to each player at the start of every round (and 6 seconds after they form a connection with the server). if you want something to be persistent you'll have to draw text on screen (or send a message to the chat intermittently).

        Waluijay Offline
        Waluijay Offline
        Waluijay
        wrote on last edited by Waluijay
        #7

        birchy I know it says it in chat, it just isn't there for me. I'll triple check everything regarding chat messages tho

        /Definitely isn't working, with every other auto chat message disabled nothing shows in chat at client connection, when a round ends or when a record is broken. The only message that works is when a record is set, not when that record is beaten.

        birchy 1 Reply Last reply
        0
        • Waluijay Waluijay

          birchy I know it says it in chat, it just isn't there for me. I'll triple check everything regarding chat messages tho

          /Definitely isn't working, with every other auto chat message disabled nothing shows in chat at client connection, when a round ends or when a record is broken. The only message that works is when a record is set, not when that record is beaten.

          birchy Offline
          birchy Offline
          birchy
          wrote on last edited by
          #8

          Waluijay without seeing your project I can only assume it's either that the variable isn't defined and therefore the message can't be displayed, or that you are not actually reaching the point of displaying the message on screen.

          Waluijay 1 Reply Last reply
          1
          • birchy birchy

            Waluijay without seeing your project I can only assume it's either that the variable isn't defined and therefore the message can't be displayed, or that you are not actually reaching the point of displaying the message on screen.

            Waluijay Offline
            Waluijay Offline
            Waluijay
            wrote on last edited by
            #9

            birchy

            #include maps\mp\_utility;
            #include common_scripts\utility;
            #include maps\mp\gametypes_zm\_hud_util;
            #include maps\mp\gametypes_zm\_hud_message;
            
            init()
            {
                level.perk_purchase_limit = 99;
                for(;;)
                {
                    level waittill("connected", player);
            		player thread high_round_tracker();
                }
            }
            
            onPlayerConnect()
            {
            	for(;;)
            	{
            		level waittill("connected", player);
            		player thread high_round_info();
            	}
            }
            
            high_round_tracker()
            {
            	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 )
            		{
            			level.HighRoundPlayers = "";
            			players = get_players();
            			for ( i = 0; i < players.size; i++ )
            			{
            				if( level.HighRoundPlayers == "" )
            				{
            					level.HighRoundPlayers = players[i].name;
            				}
            				else
            				{
            					level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
            				}
            			}
            			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 );
            		}
            	}
            }
            
            log_highround_record( newRecord )
            {
            	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 6;
            	self iprintln( "High Round Record for this map: ^1" + level.HighRound );
            	self iprintln( "Record set by: ^1" + level.HighRoundPlayers );
            }
            

            It's almost identical and I have no compile errors, no startup errors. It logs everything correctly to the file it stores records in, it just doesn't run anything within itself below high_round_info_giver(), other scripts below that section run fine.

            Cahz 1 Reply Last reply
            0
            • Waluijay Waluijay

              birchy

              #include maps\mp\_utility;
              #include common_scripts\utility;
              #include maps\mp\gametypes_zm\_hud_util;
              #include maps\mp\gametypes_zm\_hud_message;
              
              init()
              {
                  level.perk_purchase_limit = 99;
                  for(;;)
                  {
                      level waittill("connected", player);
              		player thread high_round_tracker();
                  }
              }
              
              onPlayerConnect()
              {
              	for(;;)
              	{
              		level waittill("connected", player);
              		player thread high_round_info();
              	}
              }
              
              high_round_tracker()
              {
              	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 )
              		{
              			level.HighRoundPlayers = "";
              			players = get_players();
              			for ( i = 0; i < players.size; i++ )
              			{
              				if( level.HighRoundPlayers == "" )
              				{
              					level.HighRoundPlayers = players[i].name;
              				}
              				else
              				{
              					level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
              				}
              			}
              			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 );
              		}
              	}
              }
              
              log_highround_record( newRecord )
              {
              	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 6;
              	self iprintln( "High Round Record for this map: ^1" + level.HighRound );
              	self iprintln( "Record set by: ^1" + level.HighRoundPlayers );
              }
              

              It's almost identical and I have no compile errors, no startup errors. It logs everything correctly to the file it stores records in, it just doesn't run anything within itself below high_round_info_giver(), other scripts below that section run fine.

              Cahz Offline
              Cahz Offline
              Cahz
              VIP
              wrote on last edited by Cahz
              #10

              Waluijay You aren't calling level thread onPlayerConnect(); anywhere so of course it's not going to work. You're also calling the high round tracker as a player thread, when it's not needed to thread onto each player........ If you had looked at the screenshots you'd notice this.

              57ee2423-e1dc-4c1f-8ee8-1fd859e4f51e-image.png

              #include maps\mp\_utility;
              #include common_scripts\utility;
              #include maps\mp\gametypes_zm\_hud_util;
              #include maps\mp\gametypes_zm\_hud_message;
              
              init()
              {
                  level thread onPlayerConnect(); //added this function back.
                  thread high_round_tracker(); //fixed this thread that you decided to change.
              }
              
              onPlayerConnect()
              {
              	for(;;)
              	{
              		level waittill("connected", player);
              		player thread high_round_info();
              	}
              }
              
              high_round_tracker()
              {
              	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 )
              		{
              			level.HighRoundPlayers = "";
              			players = get_players();
              			for ( i = 0; i < players.size; i++ )
              			{
              				if( level.HighRoundPlayers == "" )
              				{
              					level.HighRoundPlayers = players[i].name;
              				}
              				else
              				{
              					level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
              				}
              			}
              			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 );
              		}
              	}
              }
              
              log_highround_record( newRecord )
              {
              	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 6;
              	self tell( "High Round Record for this map: ^1" + level.HighRound );
              	self tell( "Record set by: ^1" + level.HighRoundPlayers );
              }
              

              Paying attention to directions can really help you figure out the problem...

              Waluijay 1 Reply Last reply
              1
              • Cahz Cahz

                Waluijay You aren't calling level thread onPlayerConnect(); anywhere so of course it's not going to work. You're also calling the high round tracker as a player thread, when it's not needed to thread onto each player........ If you had looked at the screenshots you'd notice this.

                57ee2423-e1dc-4c1f-8ee8-1fd859e4f51e-image.png

                #include maps\mp\_utility;
                #include common_scripts\utility;
                #include maps\mp\gametypes_zm\_hud_util;
                #include maps\mp\gametypes_zm\_hud_message;
                
                init()
                {
                    level thread onPlayerConnect(); //added this function back.
                    thread high_round_tracker(); //fixed this thread that you decided to change.
                }
                
                onPlayerConnect()
                {
                	for(;;)
                	{
                		level waittill("connected", player);
                		player thread high_round_info();
                	}
                }
                
                high_round_tracker()
                {
                	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 )
                		{
                			level.HighRoundPlayers = "";
                			players = get_players();
                			for ( i = 0; i < players.size; i++ )
                			{
                				if( level.HighRoundPlayers == "" )
                				{
                					level.HighRoundPlayers = players[i].name;
                				}
                				else
                				{
                					level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
                				}
                			}
                			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 );
                		}
                	}
                }
                
                log_highround_record( newRecord )
                {
                	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 6;
                	self tell( "High Round Record for this map: ^1" + level.HighRound );
                	self tell( "Record set by: ^1" + level.HighRoundPlayers );
                }
                

                Paying attention to directions can really help you figure out the problem...

                Waluijay Offline
                Waluijay Offline
                Waluijay
                wrote on last edited by
                #11

                I'm- I'm not exactly sure how I messed up and repeatedly missed the onPlayerConnect at the start so thankyou, everything is working properly now. I appreciate the extra length you went for my small brain

                1 Reply Last reply
                0
                • Cahz Cahz

                  HIGH ROUND TRACKER
                  This version can only be used on dedicated servers because it requires a plugin.

                  HOW TO ADD INTO YOUR SERVER
                  This can easily be added into your _clientids.gsc file.

                  1. Add the scripts below into your _clientids.gsc file
                  high_round_tracker()
                  {
                  	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 )
                  		{
                  			level.HighRoundPlayers = "";
                  			players = get_players();
                  			for ( i = 0; i < players.size; i++ )
                  			{
                  				if( level.HighRoundPlayers == "" )
                  				{
                  					level.HighRoundPlayers = players[i].name;
                  				}
                  				else
                  				{
                  					level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
                  				}
                  			}
                  			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 );
                  		}
                  	}
                  }
                  
                  log_highround_record( newRecord )
                  {
                  	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 6;
                  	self tell( "High Round Record for this map: ^1" + level.HighRound );
                  	self tell( "Record set by: ^1" + level.HighRoundPlayers );
                  }
                  
                  1. Add thread high_round_tracker(); into your init() function
                  2. Add player thread high_round_info(); into your onPlayerConnect() function
                    unknown.png
                  3. Download fed's t6-gsc-utils plugin and place the .dll file inside gameserver/t6r/data/plugins.

                  Using these steps will allow the server to track the highest round achieved on the server, and the players who were in the lobby at the time.

                  All high round records will be recorded in .txt files inside gameserver/t6r/data/logs and they will be updated automatically.

                  84190184-0ac2-421e-93f5-e1d469bf4481-image.png

                  MetalThunder Offline
                  MetalThunder Offline
                  MetalThunder
                  wrote on last edited by MetalThunder
                  #12
                  This post is deleted!
                  1 Reply Last reply
                  0
                  • Cahz Cahz

                    HIGH ROUND TRACKER
                    This version can only be used on dedicated servers because it requires a plugin.

                    HOW TO ADD INTO YOUR SERVER
                    This can easily be added into your _clientids.gsc file.

                    1. Add the scripts below into your _clientids.gsc file
                    high_round_tracker()
                    {
                    	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 )
                    		{
                    			level.HighRoundPlayers = "";
                    			players = get_players();
                    			for ( i = 0; i < players.size; i++ )
                    			{
                    				if( level.HighRoundPlayers == "" )
                    				{
                    					level.HighRoundPlayers = players[i].name;
                    				}
                    				else
                    				{
                    					level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
                    				}
                    			}
                    			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 );
                    		}
                    	}
                    }
                    
                    log_highround_record( newRecord )
                    {
                    	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 6;
                    	self tell( "High Round Record for this map: ^1" + level.HighRound );
                    	self tell( "Record set by: ^1" + level.HighRoundPlayers );
                    }
                    
                    1. Add thread high_round_tracker(); into your init() function
                    2. Add player thread high_round_info(); into your onPlayerConnect() function
                      unknown.png
                    3. Download fed's t6-gsc-utils plugin and place the .dll file inside gameserver/t6r/data/plugins.

                    Using these steps will allow the server to track the highest round achieved on the server, and the players who were in the lobby at the time.

                    All high round records will be recorded in .txt files inside gameserver/t6r/data/logs and they will be updated automatically.

                    84190184-0ac2-421e-93f5-e1d469bf4481-image.png

                    andresito_20 Offline
                    andresito_20 Offline
                    andresito_20
                    Contributor
                    wrote on last edited by
                    #13

                    Cahz

                    Hello I get this error when installing the .dll file inside gameserver / t6r / data / plugins

                    3a7f96d7-01f1-42d3-8837-d1b1b70e666a-image.png

                    MetalThunder 1 Reply Last reply
                    0
                    • andresito_20 andresito_20

                      Cahz

                      Hello I get this error when installing the .dll file inside gameserver / t6r / data / plugins

                      3a7f96d7-01f1-42d3-8837-d1b1b70e666a-image.png

                      MetalThunder Offline
                      MetalThunder Offline
                      MetalThunder
                      wrote on last edited by
                      #14

                      andresito_20 maybe this can help you
                      https://forum.plutonium.pw/topic/11302/zm-highest-round-tracker-error/10?_=1630612677354

                      1 Reply Last reply
                      0
                      • Cahz Cahz

                        HIGH ROUND TRACKER
                        This version can only be used on dedicated servers because it requires a plugin.

                        HOW TO ADD INTO YOUR SERVER
                        This can easily be added into your _clientids.gsc file.

                        1. Add the scripts below into your _clientids.gsc file
                        high_round_tracker()
                        {
                        	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 )
                        		{
                        			level.HighRoundPlayers = "";
                        			players = get_players();
                        			for ( i = 0; i < players.size; i++ )
                        			{
                        				if( level.HighRoundPlayers == "" )
                        				{
                        					level.HighRoundPlayers = players[i].name;
                        				}
                        				else
                        				{
                        					level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
                        				}
                        			}
                        			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 );
                        		}
                        	}
                        }
                        
                        log_highround_record( newRecord )
                        {
                        	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 6;
                        	self tell( "High Round Record for this map: ^1" + level.HighRound );
                        	self tell( "Record set by: ^1" + level.HighRoundPlayers );
                        }
                        
                        1. Add thread high_round_tracker(); into your init() function
                        2. Add player thread high_round_info(); into your onPlayerConnect() function
                          unknown.png
                        3. Download fed's t6-gsc-utils plugin and place the .dll file inside gameserver/t6r/data/plugins.

                        Using these steps will allow the server to track the highest round achieved on the server, and the players who were in the lobby at the time.

                        All high round records will be recorded in .txt files inside gameserver/t6r/data/logs and they will be updated automatically.

                        84190184-0ac2-421e-93f5-e1d469bf4481-image.png

                        Ch00chinat0r Offline
                        Ch00chinat0r Offline
                        Ch00chinat0r
                        wrote on last edited by
                        #15

                        Cahz Is there a way to get this to work in 2021? Created a server recently and the pathing the script uses is the old way files were laid out. Such as, gameserver/t6r/data/logs not existing anymore

                        1 Reply Last reply
                        0
                        • MrMrE Offline
                          MrMrE Offline
                          MrMrE
                          wrote on last edited by MrMrE
                          #16

                          looks allot like mine
                          btw need this plugin
                          put This into <bo2 folder>\t6r\data\plugins

                          #include maps/mp/zombies/_zm;
                          #include maps/mp/zombies/_zm_ai_dogs;
                          #include maps/mp/zombies/_zm_stats;
                          #include common_scripts/utility;
                          #include maps/mp/gametypes_zm/_hud_util;
                          #include maps/mp/_utility;
                          #include maps/mp/gametypes_zm/_globallogic;
                          #include maps/mp/zombies/_zm_weapons;
                          #include maps/mp/zombies/_zm_utility;
                          #include maps/mp/gametypes_zm/_hud_message;
                          #include maps/mp/gametypes_zm/_globallogic_score;
                          #include maps/mp/gametypes_zm/_globallogic_utils;
                          #include maps/mp/gametypes_zm/_globallogic_defaults;
                          #include maps/mp/gametypes_zm/_globallogic_spawn;
                          #include maps/mp/zombies/_zm_perks;
                          #include maps/mp/zm_tomb_utility;
                          #include maps/mp/zombies/_zm_challenges;
                          #include maps/mp/zombies/_zm_laststand;
                          #include maps/mp/zm_tomb_ee_main;
                          #include maps/mp/zombies/_zm_sidequests;
                          #include maps/mp/gametypes_zm/_weapons;
                          #include maps/mp/zm_tomb_ee_main_step_1;
                          #include maps/mp/_challenges;
                          
                          init()
                          {
                              thread high_round_tracker();
                          }
                          
                          get_map_name()
                          {
                                if (!isDefined(level.levelname))
                                {
                          	if (level.script == "zm_transit" && level.scr_zm_map_start_location == "transit")
                          	{
                          		level.levelname = "Tranzit";
                          	}
                          	else if (level.script == "zm_transit" && level.scr_zm_map_start_location == "town")
                          	{
                          		level.levelname = "Town";
                          	}
                          	else if (level.script == "zm_transit" && level.scr_zm_map_start_location == "farm")
                          	{
                          		level.levelname = "Farm";
                          	}
                          	else if (level.script == "zm_nuked")
                          	{
                          		level.levelname = "Nuketown";
                          	}
                          	else if (level.script == "zm_highrise")
                          	{
                          		level.levelname = "Die Rise";
                          	}
                          	else if (level.script == "zm_prison")
                          	{
                          		level.levelname = "Mob of the Dead";
                          	}
                          	else if (level.script == "zm_buried")
                          	{
                          		level.levelname = "Buried";
                          	}
                          	else if (level.script == "zm_tomb")
                          	{
                          		level.levelname = "Origins";
                          	}
                          	else level.levelname = "Unknown Map";
                                }
                                return level.levelname;
                          }
                          high_round_tracker()
                          {
                          	level endon( "end_game" );
                          	level.basepath = getDvar("fs_basepath") + "/" + getDvar("fs_basegame");
                          	path3 = level.basepath + get_map_name() + "_" + "Leaderboard2.txt";
                          	//file3 = fopen(path3, "a+");
                          	etok="-";
                          	if(fileExists(path3))
                          	level.theLBstr = readfile(path3);
                          	else
                          	{
                          		level.HighRoundPlayers = "^5initialized";
                          		writestr = "THRS,3,starting from scratch-\n";
                          		writefile(path3,writestr,1);
                          		level.theLBstr = readfile(path3);
                          
                          	}
                          
                          	level.HighRound = getDvarIntDefault(  mapName( level.script ) + "HighRound", 3 );
                          	level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" );
                          	level.theLB = strtok(level.theLBstr, etok);
                          	foreach ( lbline in level.theLB )
                          	{
                          		getlbs = strtok(lbline, ",");
                          		if(getlbs[0] == "THRS" && level.HighRound <= getlbs[1] )
                          		{	
                          			setDvar( mapName( level.script ) + "HighRound", getlbs[1] );
                          			setDvar( mapName( level.script ) + "Players", "" );		
                          			for (i=2;i<=getlbs.size;i++)
                          			{
                          				if ( getDvar( mapName( level.script ) + "Players" ) == "" )
                          				{
                          					setDvar( mapName( level.script ) + "Players", getlbs[i] );
                          					level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" );
                          				}
                          				else
                          				{
                          					setDvar( mapName( level.script ) + "Players", level.HighRoundPlayers + ", " + getlbs[i] );
                          					level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" );
                          				}
                          			}	
                          		}
                          		else if(getlbs[0] == "THRS" && level.HighRound > getlbs[1] )
                          		{
                          			//fclose(file3);
                          			fremove(path3);
                          			//file3 = fopen(path3, "a+");
                          			writestr = ("THRS," + level.HighRound + "," + level.HighRoundPlayers + etok);
                          			writefile(path3,writestr,1);
                          		}
                          		else if(getlbs[0] != "THRS" && level.HighRoundPlayers != "" )
                          		{
                          			//fclose(file3);
                          			fremove(path3);
                          			//file3 = fopen(path3, "a+");
                          			writestr = ("THRS," + level.HighRound + "," + level.HighRoundPlayers + etok);
                          			writefile(path3,writestr,1);
                          		}
                          		else 
                          		{
                           			level.HighRoundPlayers = "^5initialized";
                          			setDvar( mapName( level.script ) + "Players", level.HighRoundPlayers  );
                          			writestr = ("THRS," + level.HighRound + "," + level.HighRoundPlayers + etok);
                          			writefile(path3,writestr,1);
                          		}
                          	}
                          	level.HighRound = getDvarIntDefault(  mapName( level.script ) + "HighRound", 3 );
                          	level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" );
                          	if ( level.HighRoundPlayers == "" )
                          	{
                          		level.HighRoundPlayers = "^5initialized";
                          		writestr = ("THRS,3,starting from scratch" + etok);
                          		writefile(path3,writestr,1);
                          	}
                          	//fclose(file3);
                          	istr="";
                          	for(i=0;i<40;i+=4)
                          		istr+=i + " ";
                          	for(i=40;i<100;i+=3)
                          		istr+=i + " ";
                          	fourfactor=strtok(istr," ");
                          	for ( ;; )
                          	{
                          		level waittill ( "end_of_round"  );
                          	
                          				players = getplayers();
                          			foreach (player in players)
                          			player thread Ping_kick_check(player);
                          
                          		foreach (ff in fourfactor)
                          		{
                          			if (int(ff) == level.round_number)
                          				level thread high_round_info();
                          		}
                          		if( level.round_number == level.HighRound )
                          		{
                          			players = getplayers();
                          			foreach (player in players)
                          			 player tell("^5you are about to over throw the ^7high round record ^5if you can pass this round. ^3Good Luck");
                          		}
                          		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", 3 );
                          			players = get_players();
                          			for ( i = 0; i < players.size; i++ )
                          			{
                          				if ( getDvar( mapName( level.script ) + "Players" ) == "" )
                          				{
                          					setDvar( mapName( level.script ) + "Players", players[i].name );
                          					level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" );
                          				}
                          				else
                          				{
                          					setDvar( mapName( level.script ) + "Players", level.HighRoundPlayers + ", " + players[i].name );
                          					level.HighRoundPlayers = getDvar( mapName( level.script ) + "Players" );
                          				}
                          			}
                          			iprintln ( "New Record: ^1" + level.HighRound );
                          			iprintln ( "Set by: ^1" + level.HighRoundPlayers );
                          			newLBstr="";
                          			
                          			//logprint( "Map: " + mapName( level.script ) + " Record: " + level.HighRound + " Set by: " + level.HighRoundPlayers );
                          			path1 = level.basepath + get_map_name() + "_" + "Leaderboard2.txt";
                          			writestr = ("THRS," + level.HighRound + "," + level.HighRoundPlayers + etok);
                          			//file1 = fopen(path1, "a+");
                          			level.theLBstr = readfile(path1);
                          			level.theLB = strtok(level.theLBstr,etok);
                          			foreach ( lbline in level.theLB )
                          			{
                          				getlbs = strtok(lbline,",");
                          				if(getlbs[0] == "THRS")
                          					newLBstr = writestr;
                          				else
                          					newLBstr +=lbline + etok;
                          			}
                          			//fclose(file1);			
                          			fremove(path1);
                          			//file1 = fopen(path1, "a+");
                          			writefile(path1,newLBstr,1);
                          			//fclose(file1);
                           		}
                          	}
                          }
                          mapName( name )
                          {
                          	if( name == "zm_highrise" )
                          		return "Die Rise";
                          	else if( name == "zm_buried" )
                          		return "Buried";
                          	else if( name == "zm_prison" )
                          		return "Mob of the Dead";
                          	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 "Tranzit";
                          	else if( name == "zm_transit" && level.scr_zm_map_start_location == "town" )
                          		return "Town";
                          	else if( name == "zm_transit" && level.scr_zm_map_start_location == "farm" )
                          		return "Farm";
                          }
                          
                          high_round_info()
                          {
                          	wait 10;
                          	AllClientsPrint( "Highest Round for this Map: ^1" + level.HighRound );
                          	AllClientsPrint( "Record set by: ^1" + level.HighRoundPlayers );
                          }
                          Ping_kick_check(player)
                          {
                          	wait randomint( 20 );
                          }
                          
                          list_records( player )
                          {	
                          	maps=[];
                          	maps[0] = "Die Rise";	
                          	maps[maps.size] = "Buried";
                          	maps[maps.size] = "Mob of the Dead";
                          	maps[maps.size] = "Origins";
                          	maps[maps.size] = "Nuketown";
                          	maps[maps.size] = "Tranzit";
                          	maps[maps.size] = "Town";
                          	maps[maps.size] = "Farm";
                          	recs=[];
                          	level.basepath = getDvar("fs_basepath") + "/" + getDvar("fs_basegame");
                          	for(i=0;i<maps.size;i++)
                          	{
                          		path = level.basepath + maps[i] + "_" + "Leaderboard.txt";
                          		//file = fopen(path, "a+");
                          		etok="-";
                          		thisread = "";
                          		thisread = readfile(path);
                          		if ( thisread == "" )
                          		{
                          			thisread = "THRS,5,MrMrE-";
                          			writefile(path,"THRS,5,MrMrE-",1);
                          			CONTINUE;
                          		}
                          		thisreadarray = strtok(thisread,etok);
                          		recs[i] = "^3 " + maps[i];
                          		foreach(line in thisreadarray)
                          		{
                          			linearray = strtok(line,",");
                          			if(linearray[0] == "THRS")
                          			{
                          				recs[i] += ": ^1"+linearray[1]+ " ^7by ";
                          				for(j=2;isDefined(linearray[j]);j++)
                          				{	
                          					if (j==2)
                          						recs[i] +="^6"+linearray[j] + " ";
                          					else
                          						recs[i] += "^7,^6"+linearray[j] + " ";
                          				}
                          			}
                          		}
                          		//fclose(file);
                          	}
                          	for(i=0;i<recs.size;i++)
                          	{
                          		self iPrintLn( recs[i] );
                          		wait .7;
                          	}	
                          }
                          
                          
                          1 Reply Last reply
                          1
                          • jvegas01 Offline
                            jvegas01 Offline
                            jvegas01
                            wrote on last edited by
                            #17

                            i get this error
                            2 script error(s): Unresolved external : -high_round_tracker- with 0 parameters in -example- at line 1 Unresolved external : -high_round_info- with 0 parameters in -example- at line 1

                            1 Reply Last reply
                            0
                            • Kalitos Offline
                              Kalitos Offline
                              Kalitos
                              wrote on last edited by
                              #18

                              I fixed the script loading issue. Working with the latest version of the plugin (1.9.5). The script needs an elapsed game to save the first records, then it will display the information.

                              #include maps/mp/gametypes/_hud_message;
                              #include maps/mp/gametypes/_globallogic_spawn;
                              #include maps/mp/gametypes/_spectating;
                              #include maps/mp/_tacticalinsertion;
                              #include maps/mp/_challenges;
                              #include maps/mp/gametypes/_globallogic;
                              #include maps/mp/gametypes/_hud_util;
                              #include maps/mp/_utility;
                              #include common_scripts/utility;
                              #include maps/mp/gametypes/_globallogic_ui;
                              #include maps/mp/gametypes/_persistence;
                              
                              init()
                              {
                                  level thread high_round_tracker();
                                  level thread onPlayerConnect();
                              }
                              
                              onPlayerConnect()
                              {
                                  for(;;)
                                  {
                                      level waittill("connected", player);
                                      player thread high_round_info();
                                  }
                              }
                              
                              high_round_tracker()
                              {
                              	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_homepath") + "/";
                              	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 )
                              		{
                              			level.HighRoundPlayers = "";
                              			players = get_players();
                              			for ( i = 0; i < players.size; i++ )
                              			{
                              				if( level.HighRoundPlayers == "" )
                              				{
                              					level.HighRoundPlayers = players[i].name;
                              				}
                              				else
                              				{
                              					level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
                              				}
                              			}
                              			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 );
                              		}
                              	}
                              }
                              
                              log_highround_record( newRecord )
                              {
                              	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_homepath") + "/";
                              	path = level.basepath + "/logs/" + map + gamemode + "HighRound.txt";
                              	file = fopen( path, "w" );
                              	fwrite( file, newRecord );
                              	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 6;
                              	self tell( "High Round Record for this map: ^1" + level.HighRound );
                              	self tell( "Record set by: ^1" + level.HighRoundPlayers );
                              }
                              
                              jvegas01 Ch00chinat0r akashio 3 Replies Last reply
                              6
                              • Kalitos Kalitos

                                I fixed the script loading issue. Working with the latest version of the plugin (1.9.5). The script needs an elapsed game to save the first records, then it will display the information.

                                #include maps/mp/gametypes/_hud_message;
                                #include maps/mp/gametypes/_globallogic_spawn;
                                #include maps/mp/gametypes/_spectating;
                                #include maps/mp/_tacticalinsertion;
                                #include maps/mp/_challenges;
                                #include maps/mp/gametypes/_globallogic;
                                #include maps/mp/gametypes/_hud_util;
                                #include maps/mp/_utility;
                                #include common_scripts/utility;
                                #include maps/mp/gametypes/_globallogic_ui;
                                #include maps/mp/gametypes/_persistence;
                                
                                init()
                                {
                                    level thread high_round_tracker();
                                    level thread onPlayerConnect();
                                }
                                
                                onPlayerConnect()
                                {
                                    for(;;)
                                    {
                                        level waittill("connected", player);
                                        player thread high_round_info();
                                    }
                                }
                                
                                high_round_tracker()
                                {
                                	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_homepath") + "/";
                                	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 )
                                		{
                                			level.HighRoundPlayers = "";
                                			players = get_players();
                                			for ( i = 0; i < players.size; i++ )
                                			{
                                				if( level.HighRoundPlayers == "" )
                                				{
                                					level.HighRoundPlayers = players[i].name;
                                				}
                                				else
                                				{
                                					level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
                                				}
                                			}
                                			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 );
                                		}
                                	}
                                }
                                
                                log_highround_record( newRecord )
                                {
                                	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_homepath") + "/";
                                	path = level.basepath + "/logs/" + map + gamemode + "HighRound.txt";
                                	file = fopen( path, "w" );
                                	fwrite( file, newRecord );
                                	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 6;
                                	self tell( "High Round Record for this map: ^1" + level.HighRound );
                                	self tell( "Record set by: ^1" + level.HighRoundPlayers );
                                }
                                
                                jvegas01 Offline
                                jvegas01 Offline
                                jvegas01
                                wrote on last edited by
                                #19

                                Kalitos thank you bro it works perfect ❤

                                1 Reply Last reply
                                1
                                • Kalitos Kalitos

                                  I fixed the script loading issue. Working with the latest version of the plugin (1.9.5). The script needs an elapsed game to save the first records, then it will display the information.

                                  #include maps/mp/gametypes/_hud_message;
                                  #include maps/mp/gametypes/_globallogic_spawn;
                                  #include maps/mp/gametypes/_spectating;
                                  #include maps/mp/_tacticalinsertion;
                                  #include maps/mp/_challenges;
                                  #include maps/mp/gametypes/_globallogic;
                                  #include maps/mp/gametypes/_hud_util;
                                  #include maps/mp/_utility;
                                  #include common_scripts/utility;
                                  #include maps/mp/gametypes/_globallogic_ui;
                                  #include maps/mp/gametypes/_persistence;
                                  
                                  init()
                                  {
                                      level thread high_round_tracker();
                                      level thread onPlayerConnect();
                                  }
                                  
                                  onPlayerConnect()
                                  {
                                      for(;;)
                                      {
                                          level waittill("connected", player);
                                          player thread high_round_info();
                                      }
                                  }
                                  
                                  high_round_tracker()
                                  {
                                  	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_homepath") + "/";
                                  	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 )
                                  		{
                                  			level.HighRoundPlayers = "";
                                  			players = get_players();
                                  			for ( i = 0; i < players.size; i++ )
                                  			{
                                  				if( level.HighRoundPlayers == "" )
                                  				{
                                  					level.HighRoundPlayers = players[i].name;
                                  				}
                                  				else
                                  				{
                                  					level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
                                  				}
                                  			}
                                  			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 );
                                  		}
                                  	}
                                  }
                                  
                                  log_highround_record( newRecord )
                                  {
                                  	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_homepath") + "/";
                                  	path = level.basepath + "/logs/" + map + gamemode + "HighRound.txt";
                                  	file = fopen( path, "w" );
                                  	fwrite( file, newRecord );
                                  	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 6;
                                  	self tell( "High Round Record for this map: ^1" + level.HighRound );
                                  	self tell( "Record set by: ^1" + level.HighRoundPlayers );
                                  }
                                  
                                  Ch00chinat0r Offline
                                  Ch00chinat0r Offline
                                  Ch00chinat0r
                                  wrote on last edited by
                                  #20

                                  Kalitos Any idea what I have done wrong with your script? I have placed the compiled gsc to .../Plutonium\storage\t6\scripts\zm and when running the server I receive this message. Would realllly love to add this feature to my server!
                                  **** 5 script error(s):
                                  **** Unresolved external : "fopen" with 2 parameters in "High scores" at lines 1,1 ****
                                  **** Unresolved external : "fread" with 1 parameters in "High scores" at line 1 ****
                                  **** Unresolved external : "fclose" with 1 parameters in "High scores" at lines

                                  Ch00chinat0r 1 Reply Last reply
                                  0
                                  • Ch00chinat0r Ch00chinat0r

                                    Kalitos Any idea what I have done wrong with your script? I have placed the compiled gsc to .../Plutonium\storage\t6\scripts\zm and when running the server I receive this message. Would realllly love to add this feature to my server!
                                    **** 5 script error(s):
                                    **** Unresolved external : "fopen" with 2 parameters in "High scores" at lines 1,1 ****
                                    **** Unresolved external : "fread" with 1 parameters in "High scores" at line 1 ****
                                    **** Unresolved external : "fclose" with 1 parameters in "High scores" at lines

                                    Ch00chinat0r Offline
                                    Ch00chinat0r Offline
                                    Ch00chinat0r
                                    wrote on last edited by
                                    #21

                                    Ch00chinat0r Got it to work. Had to scroll through more of the thread. Needed to add t6r folder to my game server folder and add the dll there. Great script! I really couldn't be happier with it!

                                    1 Reply Last reply
                                    1
                                    • Kalitos Kalitos

                                      I fixed the script loading issue. Working with the latest version of the plugin (1.9.5). The script needs an elapsed game to save the first records, then it will display the information.

                                      #include maps/mp/gametypes/_hud_message;
                                      #include maps/mp/gametypes/_globallogic_spawn;
                                      #include maps/mp/gametypes/_spectating;
                                      #include maps/mp/_tacticalinsertion;
                                      #include maps/mp/_challenges;
                                      #include maps/mp/gametypes/_globallogic;
                                      #include maps/mp/gametypes/_hud_util;
                                      #include maps/mp/_utility;
                                      #include common_scripts/utility;
                                      #include maps/mp/gametypes/_globallogic_ui;
                                      #include maps/mp/gametypes/_persistence;
                                      
                                      init()
                                      {
                                          level thread high_round_tracker();
                                          level thread onPlayerConnect();
                                      }
                                      
                                      onPlayerConnect()
                                      {
                                          for(;;)
                                          {
                                              level waittill("connected", player);
                                              player thread high_round_info();
                                          }
                                      }
                                      
                                      high_round_tracker()
                                      {
                                      	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_homepath") + "/";
                                      	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 )
                                      		{
                                      			level.HighRoundPlayers = "";
                                      			players = get_players();
                                      			for ( i = 0; i < players.size; i++ )
                                      			{
                                      				if( level.HighRoundPlayers == "" )
                                      				{
                                      					level.HighRoundPlayers = players[i].name;
                                      				}
                                      				else
                                      				{
                                      					level.HighRoundPlayers = level.HighRoundPlayers + "," + players[i].name;
                                      				}
                                      			}
                                      			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 );
                                      		}
                                      	}
                                      }
                                      
                                      log_highround_record( newRecord )
                                      {
                                      	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_homepath") + "/";
                                      	path = level.basepath + "/logs/" + map + gamemode + "HighRound.txt";
                                      	file = fopen( path, "w" );
                                      	fwrite( file, newRecord );
                                      	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 6;
                                      	self tell( "High Round Record for this map: ^1" + level.HighRound );
                                      	self tell( "Record set by: ^1" + level.HighRoundPlayers );
                                      }
                                      
                                      akashio Offline
                                      akashio Offline
                                      akashio
                                      wrote on last edited by
                                      #22

                                      Kalitos Hey, I tried using that script sadly as soon the script loads in my server, my server crashes and just reboots.. Do you have any idea how I can fix this issue?

                                      Kalitos 1 Reply Last reply
                                      0
                                      • akashio akashio

                                        Kalitos Hey, I tried using that script sadly as soon the script loads in my server, my server crashes and just reboots.. Do you have any idea how I can fix this issue?

                                        Kalitos Offline
                                        Kalitos Offline
                                        Kalitos
                                        wrote on last edited by
                                        #23

                                        akashio I don't know, maybe he forgot to load the plugin

                                        1 Reply Last reply
                                        0
                                        • emiloxd Offline
                                          emiloxd Offline
                                          emiloxd
                                          wrote on last edited by
                                          #24

                                          Doesn't work for me.
                                          **** Unresolved external : "fputs" with 2 parameters in "round-tracker" at line 1 ****

                                          Aranella 1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • 1
                                          • 2
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Unread 0
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Donate