Results 1 to 3 of 3

Thread: [CoD4] Menu - Player Counter

  1. #1
    Private
    Join Date
    Oct 2013
    Posts
    48
    Thanks
    10
    Thanked 4 Times in 2 Posts

    [CoD4] Menu - Player Counter

    Hey there..
    I'm trying to create a small counter in hud.menu to show the count of alive players.
    I know there is:
    Code:
    (player(kills));
    to track the kills of the player.
    Is there something like that for menus to count the alive players?
    Or did i have to use dvars to count it in codscript?

  2. #2
    Brigadier General
    Join Date
    Oct 2012
    Posts
    994
    Thanks
    20
    Thanked 588 Times in 388 Posts
    Quote Originally Posted by DjTranceFire View Post
    Hey there..
    I'm trying to create a small counter in hud.menu to show the count of alive players.
    I know there is:
    Code:
    (player(kills));
    to track the kills of the player.
    Is there something like that for menus to count the alive players?
    Or did i have to use dvars to count it in codscript?
    You'd do better by using level hud elements to count the number of players alive. It can be done in a menu, but you would still need a loop function to constantly set the value of the menu item to show the correct number of players. And using menu items would necessitate running the function on all players. Using level hud elements, you run the function on the server, not the player. This is more cpu friendly.

    level hud element to constantly show the number of players alive and dead on each team:

    PHP Code:
    init()
    {

        
    thread UpdateTeamStatus();

    }

    UpdateTeamStatus()
    {
        
    level endon"game_ended" );

        
    icon_Y             10;
        
    deaths_icons_Y     53;
        
    player_Y         33;
        
    deaths_num_Y    76;

        for( ;; )
        {
            
    wait 1;
            
            if( 
    level.intermission 
            {
                
    level thread CleanUP();
                break;
            }

            if( !
    isdefinedlevel.axisicon ) )  ////////////////////////////// team icon
            
    {
                
    level.axisicon newHudElem();    
                
    level.axisicon.629;
                
    level.axisicon.icon_Y;
                
    level.axisicon.alignX "right";
                
    level.axisicon.alignY "top";
                
    level.axisicon.horzAlign "fullscreen";
                
    level.axisicon.vertAlign "fullscreen";
                
    level.axisicon.hideWhenInMenu true;
                
    level.axisicon.alpha 0.8;
                
    level.axisicon setShadergame["icons"]["axis"], 2020 );
            }

            if( !
    isdefinedlevel.deadaxisicon ) )  //////////////////////////// deaths icon
            
    {
                
    level.deadaxisicon newHudElem();
                
    level.deadaxisicon.629;
                
    level.deadaxisicon.deaths_icons_Y;
                
    level.deadaxisicon.alignX "right";
                
    level.deadaxisicon.alignY "top";
                
    level.deadaxisicon.horzAlign "fullscreen";
                
    level.deadaxisicon.vertAlign "fullscreen";
                
    level.deadaxisicon.alpha 0.8;
                
    level.deadaxisicon.hideWhenInMenu true;
                
    level.deadaxisicon.hidden false;
                
    level.deadaxisicon setShadergame["deathicon"], 2020 );
            }
            
            if( !
    isdefinedlevel.axisnumber ) )  ///////////////////////////// player number
            
    {
                
    level.axisnumber newHudElem();    
                
    level.axisnumber.622;
                
    level.axisnumber.player_Y;
                
    level.axisnumber.alignX "right";
                
    level.axisnumber.alignY "top";
                
    level.axisnumber.horzAlign "fullscreen";
                
    level.axisnumber.vertAlign "fullscreen";
                
    level.axisnumber.font "default";
                
    level.axisnumber.hideWhenInMenu true;
                
    level.axisnumber.fontscale 1.4;
                
    level.axisnumber setValue);
            }
            
            if( !
    isdefinedlevel.deadaxisnumber ) )  /////////////////////////// deaths number
            
    {
                
    level.deadaxisnumber newHudElem();    
                
    level.deadaxisnumber.622;
                
    level.deadaxisnumber.deaths_num_Y;
                
    level.deadaxisnumber.alignX "right";
                
    level.deadaxisnumber.alignY "top";
                
    level.deadaxisnumber.horzAlign "fullscreen";
                
    level.deadaxisnumber.vertAlign "fullscreen";
                
    level.deadaxisnumber.font "default";
                
    level.deadaxisnumber.hideWhenInMenu true;
                
    level.deadaxisnumber.fontscale 1.4;
                
    level.deadaxisnumber.color = ( 11);
                
    level.deadaxisnumber setValue);
            }
            
        
    //#############################################################################
        
            
    if( !isdefinedlevel.alliedicon ) )  ////////////////////////////// team icon
            
    {
                
    level.alliedicon newHudElem();    
                
    level.alliedicon.605;
                
    level.alliedicon.icon_Y;
                
    level.alliedicon.alignX "right";
                
    level.alliedicon.alignY "top";
                
    level.alliedicon.horzAlign "fullscreen";
                
    level.alliedicon.vertAlign "fullscreen";
                
    level.alliedicon.hideWhenInMenu true;
                
    level.alliedicon.alpha 0.8;
                
    level.alliedicon setShadergame["icons"]["allies"], 2020 );
            }

            if( !
    isdefinedlevel.deadalliesicon ) )  //////////////////////////// deaths icon
            
    {
                
    level.deadalliesicon newHudElem();    
                
    level.deadalliesicon.605;
                
    level.deadalliesicon.deaths_icons_Y;
                
    level.deadalliesicon.alignX "right";
                
    level.deadalliesicon.alignY "top";
                
    level.deadalliesicon.horzAlign "fullscreen";
                
    level.deadalliesicon.vertAlign "fullscreen";
                
    level.deadalliesicon.hideWhenInMenu true;
                
    level.deadalliesicon.alpha 0.8;
                
    level.deadalliesicon setShadergame["deathicon"], 2020 );
            }
            
            if( !
    isdefinedlevel.alliednumber ) )  ///////////////////////////// player number
            
    {
                
    level.alliednumber newHudElem();    
                
    level.alliednumber.598;
                
    level.alliednumber.player_Y;
                
    level.alliednumber.alignX "right";
                
    level.alliednumber.alignY "top";
                
    level.alliednumber.horzAlign "fullscreen";
                
    level.alliednumber.vertAlign "fullscreen";
                
    level.alliednumber.font "default";
                
    level.alliednumber.hideWhenInMenu true;
                
    level.alliednumber.fontscale 1.4;
                
    level.alliednumber setValue);
            }
                    
            if( !
    isdefinedlevel.deadalliednumber ) )  /////////////////////////// deaths number
            
    {
                
    level.deadalliednumber newHudElem();    
                
    level.deadalliednumber.598;
                
    level.deadalliednumber.deaths_num_Y;
                
    level.deadalliednumber.alignX "right";
                
    level.deadalliednumber.alignY "top";
                
    level.deadalliednumber.horzAlign "fullscreen";
                
    level.deadalliednumber.vertAlign "fullscreen";            
                
    level.deadalliednumber.font "default";
                
    level.deadalliednumber.hideWhenInMenu true;
                
    level.deadalliednumber.fontscale 1.4;
                
    level.deadalliednumber.color = ( 11);
                
    level.deadalliednumber setValue);
            }
            
            
    allies = [];
            
    axis = [];
            
    deadallies = [];
            
    deadaxis = [];
            
            for(
    0level.players.sizei++)
            {
                if( 
    level.players[i].sessionstate == "playing" && level.players[i].sessionteam == "allies" )
                    
    alliesallies.size ] = level.players[i];
                if( 
    level.players[i].sessionstate != "playing" && level.players[i].sessionteam == "allies" )
                    
    deadallies[deadallies.size] = level.players[i];
                if( 
    level.players[i].sessionstate == "playing" && level.players[i].sessionteam == "axis" )
                    
    axisaxis.size ] = level.players[i];
                if( 
    level.players[i].sessionstate != "playing" && level.players[i].sessionteam == "axis" )
                    
    deadaxisdeadaxis.size ] = level.players[i];
            }
            
            
    level.axisnumber setValueaxis.size );
            
    level.alliednumber setValueallies.size );
            
    level.deadaxisnumber setValuedeadaxis.size );
            
    level.deadalliednumber setValuedeadallies.size );
        }
    }

    CleanUP()
    {
        if( 
    isdefinedlevel.axisicon ) )             level.axisicon destroy();
        if( 
    isdefinedlevel.axisnumber ) )         level.axisnumber destroy();
        if( 
    isdefinedlevel.deadaxisicon ) )         level.deadaxisicon destroy();
        if( 
    isdefinedlevel.deadaxisnumber ) )     level.deadaxisnumber destroy();
        if( 
    isdefinedlevel.alliedicon ) )         level.alliedicon destroy();
        if( 
    isdefinedlevel.alliednumber ) )         level.alliednumber destroy();
        if( 
    isdefinedlevel.deadalliesicon ) )     level.deadalliesicon destroy();
        if( 
    isdefinedlevel.deadalliednumber ) )     level.deadalliednumber destroy();


  3. #3
    Private
    Join Date
    Oct 2013
    Posts
    48
    Thanks
    10
    Thanked 4 Times in 2 Posts
    Thank you its working fine!
    Is there something build in to get a health-indicator with numbers in it?

Posting Permissions

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