Results 1 to 4 of 4

Thread: [CoD2][Standalone] Progress bar

  1. #1
    Private
    Join Date
    Feb 2013
    Location
    Poland
    Posts
    32
    Thanks
    33
    Thanked 27 Times in 8 Posts

    [CoD2][Standalone] Progress bar

    blanco\_progress.gsc
    PHP Code:
    ////////////////////////
    // Scripted by BlancO //
    // For killtube.org   //
    // 23.09.2013         //
    ////////////////////////

    main()
    {
        
    // Image of progress background
        
    level.progressBar_back "gfx/hud/hud@health_back.tga";
        
    // Image of progress
        
    level.progressBar "gfx/hud/hud@health_bar.tga";
        
    // Show time left (0 = no timer, 1 = timer, 2 tenthsTimer)
        
    level.progressShowTime 2;
        
    // Progress passed "time", "melee" (when holding melee button), "use" (when holding use button), "attack" (when holding attack button),
        
    level.progressPassesOn "use";
        
    // Reset Timer when key is no longer holded (bool)
        
    level.progressReset 1;
        
    // Lock player when progressing (bool)
        
    level.progressLockPlayer 1;
        
    // Disable player weapon when progressing (bool)
        
    level.progressDisableWeapon 1;
        
    // Check if player is on the ground (bool)
        
    level.progressMustBeOnTheGround 1;
        
    // Hud settings
        
    level.progressHudX 220// x position
        
    level.progressHudY 360// y position
        
    level.progressHudMaxWidth 200// max width
        
    level.progressHudHeight 12// height
        
    level.progressHudColor = (010); // color
        
    level.progressHudBackgroundColor = (111); // color of the background
        // Timer hud settings
        
    level.progressTimerX = (level.progressHudX 10); // x position
        
    level.progressTimerY = (level.progressHudY 1); // y position
        
    level.progressTimerColor = (000); // color

        // Precache
        
    precacheShader(level.progressBar_back);
        
    precacheShader(level.progressBar);
    }

    startProgressBar(total)
    {
        
    self endon("progress_end");
        
    part 0;

        if(!
    isDefined(self.progressBlocker))
            
    self.progressBlocker spawn("script_origin"self.origin);

        while(
    isDefined(self) && isAlive(self))
        {
            if(
    level.progressReset && part >= 0)
            {
                
    self unLink();
                
    self enableWeapon();
                
    part 0;
                
    self thread deleteProgressBar();
            }

            if((!
    level.progressMustBeOnTheGround || (level.progressMustBeOnTheGround && self isOnGround())))
            {
                while((
    level.progressPassesOn == "melee" && self meleeButtonPressed()) || (level.progressPassesOn == "use" && self useButtonPressed()) || (level.progressPassesOn == "attack" && self attackButtonPressed()) || (level.progressPassesOn == "time"))
                {
                    
    self thread updateProgressBar(parttotal);

                    if(
    level.progressLockPlayer)
                        
    self linkTo(self.progressBlocker);

                    if(
    level.progressDisableWeapon)
                        
    self disableWeapon();

                    if(
    part >= total)
                    {
                        
    self unLink();
                        
    self enableWeapon();
                        
    self thread deleteProgressBar();
                        
    self notify("progress_end");
                    }

                    
    wait 0.05;
                    
    part += 0.05;
                }
            }

            
    timeleft total part;
            if(
    timeleft && level.progressShowTime == && isDefined(self.progressHudTimer))
                
    self.progressHudTimer setTimer(timeleft);
            if(
    timeleft && level.progressShowTime == && isDefined(self.progressHudTimer))
                
    self.progressHudTimer setTenthsTimer(timeleft);

            
    wait 0.05;
        }

        
    self unLink();
        
    self enableWeapon();
        
    self thread deleteProgressBar();
    }

    updateProgressBar(partmax)
    {
        
    maxwidth level.progressHudMaxWidth;

        if(!
    isDefined(self.progressHud))
        {
            
    self.progressHud newClientHudElem(self);
            
    self.progressHud setShader(level.progressBar, (maxwidth 2), level.progressHudHeight);
            
    self.progressHud.color level.progressHudColor;
            
    self.progressHud.alignX "left";
            
    self.progressHud.alignY "middle";
            
    self.progressHud.= (level.progressHudX 2);
            
    self.progressHud.= (level.progressHudY);
            
    self.progressHud.sort = -1;
        }
        
        if(!
    isDefined(self.progressHudBg))
        {
            
    self.progressHudBg newClientHudElem(self);
            
    self.progressHudBg setShader(level.progressBar_backmaxwidthlevel.progressHudHeight);
            
    self.progressHudBg.color level.progressHudBackgroundColor;
            
    self.progressHudBg.alignX "left";
            
    self.progressHudBg.alignY "middle";
            
    self.progressHudBg.level.progressHudX;
            
    self.progressHudBg.level.progressHudY;
            
    self.progressHudBg.sort 1;
        }

        if(!
    isDefined(self.progressHudTimer) && (level.progressShowTime == || level.progressShowTime == 2))
        {
            
    self.progressHudTimer newClientHudElem(self);
            
    self.progressHudTimer.color level.progressTimerColor;
            
    self.progressHudTimer.alignX "left";
            
    self.progressHudTimer.alignY "middle";
            
    self.progressHudTimer.level.progressTimerX;
            
    self.progressHudTimer.level.progressTimerY;
            
    self.progressHudTimer.sort 2;
        }

        
    timeleft max part;
        if(
    timeleft && level.progressShowTime == 1)
            
    self.progressHudTimer setTimer(timeleft);
        if(
    timeleft && level.progressShowTime == 2)
            
    self.progressHudTimer setTenthsTimer(timeleft);

        if(
    part <= 0)
            
    part 0.1;

        if(
    level.progressHudColor == (010))
            
    self.progressHud.color = (max partmax/part0);

        
    hud_width int((part/max) * (maxwidth 2));

        if(
    hud_width 1)
            
    hud_width 1;
        if(
    hud_width > (maxwidth 2))
            
    hud_width = (maxwidth 2);

        
    self.progressHud setShader(level.progressBarhud_widthlevel.progressHudHeight);
    }

    deleteProgressBar()
    {
        if(
    isDefined(self.progressHud))
            
    self.progressHud destroy();
        
        if(
    isDefined(self.progressHudBg))
            
    self.progressHudBg destroy();

        if(
    isDefined(self.progressHudTimer))
            
    self.progressHudTimer destroy();

    Call on server start
    Code:
    thread blanco\_progress::main();
    Call when progress bar should start (time = total time of progress bar)
    Code:
    self blanco\_progress::startProgressBar(time);
    I think it's clear. Don't change anything except main() function. :D

    Click image for larger version. 

Name:	1.jpg 
Views:	337 
Size:	190.5 KB 
ID:	461

    Click image for larger version. 

Name:	2.jpg 
Views:	295 
Size:	193.1 KB 
ID:	462
    Last edited by BlancO; 23rd September 2013 at 16:12.

  2. The Following 9 Users Say Thank You to BlancO For This Useful Post:

    Invictus (25th December 2013),kung foo man (23rd September 2013),Loveboy (23rd September 2013),Ni3ls (23rd September 2013),remes29 (23rd September 2013),Rocky (8th July 2014),smect@ (6th October 2013),thOuMta (23rd September 2013),YuriJurek (23rd September 2013)

  3. #2
    Assadministrator kung foo man's Avatar
    Join Date
    Jun 2012
    Location
    trailerpark
    Posts
    2,010
    Thanks
    2,102
    Thanked 1,084 Times in 753 Posts
    Please upload your images next time yourself as attachment (free hosters are not reliable)
    timescale 0.01

  4. #3
    Private First Class RobsoN's Avatar
    Join Date
    Jan 2013
    Location
    /home/cod2/
    Posts
    230
    Thanks
    119
    Thanked 95 Times in 64 Posts
    Awesome work dude .
    "Don't worry if your code doesn't work correctly - if everything worked, you would not work" ~Mosher's right

  5. #4
    Corporal guiismiti's Avatar
    Join Date
    Dec 2013
    Location
    Brazil
    Posts
    244
    Thanks
    121
    Thanked 42 Times in 31 Posts
    I'm trying to create a new bar hud for a vehicle, it displays the vehicle's health.
    The label I want for it is that classic health cross. I don't know the name of that shader, does anybody know?

    Editted: I just checked the original hud_teamscore file and found out a label can't be an icon...

    Editted #2: Also just found the cross -> "gfx/hud/hud@health_cross.tga"
    Last edited by guiismiti; 2nd December 2014 at 16:27.
    set logfile 2

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •