[Support] On-Screen Player Health Information. GSC Code
-
@GangorraAidetica Hi , did you get it fixed?
-
Kalitos i don’t understand how can i use this? Im new
-
@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.
-
AdrX003 for me it doesnt work do i need the main GSC and this GSC for it to work or what?
-
@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.
-
AdrX003 ty
-
@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 )
-
This post is deleted!
-
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 ); } }
-
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.
-
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; }