Quantcast
Channel: ZDoom
Viewing all articles
Browse latest Browse all 3391

Scripting • Re: "Secret found" message remains stuck forever in my zscripted HUD mod. How do I make it disappear?

$
0
0
I guess...

This is what I got. I'm still learning so it might look messy.

Code:

version "4.12"class DevredsHUD : BaseStatusBar{HUDFont MegaFont;HUDFont BigFont;HUDFont TinyFont;int health_catchup;int health_lerp;int overhealth_lerp;int dm_lerp_tics;int hp_lerp_tics;int oh_lerp_tics;bool damagebar_lit;int armor_lerp;int overarmor_lerp;int ar_lerp_tics;int oa_lerp_tics;int previous_ammo;int clipcasing_tics;bool casing_spent;int clip_tray_dist;int clip_tray_lerp;int clip_tray_up;int player_command;override void Init(){Super.Init();health_catchup = 0;health_lerp = 0;overhealth_lerp = 0;dm_lerp_tics = 0;hp_lerp_tics = 0;oh_lerp_tics = 0;damagebar_lit = false;previous_ammo = 0;clipcasing_tics = 7;casing_spent = false;clip_tray_dist = 10;clip_tray_lerp = 10;clip_tray_up = 0;//player_command = ;MegaFont = HUDFont.Create("HUDFONT_DOOM");BigFont = HUDFont.Create("SMALLFONT");TinyFont = HUDFont.Create("INDEXFONT");}override void Draw (int state, double TicFrac){Super.Draw (state, TicFrac);if (state == HUD_StatusBar){BeginStatusBar();D_StatusHUD (TicFrac);}else if (state == HUD_Fullscreen){BeginHUD();D_FullHUD (TicFrac);}}void D_StatusHUD (double TicFrac){return;}void D_FullHUD (double TicFrac){//Health bar is designated here.DrawImage ("HPARBAR",(55,0),DI_SCREEN_LEFT_BOTTOM);//-----------------------------|Health Bar|------------------------//Damaged bar interpolation.if (CPlayer.health > health_catchup){health_catchup = health_lerp;}else if (CPlayer.health < health_catchup && dm_lerp_tics <= 0){health_catchup -= 1;damagebar_lit ^= true;dm_lerp_tics = 2;}dm_lerp_tics -= TicFrac;if (damagebar_lit){DrawBar ("HPBARDM1", "HPBARNO", health_catchup, 100, (62, -7), SHADER_HORZ, DI_SCREEN_LEFT_BOTTOM);}else{DrawBar ("HPBARDM2", "HPBARNO", health_catchup, 100, (62, -7), SHADER_HORZ, DI_SCREEN_LEFT_BOTTOM);}//Health bar with interpolation.if (CPlayer.health > health_lerp && hp_lerp_tics <= 0){health_lerp += 1;hp_lerp_tics = 1;}else if (CPlayer.health < health_lerp && hp_lerp_tics <= 0){health_lerp -= 1;hp_lerp_tics = 1;}hp_lerp_tics -= TicFrac * 2;if (CPlayer.health > 25){DrawString (BigFont, FormatNumber(CPlayer.health, 3), (1,-23), DI_SCREEN_LEFT_BOTTOM|DI_TEXT_ALIGN_LEFT, Font.CR_GREEN);DrawBar ("HPBAR1", "HPBARNO", health_lerp, 100, (62, -7), SHADER_HORZ, DI_SCREEN_LEFT_BOTTOM);}else{DrawString (BigFont, FormatNumber(CPlayer.health, 3), (1,-23), DI_SCREEN_LEFT_BOTTOM|DI_TEXT_ALIGN_LEFT, Font.CR_BRICK);DrawBar ("HPBAR0", "HPBARNO", health_lerp, 100, (62, -7), SHADER_HORZ, DI_SCREEN_LEFT_BOTTOM);}//Overhealth bar with interpolation.if (CPlayer.health > overhealth_lerp && oh_lerp_tics <= 0){overhealth_lerp += 1;hp_lerp_tics = 1;}else if (CPlayer.health < overhealth_lerp && oh_lerp_tics <= 0){overhealth_lerp -= 1;oh_lerp_tics = 1;}oh_lerp_tics -= TicFrac * 2;if (CPlayer.health > 100){DrawString (BigFont, FormatNumber(CPlayer.health, 3), (1,-23), DI_SCREEN_LEFT_BOTTOM|DI_TEXT_ALIGN_LEFT, Font.CR_SAPPHIRE);}DrawBar ("HPBAR2", "HPBARNO", overhealth_lerp - 100, 100, (62, -7), SHADER_HORZ, DI_SCREEN_LEFT_BOTTOM);//---------------------|Armor Display|---------------------------int curr_armor = GetArmorAmount();if (curr_armor > armor_lerp && ar_lerp_tics <= 0){armor_lerp += 1;ar_lerp_tics = 1;}else if (curr_armor < armor_lerp && ar_lerp_tics <= 0){armor_lerp -= 1;ar_lerp_tics = 1;}ar_lerp_tics -= TicFrac * 2;if (curr_armor > overarmor_lerp && oa_lerp_tics <= 0){overarmor_lerp += 1;oa_lerp_tics = 1;}else if (curr_armor < overarmor_lerp && oa_lerp_tics <= 0){overarmor_lerp -= 1;oa_lerp_tics = 1;}oa_lerp_tics -= TicFrac * 2;if (curr_armor > 100){DrawString (BigFont, FormatNumber(GetArmorAmount(), 3), (1,-9), DI_SCREEN_LEFT_BOTTOM|DI_TEXT_ALIGN_LEFT, Font.CR_CYAN);}else{DrawString (BigFont, FormatNumber(GetArmorAmount(), 3), (1,-9), DI_SCREEN_LEFT_BOTTOM|DI_TEXT_ALIGN_LEFT, Font.CR_BLUE);}DrawBar ("APBAR1", "APBAR0", armor_lerp, 100, (64, -1), SHADER_HORZ, DI_SCREEN_LEFT_BOTTOM);DrawBar ("APBAR2", "APBAR0", overarmor_lerp - 100, 100, (64, -1), SHADER_HORZ, DI_SCREEN_LEFT_BOTTOM);//--------------------|Ammo Counter|------------------------//Here we draw the ammo tray, display ammo and animate ammo spent.DrawImage ("AMMOTRAY",(-59,0),DI_SCREEN_RIGHT_BOTTOM);Inventory ammotype1, ammotype2;[ammotype1, ammotype2] = GetCurrentAmmo();//This section is to show ammo in the tray.if (ammotype1 != null){if (ammotype1.Amount >= 1){DrawImage("TR_CLIP0", (clip_tray_dist * -10 + clip_tray_lerp, -2 - clip_tray_up), DI_SCREEN_RIGHT_BOTTOM);}if (ammotype1.Amount >= 2){DrawImage("TR_CLIP0", (clip_tray_dist * -9 + clip_tray_lerp, -2 - clip_tray_up), DI_SCREEN_RIGHT_BOTTOM);}if (ammotype1.Amount >= 3){DrawImage("TR_CLIP0", (clip_tray_dist * -8 + clip_tray_lerp, -2 - clip_tray_up), DI_SCREEN_RIGHT_BOTTOM);}if (ammotype1.Amount >= 4){DrawImage("TR_CLIP0", (clip_tray_dist * -7 + clip_tray_lerp, -2 - clip_tray_up), DI_SCREEN_RIGHT_BOTTOM);}if (ammotype1.Amount >= 5){DrawImage("TR_CLIP0", (clip_tray_dist * -6 + clip_tray_lerp, -2 - clip_tray_up), DI_SCREEN_RIGHT_BOTTOM);}if (ammotype1.Amount >= 6){DrawImage("TR_CLIP0", (clip_tray_dist * -5 + clip_tray_lerp, -2 - clip_tray_up), DI_SCREEN_RIGHT_BOTTOM);}if (ammotype1.Amount >= 7){DrawImage("TR_CLIP0", (clip_tray_dist * -4 + clip_tray_lerp, -2 - clip_tray_up), DI_SCREEN_RIGHT_BOTTOM);}if (ammotype1.Amount >= 8){DrawImage("TR_CLIP0", (clip_tray_dist * -3 + clip_tray_lerp, -2 - clip_tray_up), DI_SCREEN_RIGHT_BOTTOM);}if (ammotype1.Amount >= 9){DrawImage("TR_CLIP0", (clip_tray_dist * -2 + clip_tray_lerp, -2 - clip_tray_up), DI_SCREEN_RIGHT_BOTTOM);}}if (ammotype1 != null && ammotype1.Amount != previous_ammo){if (ammotype1.Amount > previous_ammo) {clip_tray_up = 8;}else{clipcasing_tics = 7;clip_tray_lerp = 10;}previous_ammo = ammotype1.Amount;}clipcasing_tics -= TicFrac;if (clip_tray_lerp > 0) {clip_tray_lerp -= TicFrac * 2;}if (clip_tray_up > 0) {clip_tray_up -= TicFrac * 2;}if (clipcasing_tics > 0){if (clipcasing_tics == 7){DrawImage("TRCLPU_1", (-52,0), DI_SCREEN_RIGHT_BOTTOM);}if (clipcasing_tics == 6){DrawImage("TRCLPU_2", (-52,0), DI_SCREEN_RIGHT_BOTTOM);}if (clipcasing_tics == 5){DrawImage("TRCLPU_3", (-52,0), DI_SCREEN_RIGHT_BOTTOM);}if (clipcasing_tics == 4){DrawImage("TRCLPU_4", (-52,0), DI_SCREEN_RIGHT_BOTTOM);}if (clipcasing_tics == 3){DrawImage("TRCLPU_5", (-52,0), DI_SCREEN_RIGHT_BOTTOM);}if (clipcasing_tics == 2){DrawImage("TRCLPU_6", (-52,0), DI_SCREEN_RIGHT_BOTTOM);}if (clipcasing_tics == 1){DrawImage("TRCLPU_7", (-52,0), DI_SCREEN_RIGHT_BOTTOM);}}//Here we draw the counter overlay.DrawImage ("AMMOCNTR",(-14,0),DI_SCREEN_RIGHT_BOTTOM);if (ammotype1 != null){DrawString (MegaFont, FormatNumber(ammotype1.Amount, 3), (-3,-43), DI_SCREEN_RIGHT_BOTTOM|DI_TEXT_ALIGN_RIGHT, Font.CR_RED);}if (ammotype2 != null) {DrawString (BigFont, FormatNumber(ammotype2.Amount, 3), (-3,-23), DI_SCREEN_RIGHT_BOTTOM|DI_TEXT_ALIGN_RIGHT, Font.CR_RED);}}override void Tick(){}}

Statistics: Posted by DonDevRed — Tue Aug 20, 2024 4:41 pm



Viewing all articles
Browse latest Browse all 3391

Trending Articles