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

Plutonium

  1. Home
  2. BO2 Modding Support & Discussion
  3. [Support] On-Screen Player Health Information. GSC Code

[Support] On-Screen Player Health Information. GSC Code

Scheduled Pinned Locked Moved BO2 Modding Support & Discussion
19 Posts 10 Posters 2.8k 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.
  • Ojotaundefined Offline
    Ojotaundefined Offline
    Ojota
    wrote on last edited by
    #8

    Hey dude you got the include for the thing to work?

    1 Reply Last reply
    0
    • Gangorraundefined Gangorra

      I threw in some hud imports and utils, but I believe it's supposed to be zombies specific utils, right?
      (I dont have em now because I was exploring scripts and already changed everything :P)

      Base 115undefined Offline
      Base 115undefined Offline
      Base 115
      wrote on last edited by
      #9

      @GangorraAidetica Hi 👋, did you get it fixed?

      1 Reply Last reply
      0
      • Kalitosundefined Kalitos

        I have been working on a HUD that shows the health of the player in Zombies Mode.
        The code I have so far shows me the health of spawning the player.

        init()
        {
        	level.clientid = 0;
        	level.perk_purchase_limit = 9;
        	level thread onplayerconnect();
        	}
        
        onplayerconnect()
        {
        	for ( ;; )
        	{
        		level waittill( "connecting", player );
        		player thread onplayerspawned();
        		player.clientid = level.clientid;
        		level.clientid++;
        		player thread healthPlayer(); // Here I call my HUD HEALTH function
        		
        	}
        }
        
        onplayerspawned()
        {
        	level endon( "game_ended" );
                self endon( "disconnect" );
        	for(;;)
        	{
        		self welcome();
        		self addScore();
        		
        	}
        }
        
        healthPlayer()
        {
        	self endon("disconnect");
        	self iPrintln("Entra a healthPlayer");
        	self iprintln( "HEALTH: "+ self.health);
        	self.healthText = createFontString("Objective" , 1.7);
                self.healthText setPoint("CENTER", "TOP", 300, "CENTER");
                while(true)
                      {
                       self.healthText setText( "^2HEALTH: ^7"+ self.health);
                       wait 0.5;
                      }
        }
        

        But I have a problem, when another player or more connects, it shows me my health on the screen it also shows the health of the other player or other players on my screen too. The same thing happens to the rest of the players, it shows them their health and the health of the other players is put on top of them.

        Any help on how to fix it, and to show each player the health that corresponds to them and not to show the health of all the players to each one?

        Dempsey_undefined Offline
        Dempsey_undefined Offline
        Dempsey_
        wrote on last edited by
        #10

        Kalitos i don’t understand how can i use this? Im new

        AdrX003undefined 1 Reply Last reply
        0
        • Dempsey_undefined Dempsey_

          Kalitos i don’t understand how can i use this? Im new

          AdrX003undefined Offline
          AdrX003undefined Offline
          AdrX003
          wrote on last edited by
          #11

          Allmeta Its a file that will mod the game to show something else on the screen, a mod. we usually put them in the correct folder and they do what theyre written to do.

          Dempsey_undefined 1 Reply Last reply
          0
          • AdrX003undefined AdrX003

            Allmeta Its a file that will mod the game to show something else on the screen, a mod. we usually put them in the correct folder and they do what theyre written to do.

            Dempsey_undefined Offline
            Dempsey_undefined Offline
            Dempsey_
            wrote on last edited by
            #12

            AdrX003 for me it doesnt work do i need the main GSC and this GSC for it to work or what?

            AdrX003undefined 1 Reply Last reply
            0
            • Dempsey_undefined Dempsey_

              AdrX003 for me it doesnt work do i need the main GSC and this GSC for it to work or what?

              AdrX003undefined Offline
              AdrX003undefined Offline
              AdrX003
              wrote on last edited by AdrX003
              #13

              Allmeta this is not really a thread for users who just wanna use these stuff, but actually to teach new programmers on using the game code, so nothing here is ready to use.

              Dempsey_undefined 1 Reply Last reply
              0
              • AdrX003undefined AdrX003

                Allmeta this is not really a thread for users who just wanna use these stuff, but actually to teach new programmers on using the game code, so nothing here is ready to use.

                Dempsey_undefined Offline
                Dempsey_undefined Offline
                Dempsey_
                wrote on last edited by
                #14

                AdrX003 ty

                AdrX003undefined 1 Reply Last reply
                0
                • Dempsey_undefined Dempsey_

                  AdrX003 ty

                  AdrX003undefined Offline
                  AdrX003undefined Offline
                  AdrX003
                  wrote on last edited by
                  #15

                  Allmeta In your case you might wanna look for for the "compiled" GSCs wich are converted to a format that the plutonium will read and load into COD. if you need to know if something is compiled to play or not heres an example:
                  "open code" on left and compiled in the right (but usually most posts will contain both and the uploader also tells us wich is wich, etc )
                  74376c60-9b30-4819-8613-aed84b1fed83-image.png

                  1 Reply Last reply
                  0
                  • Kalitosundefined Kalitos

                    I have been working on a HUD that shows the health of the player in Zombies Mode.
                    The code I have so far shows me the health of spawning the player.

                    init()
                    {
                    	level.clientid = 0;
                    	level.perk_purchase_limit = 9;
                    	level thread onplayerconnect();
                    	}
                    
                    onplayerconnect()
                    {
                    	for ( ;; )
                    	{
                    		level waittill( "connecting", player );
                    		player thread onplayerspawned();
                    		player.clientid = level.clientid;
                    		level.clientid++;
                    		player thread healthPlayer(); // Here I call my HUD HEALTH function
                    		
                    	}
                    }
                    
                    onplayerspawned()
                    {
                    	level endon( "game_ended" );
                            self endon( "disconnect" );
                    	for(;;)
                    	{
                    		self welcome();
                    		self addScore();
                    		
                    	}
                    }
                    
                    healthPlayer()
                    {
                    	self endon("disconnect");
                    	self iPrintln("Entra a healthPlayer");
                    	self iprintln( "HEALTH: "+ self.health);
                    	self.healthText = createFontString("Objective" , 1.7);
                            self.healthText setPoint("CENTER", "TOP", 300, "CENTER");
                            while(true)
                                  {
                                   self.healthText setText( "^2HEALTH: ^7"+ self.health);
                                   wait 0.5;
                                  }
                    }
                    

                    But I have a problem, when another player or more connects, it shows me my health on the screen it also shows the health of the other player or other players on my screen too. The same thing happens to the rest of the players, it shows them their health and the health of the other players is put on top of them.

                    Any help on how to fix it, and to show each player the health that corresponds to them and not to show the health of all the players to each one?

                    lampikudoundefined Offline
                    lampikudoundefined Offline
                    lampikudo
                    wrote on last edited by
                    #16
                    This post is deleted!
                    1 Reply Last reply
                    0
                    • Kalitosundefined Kalitos

                      I have been working on a HUD that shows the health of the player in Zombies Mode.
                      The code I have so far shows me the health of spawning the player.

                      init()
                      {
                      	level.clientid = 0;
                      	level.perk_purchase_limit = 9;
                      	level thread onplayerconnect();
                      	}
                      
                      onplayerconnect()
                      {
                      	for ( ;; )
                      	{
                      		level waittill( "connecting", player );
                      		player thread onplayerspawned();
                      		player.clientid = level.clientid;
                      		level.clientid++;
                      		player thread healthPlayer(); // Here I call my HUD HEALTH function
                      		
                      	}
                      }
                      
                      onplayerspawned()
                      {
                      	level endon( "game_ended" );
                              self endon( "disconnect" );
                      	for(;;)
                      	{
                      		self welcome();
                      		self addScore();
                      		
                      	}
                      }
                      
                      healthPlayer()
                      {
                      	self endon("disconnect");
                      	self iPrintln("Entra a healthPlayer");
                      	self iprintln( "HEALTH: "+ self.health);
                      	self.healthText = createFontString("Objective" , 1.7);
                              self.healthText setPoint("CENTER", "TOP", 300, "CENTER");
                              while(true)
                                    {
                                     self.healthText setText( "^2HEALTH: ^7"+ self.health);
                                     wait 0.5;
                                    }
                      }
                      

                      But I have a problem, when another player or more connects, it shows me my health on the screen it also shows the health of the other player or other players on my screen too. The same thing happens to the rest of the players, it shows them their health and the health of the other players is put on top of them.

                      Any help on how to fix it, and to show each player the health that corresponds to them and not to show the health of all the players to each one?

                      Mr_Miksundefined Offline
                      Mr_Miksundefined Offline
                      Mr_Miks
                      wrote on last edited by
                      #17

                      Kalitos Hi, I know it's an old and probably solved topic, but in my case I was moding for BO1 zombies and found the same problem with a code very much like yours.

                      But this:

                      createFontString("Objective" , 1.7);
                      

                      Doesn't work for me (·__·) ...

                      My work around, tested for BO1 zombies (T6):

                      on_player_spawned()
                      {
                      	self endon("disconnect");
                      	self endon("death");
                      	
                      	while( true )
                      	{
                      		self waittill("spawned_player");
                      		
                      		
                      		if( !isdefined(self.myHealthTextHud) )
                      		{
                      			self.myHealthTextHud = newclientHudElem( self );	
                      		}
                      		
                      
                      		self.myHealthTextHud.alignX = "center";
                      		self.myHealthTextHud.alignY = "middle";
                      		self.myHealthTextHud.horzAlign = "center";
                      		self.myHealthTextHud.vertAlign = "bottom";
                      		self.myHealthTextHud.y = -20;
                      		self.myHealthTextHud.x = 0;
                      
                      		self.myHealthTextHud.foreground = true;
                      		self.myHealthTextHud.font = "default";
                      		self.myHealthTextHud.fontScale = 1.8;
                      		self.myHealthTextHud.alpha = 1;
                      		self.myHealthTextHud.color = ( 1.0, 0.0, 0.0 );
                      		self.myHealthTextHud setText( "HEALTH: "+self.health );
                      		
                      		self thread printHealth();
                      	}
                      }
                      
                      printHealth()
                      {
                      	self endon( "death" );
                      	self endon( "disconnect" );
                      
                      	while( true )
                      	{
                      		wait(1.5);
                      		self.myHealthTextHud setText( "HEALTH :"+self.health );
                      
                      	}
                      }
                      
                      
                      JezuzLizardundefined 1 Reply Last reply
                      0
                      • Mr_Miksundefined Mr_Miks

                        Kalitos Hi, I know it's an old and probably solved topic, but in my case I was moding for BO1 zombies and found the same problem with a code very much like yours.

                        But this:

                        createFontString("Objective" , 1.7);
                        

                        Doesn't work for me (·__·) ...

                        My work around, tested for BO1 zombies (T6):

                        on_player_spawned()
                        {
                        	self endon("disconnect");
                        	self endon("death");
                        	
                        	while( true )
                        	{
                        		self waittill("spawned_player");
                        		
                        		
                        		if( !isdefined(self.myHealthTextHud) )
                        		{
                        			self.myHealthTextHud = newclientHudElem( self );	
                        		}
                        		
                        
                        		self.myHealthTextHud.alignX = "center";
                        		self.myHealthTextHud.alignY = "middle";
                        		self.myHealthTextHud.horzAlign = "center";
                        		self.myHealthTextHud.vertAlign = "bottom";
                        		self.myHealthTextHud.y = -20;
                        		self.myHealthTextHud.x = 0;
                        
                        		self.myHealthTextHud.foreground = true;
                        		self.myHealthTextHud.font = "default";
                        		self.myHealthTextHud.fontScale = 1.8;
                        		self.myHealthTextHud.alpha = 1;
                        		self.myHealthTextHud.color = ( 1.0, 0.0, 0.0 );
                        		self.myHealthTextHud setText( "HEALTH: "+self.health );
                        		
                        		self thread printHealth();
                        	}
                        }
                        
                        printHealth()
                        {
                        	self endon( "death" );
                        	self endon( "disconnect" );
                        
                        	while( true )
                        	{
                        		wait(1.5);
                        		self.myHealthTextHud setText( "HEALTH :"+self.health );
                        
                        	}
                        }
                        
                        
                        JezuzLizardundefined Offline
                        JezuzLizardundefined Offline
                        JezuzLizard
                        Plutonium Staff
                        wrote on last edited by
                        #18

                        Mr_Miks I wouldn't recommend using setText() without an overflow fix because it eventually causes configstrings to overflow and error the game. Instead you should use .label for a static string, and setValue() for the health updating. Also "death" doesn't trigger in zombies so what will happen after running this code long enough you'll run out of script variables if players respawn. You would need to use "bled_out" instead.

                        Mr_Miksundefined 1 Reply Last reply
                        1
                        • JezuzLizardundefined JezuzLizard

                          Mr_Miks I wouldn't recommend using setText() without an overflow fix because it eventually causes configstrings to overflow and error the game. Instead you should use .label for a static string, and setValue() for the health updating. Also "death" doesn't trigger in zombies so what will happen after running this code long enough you'll run out of script variables if players respawn. You would need to use "bled_out" instead.

                          Mr_Miksundefined Offline
                          Mr_Miksundefined Offline
                          Mr_Miks
                          wrote on last edited by
                          #19

                          JezuzLizard Thanks alot for the feedback! I really appreciate it!

                          For those interested:

                          Initialization:

                          on_player_spawned()
                          {
                          	self endon("disconnect");
                          	self endon("bled_out");
                          
                          	while( true )
                          	{
                          		self waittill("spawned_player");
                          		
                          		
                          		if( !isdefined(self.myHealthTextHud) )
                          		{
                          			x = 0;
                          			y = -20;
                          			value = self.health;
                          			self.myHealthTextHud = create_health_hud( x, y, value );	
                          			// self.myHealthTextHud = newclientHudElem( self );	
                          		}
                          		
                          		self thread printHealth();
                          	}
                          }
                          

                          Update loop:

                          printHealth()
                          {
                          	self endon( "bled_out" );
                          	self endon( "disconnect" );
                          
                          	while( true )
                          	{
                          		wait(1.5);
                          		self.myHealthTextHud SetValue( self.health );
                          
                          	}
                          }
                          

                          And HUD creation:

                          // This is a modified version of:
                          //common_zombie\maps\_zombiemode_score.gsc:584:	hud = self create_highlight_hud( x, y, value ); 
                          create_health_hud( x, y, value )
                          {
                          	font_size = 1.8; 
                          
                          	hud = create_simple_hud( self ); //common_zombie_patch\maps\_zombiemode_utility.gsc:111
                          	
                          	level.hudelem_count++; 
                          
                          	hud.foreground = true; 
                          	hud.sort = 0.5; 
                          	hud.x = x; 
                          	hud.y = y; 
                          	hud.fontScale = font_size; 
                          	
                          	hud.alignX = "center"; 
                          	hud.alignY = "middle"; 
                          	hud.horzAlign = "center";
                          	hud.vertAlign = "bottom";
                          
                          	hud.color = ( 0.9, 0.9, 0.0 );
                          	
                          	hud.alpha = 1;
                          	hud.color = ( 1.0, 0.0, 0.0 );
                          
                          	//	hud.glowColor = ( 0.3, 0.6, 0.3 );
                          	//	hud.glowAlpha = 1; 
                          	
                          	hud.hidewheninmenu = true; 
                          	hud.hidewheninmenu = false; 
                          	
                          	hud.label = "HEALTH: ";
                          
                          	hud SetValue( value ); 
                          
                          	return hud; 	
                          }
                          
                          1 Reply Last reply
                          1
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Don't have an account? Register

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