Vartazian looking for timer script for a map finish

For jump related chat that is specific to the PC

Moderators: Core Staff, PC Team

Post Reply
Vartazian
CJ Worshipper
CJ Worshipper
Posts: 286
Joined: June 10th, 2011, 9:14 pm

Vartazian looking for timer script for a map finish

Post by Vartazian » January 14th, 2014, 6:13 am

Hello. Just as title says.. I am looking for a script to keep track of when the player starts and ends and keep track of the time. Then when the player finishes the map, it will spurt out the name of the player and that they finished hard way in "xx:xx.xx" time. I'm looking for an already made script. Any help would be appreciated. (for my new map) :)

SkyLine_XD
CJ Wannabe
CJ Wannabe
Posts: 31
Joined: August 8th, 2013, 1:48 pm

Re: Vartazian looking for timer script for a map finish

Post by SkyLine_XD » January 14th, 2014, 11:45 am

can help!

SkyLine_XD
CJ Wannabe
CJ Wannabe
Posts: 31
Joined: August 8th, 2013, 1:48 pm

Re: Vartazian looking for timer script for a map finish

Post by SkyLine_XD » January 14th, 2014, 1:23 pm

example:

Code: Select all

main()
{
        thread OnPlayerConnect();
}

OnPlayerConnect()
{  
  
  	for(;;)
        {
                level waittill("connecting", player);

  		player thread onPlayerSpawned();
		player.hard = false;
		player.easy = false;
		player.easy_timer = false;
		player.hard_timer = false;
		player.endeasy = false;
		player.finished = false;
        }
}

onPlayerSpawned()
{                                                                                                                                                                                                                                                                 
        self endon("disconnect");
         
        for(;;)
        {                                                                                                           
                self waittill("spawned_player");  
                self thread initTouch();
        }
}

initTouch()
{
	self endon("disconnect");

	hard = getent("hard","targetname");
	testEasy = getentarray("easy","targetname");

	finishedEasy = getentarray("finish_easy","targetname");
	finished = getentarray("finish_hard","targetname");
  
 	for(;;)
  	{
		if(isDefined(hard))
    		{
      			if(self isTouching(hard) && self.hard == false)
      			{
				self.hard = true;
				self thread fixtimehard();
			}
		}

    		if(isDefined(testEasy[0]))
    		{
      			if(self isTouching(testEasy[0]) && self.easy == false)
      			{
				self.easy = true;
				self thread fixtimeeasy();
				wait 1;	
			}
		}

    		if(isDefined(finishedEasy[0]))
    		{
      			if(self isTouching(finishedEasy[0]))
      			{
				self thread finishedEasy();	
			}
		}

    		if(isDefined(finished[0]))
    		{
      			if(self isTouching(finished[0]))
      			{
				self thread finishedHard();
    			}
		}
    	wait 0.05;  
	}
}

fixTimeEasy()
{
        self endon("disconnect");

	if(self.easy_timer == false)
	{
		self.easy_timer = true;
		self thread doEasyTimer();
	}
}

fixTimeHard()
{
        self endon("disconnect");

	if(self.hard_timer == false)
	{
		self.hard_timer = true;
		self thread doHardTimer();
	}
}

doHardTimer()
{
	self endon("disconnect");

   	self.hardtimer = newClientHudElem(self);
	self.hardtimer SetTenthsTimerUp( 1 );
	self.hardtimer.start_time = gettime();
	self.hard_hours = 0;
	
	while(1)
	{
		if(self.finished == false)
		{
			time = (int((gettime() - self.hardtimer.start_time)/100))/10;
			self.allseconds = time;

			m = int(time/60);
			mtok = strTok(m , ",");
			m = mtok[0];
			if(int(m) < 10)
			self.hard_minutes = "0"+m;

			stemp = time - (60 * int(time/60));
			stok = strTok(stemp , ",");
			stemptemp = stok[0];
			if(int(stemptemp) < 10)
			self.hard_seconds = "0"+stemptemp;
			else
			self.hard_seconds = stemptemp;

			if(int(self.hard_minutes) > 60)
			{
				self.hard_hours ++;
			}

			if(int(self.hard_hours) > 0)
			self.finishtime = (self.hard_hours)+":"+(self.hard_minutes)+":"+(self.hard_seconds);
			else
			self.finishtime = (self.hard_minutes)+":"+(self.hard_seconds);
		}
	wait 1;
	}
}

doEasyTimer()
{
	self endon("disconnect");

   	self.easytimer = newClientHudElem(self);
	self.easytimer SetTenthsTimerUp( 1 );
	self.easytimer.start_time = gettime();
	self.easy_hours = 0;
	
	while(1)
	{
		if(self.endeasy == false)
		{
			time = (int((gettime() - self.easytimer.start_time)/100))/10;
			self.easy_allseconds = time;

			m = int(time/60);
			mtok = strTok(m , ",");
			m = mtok[0];
			if(int(m) < 10)
			self.easy_minutes = "0"+m;
		
			stemp = time - (60 * int(time/60));
			stok = strTok(stemp , ",");
			stemptemp = stok[0];
			if(int(stemptemp) < 10)
			self.easy_seconds = "0"+stemptemp;
			else
			self.easy_seconds = stemptemp;

			if(int(self.easy_minutes) > 60)
			{
				self.easy_hours ++;
			}

			if(int(self.easy_hours) > 0)
			self.easy_finishtime = (self.easy_hours)+":"+(self.easy_minutes)+":"+(self.easy_seconds);
			else
			self.easy_finishtime = (self.easy_minutes)+":"+(self.easy_seconds);
		}
	wait 1;
	}
}

finishedEasy()
{
	if(self.endeasy == false && self.easy_timer == true) 
	{
		self.endeasy = true;
		self iPrintlnBold("finished easy way in " + self.easy_finishtime);
	}
}

finishedHard()
{
	if(self.finished == false && self.hard_timer == true) 
	{
		self.finished = true;
		self iPrintlnBold("finished hard way in " + self.finishtime);
	}
}

Vartazian
CJ Worshipper
CJ Worshipper
Posts: 286
Joined: June 10th, 2011, 9:14 pm

Re: Vartazian looking for timer script for a map finish

Post by Vartazian » January 16th, 2014, 1:44 am

tyvm man. I hope you already had this code or something because I got someone to do it for me after the map is finished. Thank you though. I will use this if I can't get the other one to work.

MrLolCJ
CJ Wannabe
CJ Wannabe
Posts: 5
Joined: January 16th, 2014, 3:32 pm

Re: Vartazian looking for timer script for a map finish

Post by MrLolCJ » January 16th, 2014, 3:47 pm

oi Vart boi, come on Kirks more often ya scum :)

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest