Welcome to our guide for Half-Life 2 cheat codes and console commands! This comprehensive collection includes various commands that can enhance your gameplay experience. If you happen to come across any errors in the guide, please don’t hesitate to let us know. Now, let’s dive in and discover the world of console commands in Half-Life 2.
Other console command guides
Foreword
If the command doesn’t have a value, you can probably toggle it by entering it again in the console.
In cases where the command has a value of 1 or 0, and its description does not imply any change other than enabling/disabling, then entering the opposite value will switch the effect of the command. For example, sv_infinite_aux_power 1 is to enable the command, and sv_infinite_aux_power 0 is to disable the command (or sometimes backwards).
If the command involves changing any value, then this is stated in the command description, and the default value is already specified in the command itself. For example, sv_gravity 600 is a command that changes the value, and 600 is the default value.
The remaining commands are specific, and the method of their use is indicated in the description.
Where to enter console commands? [How to turn on the console?]
2) Select the setting Keyboard.
3) Find the Advanced button and click on it.
4) Check the box Enable developer console.
5) CONGRATULATIONS!!! Now you can open the console with the (~) key!
➨ Game process, part 1
- god – enable complete invulnerability.
- buddha – enable immortality.
You can still take damage, but you will not die
- kill – kill the player.
Works even when god enabled
- explode – kills the player with explosion damage.
There will be no explosion itself
- hurtme # – inflict a certain amount of damage to the player.
Instead of # you need to enter the required amount of damage
Armor can absorb some damage
Negative values remove 1 armor- notarget – enable NPCs to ignore the player.
- noclip – enable flight through walls.
- sv_noclipaccelerate 5 – change the speed of noclip acceleration.
A value of 0 removes noclip smoothness
- sv_noclipspeed 5 – change the noclip speed.
- sv_infinite_aux_power 1 – enable infinite energy for the suit
Infinite running, flashlight and oxygen
- hl2_normspeed 190 – change the player’s normal speed.
- hl2_sprintspeed 320 – change the player’s running speed.
- hl2_walkspeed 150 – change the player’s walk speed (left Alt).
- cl_sidespeed 450 – change the speed of movement sideways.
Cannot be made higher than the standard value
- cl_backspeed 450 – change the speed of movement back.
Cannot be made higher than the standard value
- cl_forwardspeed 450 – change the player’s entire speed.
Cannot be made higher than the standard value
- player_throwforce 1000 – change the force with which the player throws physical objects.
- player_old_armor 1 – enable the armor system like in the first Half-Life.
By default, armor absorbs 80% of damage, but in the old system, HP damage is also reduced by 50%. As a result, 100 HP and 100 armor is in fact 300 HP
- sk_suitcharger_citadel_maxarmor 200 – change the maximum amount of armor that a player can have in the citadel.
- r_flashlightlinear 100 – change flashlight brightness.
- r_flashlightfar 750 – change flashlight range.
- r_flashlightfov 45 – change flashlight size.
- r_flashlightlockposition 1 – enable the flashlight to lock in place after it’s turned on.
- r_newflashlight 0 – enable flashlight mode from the beta.
- sv_autoladderdismount 0 – disable automatic dismounting from the ladder when you reach the end of it.
- sv_ladder_useonly 1 – disable automatic ladder climbing.
- firetarget – use an entity you aimed at, regardless of distance.
Allows you to take props from any distance
- getpos – display the exact coordinates and angle of the player’s camera in the console.
- setang X Y # – change the angle of the player’s camera as well as its rotation (value #).
- setpos X Y Z – teleport the player to the coordinates.
- ent_teleport player – teleport the player to the crosshair.
- fadeout – close eyes (make the screen black).
To open use the command below
- fadein – open eyes.
To close use the command above
- bug_swap – change your current weapon to a bugbait and back.
Works the same as quick weapon switching
- +strafe – enable movement with the mouse.
Disable with -strafe command
- sk_dmg_take_scale1 0.50 – damage received by the player on easy difficulty.
- sk_dmg_take_scale2 1 – damage received by the player on medium difficulty.
- sk_dmg_take_scale3 1.50 – damage received by the player on hard difficulty.
➩ Game process, part 2
- skill # – change difficulty.
Instead of #, enter values from 1 to 3
- respawn_entities – respawn all entities on the map, including the player.
Your old hitbox remains where you typed the command, and you can damage yourself
- sv_gravity 600 – change the gravity for NPCs and the player.
- host_timescale 1 – change the time speed.
- phys_timescale 1 – change the physics speed calculation for physical objects.
Except for corpses and projectiles fired by the player
- cl_phys_timescale 1 – change the physics calculation for corpses.
At low values, corpses may stay in the air due to game optimization
- air_density 2 – change the air density, which affects the physics of objects.
- sk_fraggrenade_radius 250 – change the explosion radius of grenades.
- sk_smg1_grenade_radius 250 – change the explosion radius of underbarrel grenades.
- rope_shake 1 – enable rope shaking.
- fire_dmgscale 0.1 – change the fire damage multiplier.
- fire_dmginterval 1 – change the interval in seconds between when fire deals damage.
- sk_healthcharger 50 – change the amount of health that health chargers give.
- sk_healthkit 25 – change the amount of health that medkit give.
- sk_healthvial 10 – change the amount of health that health vials give.
- sk_suitcharger 75 – change the amount of armor that suit chargers give.
- sk_battery 15 – change the amount of armor that batteries give.
- ent_fire !picker sethealth 0 – kill an NPC or break a physical object you aim at (if it can break).
- shake – shake the screen.
- ent_create env_credits targetname credits2; ent_fire credits2 ShowLogo – show the Half-Life 2 logo, like at the beginning of the game.
- ent_create env_credits targetname credits1; ent_fire credits1 rollcredits – start the credits from the beginning of the game.
- ent_create env_credits targetname credits3; ent_fire credits3 rolloutrocredits – start the credits from the end of the game.
- creditsdone – ends credits
Works only with those that the player did not create
- ai_force_serverside_ragdoll 1 – enables corpses to have collisions with objects and NPCs.
- ai_inhibit_spawners 1 – disable the spawning of NPCs that are not initially present when the map is loaded.
- phys_impactforcescale 1 – change the force multiplier with which enemies fly away when killed by physical objects.
- phys_pushscale 1 – change the force multiplier with which shots and explosions affect physical objects.
- sk_ammo_qty_scale1 1.2 – change ammo gain multiplier on easy difficulty.
Not counting ammo from weapons
- sk_ammo_qty_scale2 1.0 – change ammo gain multiplier on medium difficulty.
Not counting ammo from weapons
- sk_ammo_qty_scale3 0.6 – change ammo gain multiplier on hard difficulty.
Not counting ammo from weapons
- net_fakelag 1 – enable fake lags.
- quit – close the game.
- record # – start recording a demo.
Instead of #, enter the name of the demo
- stop – stop recording the demo.
- playdemo # – play the demo.
Instead of #, enter the name of the demo
- startdemos # – play the demo on repeat.
Instead of #, enter the name of the demo
- cl_demoviewoverride 0 – disable attaching the camera to the player when viewing a demo.
Doesn’t work properly
- demoui – open the first demo menu.
- demoui2 – open the second demo menu.
- demo_pause – pause demo.
- demo_resume – resume demo.
- listdemo # – display detailed information about the demo in the console.
Instead of #, enter the name of the demo
➩ Game process, part 3
- thirdperson – enable the third-person camera view.
The first person is turned on by the command from below
- firstperson – enable the first-person camera view.
The third person is turned on by the command from above
- thirdperson_platformer 1 – enable the third-person camera view, independent of the camera.
It’s a bit broken, moving backwards rotates the camera, and you have a strict up and down angle of view
- thirdperson_mayamode – lock the camera in third-person.
You will still be able to rotate your character using the mouse
- cam_collision 0 – disable collision for the camera in third-person view.
- cam_idealdist 150 – change the distance of the camera from the player in third person view.
- cam_idealdistright 0 – Change the horizontal position of the camera in third-person view.
- cam_idealdistup 0 – change the camera position in third person video vertically.
- cam_ideallag 4 – change the speed at which the camera turns behind the player in third-person view.
- +camdistance – start adjusting the camera distance in third-person view using the mouse.
To end it, enter -camdistance
- +camin – zoom in the camera in third-person view to the maximum possible distance.
- +camout – zoom out the camera in third-person view to the maximum possible distance.
- +camyawright – rotate the camera in third person view to the right.
- +camyawleft – rotate the camera in third person view to the left.
- camortho – enable drunk camera mode.
IT CANNOT BE DISABLED WITHOUT RESTARTING THE GAME
Try to beat the game this camera- cl_leveloverview 1 – enable the camera view from above.
Maybe it’s good for some cool screenshots
- cl_pitchup 89 – change how high the camera can be raised in first person view.
- cl_pitchdown 89 – change how low the camera can be lowered in first person view.
- c_minyaw -135 – change the camera rotation in third person view.
- save quick – create a quick save.
- save # – create a new save.
Instead of #, enter the name for the save
- save_disable 1 – disable any saves, including autosaves and quick saves.
- save_screenshot 1 – change the mode of saves icons.
Value 1: all saves have icons, except autosaves
Value 2: absolutely all saves have icons
Value 0: disable icons- load quick – load the last quick save.
- load # – load a specific save.
Instead of #, enter the name of the save
- _autosave – create an “auto” save.
- _autosavedangerous – create an “auto” save that will not automatically load upon death if saved while at low health.
These are commands responsible for the usual actions in the game. When you enter most of them into the console, it is as if you are holding down the key responsible for them.
- gameui_activate – opens the main menu.
- gameui_hide – closes the main menu.
- +attack – enable the attack (LMB by default).
To disable, use the -attack command
- +attack2 – enable the secondary attack (by default RMB).
To disable, use the -attack2 command
- +reload – enable reload (default R).
To disable, use the -reload command
- +left – enable camera rotation to the left.
To disable, use the -left command
- +right – enable camera rotation to the right.
To disable, use the -right command
- +forward – enable forward movement (W by default).
To disable, use the -forward command
- +back – enable backward movement (S by default).
To disable, use the -back command
- +moveleft – enable movement to the left (A by default).
To disable, use the -moveleft command
- +moveright – enable movement to the right (D by default).
To disable, use the -moveright command
- +speed – enable running (Shift by default).
To disable, use the -speed command
- +walk – enable walking (Alt by default).
To disable, use the -walk command
- +duck – enable crouching (Ctrl by default).
To disable, use the -duck command
- toggle_duck – holds crouch until you enter this command again.
- +jump – enable jump (Space by default).
To disable, use the -jump command
Sadly, the character will jump only once. So, without bunnyhoping today, guys… yea…- +use – enable use (E by default).
To disable, use the -use command
It works only once, and then, due to the clamping, it prevents you from using anything- +movedown – enable down movement (works in noclip and water).
To disable, use the -movedown command
- +moveup – enable upward movement (works in noclip and water).
To disable, use the -moveup command
- +zoom – enable zoom (Z by default).
Turn off with -zoom command
- toggle_zoom – holds zoom until you press the zoom button again.
- zoom_sensitivity_ratio 1 – change the mouse sensitivity multiplier when zoom is active.
- impulse 100 – turn on/off the flashlight (F by default).
- lastinv – quick weapon switching (Q by default).
- phys_swap – quick Gravity gun switching (G by default).
- impulse 50 – send or call citizens/rebels (C by default).
- slot# – switch to the # weapon slot (default buttons 1 to 6).
- toggleconsole – open/close the console (~ by default).
- pause – pause/unpause (Pause Break and NumLock by default).
- unpause – unpause the game.
- showconsole – open console.
- hideconsole – close console.
- use weapon_name – switch to a specific weapon.
- Cancelselect – close the menu.
- cc_subtitles 1 – enable the “Only in dialogues” subtitle mode.
0 enables absolutely all subtitles
- snd_musicvolume 1 – change the music volume.
- volume 1 – change the sound volume.
- suitvolume 0.25 – change the volume of the suit.
- hud_fastswitch 1 – enable quick weapon switching.
- cl_mouseenable 0 – disable mouse input.
THE MOST HELPFUL COMMAND!!!
- sensitivity 3 – change mouse sensitivity.
➩ Game process, part 4
- sv_cheats 1 – enable cheats.
- exec script_name – run the script from the folder “…\Half-Life 2\hl2\cfg”.
Scripts allow you to enter a large number of commands at once
- bind key “command” – bind a command to a key.
For example, bind w “kill” – binds the kill command to the w key. You can see how to enter the name of the key by binding it to something in the settings
- bindtoggle key “command” – bind a command to a key that will be switched when the key is pressed.
Works only with commands that have values of 0 and 1, responsible for turning on/off. For example, bind x “mat_fullbright” – binds the mat_fullbright command to the x key, which will be switched when the key is pressed
- unbind key – remove the command bind from the key.
- unbindall – remove binds from absolutely all keys.
- gameui_preventescape – prevent hiding the menu.
To allow, enter the command gameui_allowescape
- gameui_preventescapetoshow – prevent menu opening.
To allow, enter the command gameui_allowescapetoshow (though I don’t know where you will enter this, you can probably bind it)
- cc_lang # — change the subtitle language.
Instead of #, enter the name of the language (for example, russian, english, japanese)
- cc_linger_time 1 – change how long the subtitles remain on the screen after the end of the audio.
- jpeg_quality 90 – change the quality of screenshots on F5.
- jpeg #1 #2 – take a screenshot (which is saved in the game folder).
#1 is responsible for the name of the screenshot, and #2 is responsible for its quality (set from 1 to 100)
- disconnect – exit to the main menu without loading the background map.
- startupmenu – exit to the main menu and load the background map.
- exit – exit the game.
- _restart – restart the game.
➨ Weapons
- give weapon_name – give the weapon directly to player.
- ent_create weapon_name – create a weapon where you aim at.
- ent_remove weapon_name – remove a weapon from the player.
If the crosshair is aimed at an NPC, it removes this weapon from him, not the player
- ent_remove_all weapon_name – remove weapon from the player, all NPCs on the map, and just weapons lying around on the map.
THE LIST IS ALREADY WITH COMMANDS, BUT YOU CAN INSERT THE NAMES OF WEAPONS INTO OTHER COMMANDS, JUST REMOVE give (or ent_create)
- give weapon_crowbar – crowbar.
- give weapon_pistol – pistol.
- give weapon_smg1 – SMG.
- give weapon_357 – revolver.
- give weapon_physcannon – gravity gun.
- give weapon_shotgun – shotgun.
- give weapon_ar2 – AR2.
- give weapon_rpg – RPG.
- ent_create weapon_frag – grenades.
- give weapon_crossbow – crossbow.
- give weapon_bugbait – bugbait.
- give weapon_alyxgun – Alyx-gun.
Alyx’s weapon.
Always spawns on the floor. To pick it up, press the use key. The weapon has its own ammo, which can be obtained by using the command givecurrentammo or by creating a copy of the weapon- give weapon_annabelle – annabelle.
The weapon of Father Grigori
Uses revolver ammo. To select this weapon, use the keyboard instead of the mouse wheel to select the slot. (Located in the same place as the SMG and AR2)- give weapon_citizenpackage – a rationed package of food for citizens.
To select this weapon, use the keyboard instead of the mouse wheel to select the slot (Located in the same place as the SMG and AR2).
Food, suitcase, and cubemap-spheres cannot be carried at the same time- give weapon_citizensuitcase – civilian suitcase.
To select this weapon, use the keyboard instead of the mouse wheel to select the slot (Located in the same place as the SMG and AR2)
Food, suitcase, and cubemap-spheres cannot be carried at the same time- give weapon_cubemap – spheres for checking reflections on the map.
To select this weapon, use the keyboard instead of the mouse wheel to select the slot (Located in the same place as the SMG and AR2).
Food, suitcase, and cubemap-spheres cannot be carried at the same time- give weapon_stunstick – stunstick.
The player CANNOT use it, it just gives 7 armor. But NPCs may well use it
- give basehlcombatweapon – dummy weapon.
You can’t choose it, and it takes up the crowbar slot (as a result it simply removes the icon from the crowbar)
THE FOLLOWING COMMANDS CHANGE WEAPON DAMAGE ONLY FOR THE PLAYER. ON EASY DIFFICULTY THESE VALUES ARE MULTIPLIED BY 1.5, AND ON HARD DIFFICULTY BY 0.75
- sk_plr_dmg_crowbar 10 – change the crowbar damage.
- sk_plr_dmg_pistol 5 – change the pistol damage.
- sk_plr_dmg_smg1 4 – change the SMG damage.
- sk_plr_dmg_smg1_grenade 100 – change the SMG grenade damage.
- sk_plr_dmg_grenade 150 – change grenade damage.
Reducing damage doesn’t work, but increasing it does
- sk_plr_dmg_357 40 – change the revolver damage.
- sk_plr_dmg_buckshot 8 – change the damage of the shotgun.
- sk_plr_dmg_ar2 8 – change the AR2 damage.
- sk_plr_dmg_rpg_round 100 – change the RPG damage.
Reducing damage doesn’t work, increasing it seems to work
- sk_plr_dmg_crossbow 100 – change the crossbow damage.
- sk_plr_dmg_alyxgun 5 – change Alyx-gun damage.
- impulse 101 – give all standard weapons in the game with ammo.
- givecurrentammo – give a full supply of ammunition to the weapon in your hands.
- impulse 81 – give cubemap spheres.
- sk_plr_num_shotgun_pellets 7 – change the number of pellets fired from the shotgun.
- sk_weapon_ar2_alt_fire_duration 2 – change the lifetime of the energy ball.
- sk_weapon_ar2_alt_fire_radius 10 – change the size of the energy ball, you cannot make it larger than usual.
- sk_weapon_ar2_alt_fire_mass 150 – change the force of the energy ball with which it affects objects.
- physcannon_mega_enabled 1 – enable the charged mode of the Gravity gun.
- physcannon_tracelength 250 – change the distance from which the Gravity Gun pull objects.
- physcannon_cone 0.97 – change the distance from which the Gravity Gun can pull objects launched into the air.
- physcannon_maxforce 1500 – change the force with which the Gravity Gun shoots objects.
- physcannon_pullforce 4000 – change the force with which the Gravity Gun pulls objects.
- pistol_use_new_accuracy 0 – enable the less accurate pistol mode.
➨ Ammo
- give ammo_name – give ammo directly to player.
- ent_create ammo_name – create ammo where you aim at.
THE LIST IS PRESENTED ALREADY WITH COMMANDS, BUT YOU STILL CAN INSERT THE NAMES OF AMMO INTO OTHER COMMANDS, JUST REMOVE give (or ent_create)
Pistol
- give item_box_srounds – pistol ammo [20].
- give item_ammo_pistol – pistol ammo [20].
- give item_large_box_srounds – pistol ammo [100].
SMG
- give item_box_mrounds – SMG ammo [45].
- give item_ammo_smg1 – SMG ammo [45].
- give item_large_box_mrounds – SMG ammo [225].
- give item_ar2_grenade – grenade for SMG [1].
- give item_ammo_smg1_grenade – grenade for SMG [1].
Revolver
- give item_ammo_357 – revolver ammo [6].
Shotgun
- give item_box_buckshot – shotgun ammo [20].
AR2
- give item_ammo_ar2 – AR2 ammo [20].
- give item_box_lrounds – AR2 ammo [20].
- give item_large_box_lrounds – AR2 ammo [100].
- give item_ammo_ar2_altfire – energy ball for AR2 [1].
RPG
- give item_ml_grenade – rocket for RPG [1].
Grenade
- ent_create weapon_frag – grenade [1].
Crossbow
- give item_ammo_crossbow – crossbow arrows [6].
Other
- give item_box_sniper_rounds – sniper rifle ammo [Useless].
- give item_flare_round – flare gun ammo [Useless].
- give item_box_flare_rounds – flare gun ammo [Useless].
- sk_max_pistol 150 – change ammo supply for pistol.
- sk_max_smg1 225 – change ammo supply for SMG.
- sk_max_smg1_grenade 3 – change ammo supply for SMG grenades .
- sk_max_grenade 5 – change the maximum number of grenades.
- sk_max_357 12 – change ammo supply for revolver.
- sk_max_buckshot 30 – change ammo supply for shotgun.
- sk_max_ar2 60 – change ammo supply for AR2.
- sk_max_ar2_altfire 3 – change supply of energy balls for AR2.
- sk_max_rpg_round 3 – change ammo supply for RPG.
- sk_max_crossbow 10 – change ammo supply for crossbow.
- sk_max_alyxgun 150 – change ammo supply for Alyx-gun.
- sk_max_sniper_round 30 – change the maximum supply of sniper ammo. Useless.
➨ Creating entities
- ent_create item_healthkit – create medkit (by default gives 25 HP).
- ent_create item_healthvial – create health vial (by default gives 10 HP).
- ent_create item_battery – create battery (by default gives 15 armor).
You can also use the give command to give yourself medkits and batteries directly (for example, give item_healthkit to give yourself medkit).
- ent_create item_healthcharger – create a health charger (by default gives 50 HP).
- ent_create item_suitcharger – create an suit charger (by default gives 75 armor).
- ent_create item_suitcharger targetname citadelcharger;ent_fire citadelcharger addoutput “spawnflags 8192”;ent_fire citadelcharger SetCharge 500 – create a health and suit charger from the citadel.
Airboat
- ch_createairboat – create an airboat.
Identical to the command below
- impulse 83 – create an airboat.
Identical to the command above
- ent_fire !picker EnableGun 1 – give gun to the airboat that you aim at.
- ent_fire prop_vehicle_airboat EnableGun 1 – give guns to all airboats on the map.
- r_AirboatViewZHeight 0 – change the height of the camera when driving an airboat.
- r_AirboatViewBlendTo 0 – disable auto-aiming to the center when driving an airboat.
- sk_plr_dmg_airboat 3 – change the damage of one bullet for a gun on the airboat.
- sk_airboat_max_ammo 100 – change the maximum number of ammo for a gun on the airboat.
- sk_airboat_recharge_rate 15 – change the reload rate of a gun on the airboat.
Jeep
- ch_createjeep – create a jeep.
Identical to the command below
- impulse 82 – create a jeep.
Identical to the command above
- ent_fire !picker FinishRemoveTauCannon – remove the Tau cannon from the jeep you aim at.
Can’t be returned
- ent_fire prop_vehicle_jeep FinishRemoveTauCannon – remove the Tau cannon from all jeeps on the map.
Can’t be returned
- ent_fire !picker handbrakeoff – disable the handbrake of a standing jeep you aim at.
- r_JeepViewZHeight 10 – change the height of the camera when driving a jeep.
- r_JeepViewBlendTo 0 – disable auto-aiming to the center when driving a jeep.
- sk_jeep_gauss_damage 15 – change the damage of the Tau cannon on the jeep.
- g_jeepexitspeed 100 – change the maximum speed of the jeep at which the player can get out of it.
APC
- ent_create prop_vehicle_apc model models/combine_apc.mdl vehiclescript scripts/vehicles/apc.txt – create a destructible APC.
You can get into it, but the camera will be located under the APC, and you can’t control it or exit it. The only way to exit is to load a savefile
Combine Prison Capsule
- ent_create prop_vehicle_prisoner_pod model models/vehicles/prisoner_pod_inner.mdl – create Combine Prisoner Pod.
You can get into it, but you can’t exit it
The following commands create projectiles that are already active, so they fly or explode immediately after creation.
- ent_create grenade_ar2 – create an active SMG grenade.
- ent_create apc_missile – create an active Combine APC missile.
- ent_create crossbow_bolt – create an active crossbow arrow.
- ent_create env_flare – create an active flare.
- ent_create grenade_helicopter – create an active hunter-chopper bomb.
- impulse 51 – create supplies where you aim at, which depend on what supplies you need and what supplies are already on the map.
- ent_create item_item_crate itemclass item_dynamic_resupply itemcount 1 – create a supply box with adaptable supplies.
- ent_create item_item_crate itemclass #1 itemcount #2 – create a box with a specific entity in it.
Instead of #1, enter the name of the entity
instead of #2, the number of entities- ent_create item_ammo_crate ammotype # – create a box with infinite ammo.
instead of # enter a number from 1 to 8 to change the type of ammo
- prop_physics_create props_c17/oildrum001_explosive – create an explosive barrel.
- ent_create combine_mine – create a mine.
- ent_create item_suit – create the HEV suit.
You can only take it if you don’t have a suit on yet
- ent_create prop_thumper – create a device that frightens antlions.
- impulse 102 – create a skull.
Don’t ask
- CreateHairball – create a bunch of hair balls flying in random directions.
- dlight_debug – create a dynamic light that disappears over time.
- create_flashlight – create light, like the one from a flashlight.
Exists regardless of your flashlight
- ent_rotate # – rotate the entity you aim at.
Instead of #, you need to enter how many degrees you want to rotate it.
Does not work on static objects and corpses- ent_setname # – give the entity you aim at a name that is specified instead of #.
This name can be used in commands to refer specifically to this entity
- ent_teleport name_or_class entity – teleport the entity under the crosshair.
- impulse 203 – remove the entity you aim at.
- ent_remove # – remove the specified entity.
instead of #, enter entity name or class.
If there’s more than one of this entities, removes the oldest one- ent_remove_all # – remove all entities of the same class or name.
instead of #, enter entity name or class.
For example, ent_remove_all item_suitcharger will remove all suit chargers from the map
➨ Spawning NPCs, part 1
- npc_create NPC_name – spawn an NPC who will have the weapon specified by the command below.
- npc_create_equipment weapon_name – set the weapon that the NPC will have in his hands when using a command from above. Not all weapons work.
- npc_create_aimed name_NPC – spawn an NPC who will look in the opposite direction from you.
- ent_create name_NPC – spawn an NPC without a weapon.
THE LIST IS PRESENTED ALREADY WITH COMMANDS, BUT YOU STILL CAN INSERT THE NPC NAMES INTO OTHER COMMANDS, JUST REMOVE npc_create (or ent_create)
- npc_create npc_alyx – Alyx.
- npc_create npc_barney – Barney.
- npc_create npc_eli – Eli.
- npc_create npc_mossman – Mossman.
- npc_create npc_kleiner – Kleiner.
- npc_create npc_vortigaunt – vortigaunt.
- ent_create npc_vortigaunt model models/vortigaunt_slave.mdl – vortigaunt slave.
- npc_create npc_dog – Dog.
- npc_create npc_monk – Father Grigori.
- npc_create npc_gman – Gman.
- ent_create npc_fisherman – fisherman.
No model
- ent_create npc_rollermine spawnflags “65536” – friendly rollermine.
The allies still shoot at it, but it doesn’t attack them
- ent_create npc_turret_floor spawnflags “512” – friendly Combine floor turret.
- npc_create npc_citizen – citizen and rebel in one command.
Their appearance is determined by the map and the chapter in which you spawned them. The gender and appearance are different every time
- ent_create npc_citizen citizentype # additionalequipment weapon_name – create citizen/refugee/rebel.
To choose, you need to change # for (1 – citizen, 2 – refugee, 3 – rebel.)
Since this command only works through ent_create, you need to select a weapon by replacing weapon_name with the one you need. The gender and appearance are different every time.- ent_create npc_citizen citizentype # additionalequipment weapon_name model models/humans/group01/#1 – create a citizen/rebel with a certain model.
To select a specific model, instead of #1 enter male_0$.mdl, replacing $ with the number from 1 to 9, or female_0%.mdl, replacing % with the number from 1 to 7.
female_05.mdl does not exist, instead there is an error.
You can also still customize the type of this NPC by changing # and give weapons via weapon_name.You can replace this NPC’s crowbar with a pipe by adding targetname matt to the command.
If you want this NPC to be a medic, add spawnflags “131588” to the command (the appearance will only change if the NPC is a rebel).
If you want the NPC to be able to give ammo, add spawnflags “524288” ammosupply #1 ammoamount #2 to the command, where #1 is the amount of ammo that the NPC gives, and #2 – the type of ammo that it gives (you need to enter one of the following: Pistol, SMG1, SMG1_Grenade, AR2, Buckshot, RPG_Round, Grenade, XbowBolt).
If you want the NPC to both be a medic and give ammo, then add to the command spawnflags “655360” ammosupply #1 ammoamount #2, where #1 and #2 are the same settings as above, but such NPC will only give ammo along with health kits.
- ent_create npc_citizen model models/humans/male_cheaple.mdl citizentype 1 – low-poly citizen with a special model.
Can’t use weapons
- ent_create npc_citizen model models/odessa.mdl citizentype 4 additionalequipment weapon_name – Odessa Cubbage.
Can carry a weapon of choice via weapon_name
- npc_create npc_blob – blob.
Experimental unused NPC. It is a collection of creatures that move together
In theory, it should look like the gel from Portal 2, but in the game it looks like errors, thought you can change the models to skulls or watermelons by entering the command npc_blob_use_model 0 or npc_blob_use_model 1 (the model will change only for newly created NPCs)
This creature is immortal and cannot be damaged. Does not touch the player and his allies but kills others (Combine, antlions, zombies, etc.)
- npc_create npc_pigeon – pigeon.
- npc_create npc_seagull – seagull.
- npc_create npc_crow – crow.
➩ Spawning NPCs, part 2
Combine
- npc_create npc_combine_s – an ordinary Combine soldier.
If you create it with a shotgun, it automatically gets its red coloring.
Does not carry grenades and does not drop health vial after death.- ent_create npc_combine_s additionalequipment weapon_name numgrenades # – an ordinary Combine soldier, but with a customizable number of grenades (the value of # is responsible for this).
Since this is an ent_create command, the weapon must be specified directly in the command.
If you create it with a shotgun, it automatically gets its red coloring.- ent_create npc_combine_s additionalequipment weapon_name numgrenades # skin 1 – an ordinary Combine soldier, but always with a red coloring.
You can also adjust the number of grenades and need to specify the weapon, just like in the command above.
- ent_create npc_combine_s model models/combine_soldier_prisonguard.mdl additionalequipment weapon_name numgrenades # – guard from Nova Prospekt.
You can also adjust the number of grenades and need to specify the weapon, just like in the command above.
If given a shotgun, it automatically receives red eyes.- ent_create npc_combine_s model models/combine_soldier_prisonguard.mdl additionalequipment weapon_name numgrenades # skin 1 – guard from Nova Prospekt, but always with red eyes.
You can also adjust the number of grenades and need to specify the weapon, just like in the command above.
- ent_create npc_combine_s model models/combine_super_soldier.mdl additionalequipment weapon_name numgrenades # – elite Combine soldier.
You need to configure the weapon in the same way as in the command from above.
Instead of grenades, the number of energy balls is specified, it cannot throw grenades.
It will only be able to fire energy balls if you give him an AR2; with other weapons it will try to fire them, and even play the sound of the fire, but in fact it will not fire them.- npc_create npc_sniper – sniper.
It doesn’t rotate on its own.
To rotate, use the ent_rotate 90 command while aiming at the NPC.- npc_create npc_metropolice – metrocop.
- ent_create npc_metropolice additionalequipment weapon_name manhacks # – metrocop with manhacks.
Replace # with the required number of manhacks.
Since this is an ent_create command, the weapon must be specified directly in the command.- npc_create npc_manhack – manhack.
- npc_create npc_cscanner – city scanner.
In the chapters of the uprising in City 17, it automatically turns into a combat scanner.
The Combat Scanner can’t drop mines.- npc_create npc_clawscanner – combat scanner.
Can’t drop mines.
- ent_create npc_combine_camera – Combine ceiling camera.
Ironically, it can’t be placed on the ceiling via the npc_create command, but can be via ent_create.
If you point crosshair at the camera and enter the command ent_fire !picker setangry, the camera will take several photos of you.- ent_create npc_turret_ceiling – Combine ceiling turret.
Like its friend, the camera can’t be placed on the ceiling using the npc_create command, but can be via ent_create.
Inactive by default, to activate aim at the turret and enter the command ent_fire !picker enable- npc_create npc_turret_floor – Combine floor turret.
- ent_create npc_rollermine – rollermine.
Spawns badly through npc_create command.
- ent_create npc_combinedropship target idisuda cratetype # – Combine dropship.
Replace # with a number from -3 to 2 to change its cargo.
Before creating it, you can enter ent_remove idisuda; ent_create path_track targetname idisuda so that after creating the dropship, it will follow where your crosshair was when you wrote the command. Without this, It flies endlessly in one direction.- npc_create npc_combinedropship – a simpler command for Combine dropship, but without cargo.
Also, he flies endlessly in one direction.
You can use noclip and type give npc_combinedropship command to create a dropship in the air, in which case it does not move.- ent_create npc_combinegunship target idisuda1 – Combine gunship.
Before creating it, you can enter ent_remove idisuda1; ent_create path_track targetname idisuda1 so that after creating a gunship, it will follow where your crosshair was when writing the command.
Without this, it flies endlessly in one direction.- ent_create npc_combinegunship – a simpler command for Combine gunship.
But he only flies endlessly in one direction.
You can use noclip and type give npc_combinegunship command to spawn a gunship in the air, in which case it doesn’t move but still fires.- ent_create npc_strider – strider.
Unfortunately, it spawns in the ground, but you can use the give npc_strider command to spawn it not in the ground.
- ent_create npc_helicopter – hunter-chopper.
Flies endlessly in one direction.
You can use noclip and type give npc_helicopter command to spawn him in the air, but this way he will not attack.- ent_create npc_helicopter target idisuda2 – Hunter-Chopper that can go wherever you tell it to.
To do this, before spawning it, enter the command ent_remove idisuda2; ent_create path_track targetname idisuda2, and it will follow where your crosshair was when you entered the command.
- npc_create npc_breen – Breen.
- npc_create npc_stalker – stalker.
- ent_create prop_vehicle_apc model models/combine_apc.mdl vehiclescript scripts/vehicles/apc.txt targetname apcnpc; ent_create npc_apcdriver vehicle apcnpc – create an APC controlled by an NPC.
Zombies and headcrabs
- npc_create npc_zombie – regular zombie.
- npc_create npc_zombie_torso – crawling zombie without legs.
- npc_create npc_fastzombie – fast zombie.
- npc_create npc_poisonzombie – poison zombie.
- npc_create npc_headcrab – regular headcrab.
- ent_create npc_headcrab startburrowed 1 – headcrab that hides in the ground until you approach it.
- npc_create npc_headcrab_fast – fast headcrab.
- npc_create npc_headcrab_poison – poison headcrab.
Other
- npc_create npc_antlion – antlion.
- npc_create npc_antlionguard – antlion guard.
- npc_create npc_ichthyosaur – ichthyosaur.
Can’t move, but can attack you if you stand in front of them.
- ent_create npc_barnacle – barnacle.
The tongue is broken, so when it grabs you, it takes you to Novokuznetsk.
➨ Changing NPCs, part 1
- sk_vortigaunt_health 100 – change the health of vortigaunts.
- sk_vortigaunt_dmg_zap 50 – change damage of the ranged attack of vortigaunts.
- sk_vortigaunt_armor_charge 30 – change the amount of armor that a vortigaunt gives with a charge.
- sk_vortigaunt_armor_charge_per_token 5 – change the amount of armor that a vortigaunt gives at a time when charging.
- monk_headshot_freq 2 – change how often Father Grigori takes headshots. The higher the value, the less often he does this.
- sk_citizen_health 40 – change the health of citizens/rebels.
- sk_citizen_heal_ally 30 – change how much HP medics heal allies
Not counting the player.
- sk_citizen_heal_ally_delay 20 – change time when medics give medkit to allies
Not counting the player.
- sk_citizen_heal_player_min_pct 0.6 – change what percentage of health an ally must have for medics to give them a medkit.
- sk_citizen_heal_player 25 – change the amount of HP healed by a medic.
- sk_citizen_heal_player_delay 25 – change time when medic give medkits to player.
- sk_citizen_heal_player_min_forced 10 – change how much HP must be lost from the player’s maximum HP for medics to give him medkit.
IN IDEA this is how it should work, but it works very strangely and I haven’t fully figured it out.
- sk_citizen_giveammo_player_delay 10 – change the time between citizens/rebels giving ammo to the player.
- npc_citizen_squad_marker 1 – enable the display of crosses under the feet of citizens/rebels who are in your group.
- npc_citizen_insignia 1 – enable so that citizens/rebels who join your group receive chef’s hats.
- npc_citizen_auto_player_squad_allow_use 1 – enable so citizens/rebels can be taken into a group using the interaction button and leave them in place by interacting with them again.
Works only with the command below.
- npc_citizen_auto_player_squad 0 – disable auto-joining of citizens and rebels to your group.
- player_squad_autosummon_time 5 – change how long citizens/rebels wait before following you again.
- player_squad_autosummon_time_after_combat 8 – change how long citizens/rebels wait before following you again after a battle.
- blob_element_speed 187 – change the speed of blob elements.
- npc_blob_idle_speed_factor 0.5 – change the speed multiplier of blob elements when it is not doing anything.
- blob_numelements 20 – change the number of blob elements.
- blob_radius 48 – change how far the blob elements diverge from each other.
- npc_blob_sin_amplitude 60 – change how often blob elements wobble.
- npc_blob_use_orientation 0 – disable rotation of blob elements.
- npc_blob_use_model 2 – change the model used by blob elements.
Value 0 makes it a skull.
Value 1 makes it a watermelon.
Value 3 is the default, but this model is an error.
Value 4 is also an error.
Any other values will break map loading- npc_blob_think_interval 0.025 – change how often the blob thinks.
- sk_combine_s_health 50 – change the health of Combine soldiers/Nova Prospekt guards.
- sk_combine_s_kick 10 – change the melee attack damage of Combine soldiers/Nova Prospekt guards.
Works only with those that were created after entering the command.
- sk_combine_guard_health 70 – change the health of elite Combine soldiers.
- sk_combine_guard_kick 15 – change the melee attack damage of elite Combine soldiers.
- combine_spawn_health 0 – disable сombine soldiers from dropping health vial, when the player has low health.
It also disables grenades and energy ball drops.
- sk_plr_dmg_sniper_round 20 – change the damage of snipers to the player.
- sk_npc_dmg_sniper_round 100 – change the damage of snipers to NPCs.
- sniperspeak 1 – turn on the sound of the sniper when he kills someone.
- sk_metropolice_health 40 – change the health of metrocops.
- sk_metropolice_simple_health 26 – change the health of “simple” metrocops.
Such NPCs can be found in the chapters “Route Kanal” and “Water Hazard”.
- metropolice_chase_use_follow 1 – enable so that when interacting with the metrocops in the “Point Insertion” chapter they will be angry at you forever.
- metropolice_charge 0 – enable so that metrocops with pistols do NOT run towards you.
- sk_metropolice_stitch_reaction 1 – change the speed of metrocops “stitch” behavior.
This is behavior when you are on an airboat and metrocops intentionally miss you by shooting in front of you in the water. This setting specifically changes the speed at which they move their shots towards you.
Values greater than 1 slow down the approach.
Values between 1 and 0 speed up the approach.
Value of 0 will cause your game to freeze.
- sk_manhack_health 25 – change the health of manhacks.
- sk_manhack_melee_dmg 20 – change the damage of manhacks.
In fact, they deal damage equal to this value divided by 5. That is, for example, by standard they deal not 20 damage, but 4. Also, sometimes for some reason they deal 1 more damage.
- sk_scanner_health 30 – change the health of scanners.
- sk_rollermine_shock 10 – change the damage of rollermine.
- sk_rollermine_stun_delay 3 – change how long rollermine will be stunned after hitting an enemy or after being released by the Gravity Gun.
➩ Changing NPCs, part 2
- sk_strider_health 350 – change the health of striders.
The number of explosions that kill the strider will not change, as explosions always deal enough damage to kill the strider in the required number of explosions.
- sk_strider_num_missiles1 5 – change the number of explosions needed to kill a strider on easy difficulty.
It is best to set numbers that fully divide the strider’s health, otherwise you will need more explosions than indicated by the command.
- sk_strider_num_missiles2 7 – change the number of explosions needed to kill a strider on medium difficulty.
It is best to set numbers that fully divide the strider’s health, otherwise you will need more explosions than indicated by the command.
- sk_strider_num_missiles3 7 – change the number of explosions needed to kill a strider on hard difficulty.
It is best to set numbers that fully divide the strider’s health, otherwise you will need more explosions than indicated by the command.
- strider_ar2_altfire_dmg 25 – change the damage of energy balls to striders.
Yes, their damage does not depend on the required explosions to kill. But this damage varies depending on the difficulty.
- npc_strider_shake_ropes_magnitude 150 – change the force with which the strider’s steps shake ropes/wires nearby.
- npc_strider_shake_ropes_radius 1200 – change the distance from which the strider’s steps shake ropes/wires.
- strider_idle_test 1 – disable strider weapons.
They will just stand.
- strider_test_height 0 – change the height of striders.
Works only with the command strider_always_use_procedural_height 1
- sk_npc_dmg_dropship 2 – change the damage of machine gun on the Combine dropship.
- sk_dropship_container_health 750 – change the health of the Combine dropship container.
- sk_gunship_burst_size 15 – change the number of shots a gunship fires before reloading.
- sk_npc_dmg_gunship 40 – change the damage of a gunship to everything except the player.
- sk_npc_dmg_gunship_to_plr 3 – change the gunship damage to the player.
- sk_gunship_health_increments 5 – change the required number of hits to kill Combine gunship.
On easy and hard difficulties this value is multiplied and decreases and increases accordingly.
- sk_helicopter_health 5600 – change the health of the hunter-chopper.
- sk_helicopter_firingcone 20 – change the cone angle that the hunter-chopper uses when shooting.
That is, the lower the value, the more accurately it shoots and vice versa.
- sk_helicopter_burstcount 12 – change the number of shots the hunter-chopper fires before going into reload.
- sk_helicopter_roundsperburst 5 – change the number of bullets in one hunter-chopper shot.
- sk_npc_dmg_helicopter_to_plr 3 – change the damage of hunter-chopper bullets to the player.
- sk_npc_dmg_helicopter 6 – change the damage of hunter-chopper bullets to everything except the player.
- sk_helicopter_grenadedamage 30 – change the damage of hunter-chopper bombs.
- sk_helicopter_grenaderadius 275 – change the explosion radius of hunter-chopper bombs.
- g_helicopter_chargetime 2 – change the time between the sound of the start of the hunter-chopper attack and the attack itself.
- g_helicopter_idletime 3 – change the time between the end of an attack and the beginning of the next one for hunter-chopper.
- sk_stalker_health 50 – change the health of stalkers.
- sk_apc_missile_damage 15 – change the damage of Сombine APC missiles.
- sk_apc_health 750 – change the health of the Сombine APC.
- sk_zombie_health 50 – change the ordinary zombies health.
- sk_zombie_dmg_one_slash 10 – change ordinary zombies attack damage.
- sk_zombie_poison_health 175 – change poison zombies health.
- sk_headcrab_health 10 – change regular and fast headcrabs health.
- sk_headcrab_melee_dmg 5 – change regular and fast headcrabs damage.
- sk_headcrab_poison_health 35 – change poison headcrabs health.
- sk_antlion_health 30 – change antlions health.
- sk_antlion_swipe_damage 5 – change antlions damage.
- sk_antlionguard_health 500 – change antlion guard health.
- sk_antlionguard_dmg_charge 20 – change antlion guards charge damage.
- sk_antlionguard_dmg_shove 10 – change antlion guards melee attack damage.
Damage is actually multiplied by 2 (so, for example, it defaults to 10, but actually deals 20).
- sk_ichthyosaur_health 200 – change ichthyosaur health.
- sk_ichthyosaur_melee_dmg 8 – change ichthyosaur damage.
- sk_barnacle_health 35 – change barnacles health.
- npc_barnacle_swallow 1 – enable the blood effect when the barnacle eats something (except the player).
- sk_crow_health 1 – change crows health.
➩ Changing NPCs, part 3
- global_set gordon_precriminal 1 – enable so that the metropolice are neutral towards the player and citizens/rebels, as at the beginning of the game. In this mode, citizens/rebels do not join your group.
- global_set antlion_allied 1 – enable so that antlions obey you.
Works without bugbait, however they give you control over the antlions. When disabled, antlions remain with you forever.
- ai_disable – disable AI for all NPCs.
- ai_block_damage 1 – disable damage for all NPCs
Makes them immortal.
- npc_heal – heal an NPC you are aiming at to full HP.
- npc_kill – kill an NPC you are aiming at.
- sk_ally_regen_time 0.2 – change the time it takes for some friendly NPCs (for example, Alyx and Barney) to heal 1 HP.
- ent_teleport npc_alyx – teleport Alyx to where you are aiming at.
Works only if Alyx is on the map.
- ent_teleport npc_barney – teleport Barney to where you are aiming at.
Only works if Barney is on the map.
- ent_teleport npc_monk – teleport Father Grigori to where you are aiming at.
Works only if Father Grigori is on the map.
- ent_fire !picker startcatchthrowbehavior – enable game mode for the Dog you are aiming at.
For this to work, the Dog must not have any weapons (even if it is not visible), the easiest way to do this is by spawning the Dog with the ent_create npc_dog command.
The game mode is the same as in the scrapyard. The dog takes the nearest object and throws it to you, you need to catch it with the Gravity Gun and throw it back to the dog.- ent_fire !picker setmedicon – give the citizen/rebel you are aiming at the ability to give a medkit.
You can disable it using the command below.
- ent_fire !picker setmedicoff – remove the ability for civilians/rebels that you are aiming at to give medkits.
You can return it with a command from above.
- npc_select – select the NPC you are aiming at.
Needed for commands below.
- npc_freeze – freeze all NPCs selected via npc_select.
If there are none, then he freezes the NPC at gunpoint.
- npc_freeze – freeze all NPCs not selected via npc_select.
- npc_go – send NPCs selected via npc_select to the location where you are aiming at.
- npc_go_do_run 0 – make NPCs walk instead of run when using the npc_go command.
- npc_go_random – send NPCs selected via npc_select randomly.
- npc_teleport – teleport an NPC selected via npc_select where you are aiming at.
- ai_reaction_delay_alert 0.1 – change the reaction time of NPCs in an alarm state.
- ai_reaction_delay_idle 0.3 – change the reaction time of NPCs in a calm state.
- ent_create npc_maker StartDisabled 0 SpawnFrequency #1 NPCType #2 MaxNPCCount #3 MaxLiveChildren #4 additionalequipment #5 – create an NPC spawner.
- Instead of #1, enter a number that determines how often NPC will spawn.
- Instead of #2, enter the name of the NPC for the spawn.
- Instead of #3, enter a number that determines the number of NPCs that will spawn.
- Instead of #4, enter a number that determines the maximum number of NPCs from the spawner allowed at the same time.
- Instead of #5, enter the name of the weapon for the NPC (if needed).
- sk_npc_dmg_crowbar 5 – change the damage of the crowbar.
- sk_npc_dmg_pistol 3 – change the damage of the pistol.
- sk_npc_dmg_buckshot 3 – change the damage of the shotgun.
- sk_npc_dmg_357 30 – change the damage of the revolver.
Even though NPCs can’t shoot from it.
- sk_npc_dmg_crossbow 10 – change the damage of the crossbow
Even though NPCs can’t shoot from it.
- sk_npc_dmg_ar2 3 – change the damage of the AR2.
- sk_npc_dmg_combineball 15 – change the damage of the energy ball.
- sk_npc_dmg_fraggrenade 75 – change the damage of the grenade.
- sk_npc_dmg_rpg_round 50 – change the damage of the RPG.
- sk_npc_dmg_smg1_grenade 50 – change the damage of the SMG underbarrel grenade
Even though NPCs can’t shoot it
- sk_npc_dmg_alyxgun 3 – change the damage of the Alyx-gun.
- sk_npc_dmg_stunstick 40 – change the damage of the stunstick.
The player receives 4 times less damage.
➨ Graphics, part 1
- fps_max 300 – change the maximum FPS.
- cl_showfps 1 – show the current FPS in the corner of the screen.
The value 2 also shows how many ms the last frame lasted.
- r_lod -1 – change the quality of models.
The default value is -1, models are loaded depending on the distance to them.
A value of 0 includes the best models regardless of their distance.
Value 8 is the maximum; it always loads the worst models.- r_decals 2048 – change the limit of simultaneous decals.
Decals are textures on objects, walls, floors, etc. (For example, gunshot holes, blood, explosion sites, etc.).
- mat_viewportscale 1 – change the game resolution quality.
Decimal fractions are accepted.
- mat_picmip -1 – change the quality of textures.
The value -1 is the default.
Maximum value 4.- mat_showlowresimage 1 – enable compression of all textures (except normal and reflection maps) to the size of a couple of pixels.
A value of 0 returns the size to the textures, but leaves pixelation, a reboot helps.
- mat_filterlightmaps 0 – disable filtering for the lighting built into the map.
- mat_filtertextures 0 – disable filtering for all textures.
- mat_monitorgamma 2 – change the gamma.
- mat_motion_blur_enabled 1 – enable motion blur.
If you have this enabled by default, then I would be happy to tell you your IP address: 192.168.1.1.
- mat_motion_blur_strength 1 – change the strength of the motion blur effect.
- mat_diffuse 0 – make all models, some textures and interface black.
Adaptation from Netflix.
- mat_yuv 1 – make the screen black and white.
- cl_forcepreload 1 – enable full loading of resources when loading maps.
This increases FPS and map loading time.
- fov 75 – change the camera viewing angle.
- viewmodel_fov 54 – zoom in/out on the weapon on the screen.
The default value is 54.
- blink_duration 0.2 – change the blink duration of NPCs.
- r_eyesize 0 – change the size of the eye texture.
Decimal fractions are accepted.
- prop_active_gib_limit 999999 – change the maximum number of broken pieces of objects
These pieces are called gibs, and gibs are, for example, the pieces of a box after you break it.
- props_break_max_pieces -1 – change the maximum number of broken pieces from one object.
A value of -1 takes this information from the objects themselves.
- ragdoll_sleepaftertime 5 – change the time that corpses need in a stationary position to disable physics calculation.
- r_shadowangles X Y Z – change the angle of dynamic shadows from the sun.
Instead of (X, Y, Z) the corresponding coordinates are entered.
- r_shadowcolor #1 #2 #3 – change the color of dynamic shadows from the sun.
You need to enter RGB palette values.
- r_shadowdist # – change the maximum distance at which dynamic shadows from the sun can be rendered.
- r_colorstaticprops 1 – make static props multi-colored.
- r_debugrandomstaticlighting 1 – make some objects multi-colored.
For the effect to take effect, you need to restart or switch to another map.
- r_skin 0 – change the texture variant of absolutely all models on the map.
- bugbait_distract_time 5 – change how long the stink effect stays on the spot where you throw the feropod.
- r_worldlights 4 – number of world lights to use per vertex.
- mat_dxlevel 95 – change the DirectX version used in the game.
It’s best not to touch unless you know what you’re doing.
➩ Graphics, part 2
- mat_norendering 1 – disable rendering of the ENTIRE GAME.
Good luck trying to blindly turn it back on. Gives a boost to FPS +1337.
- mat_fullbright 1 – completely disable all lighting and shadows.
- mat_drawwater 0 – disable water rendering.
- r_WaterDrawReflection 0 – disable water reflection rendering.
If you used this command after loading a map with water, the last rendered frame will be reflected in the water.
- r_WaterDrawRefraction 0 – disable the rendering of everything that is under water, or the rendering of everything that is above the water, if you are in the water.
For some reason it also breaks the sky when you look at water. If you used this command after loading a map with water, the last rendered frame will be visible in the water.
- mat_depthbias_normal 1 – disable the depth parameter for all rendering in the game, which will cause you to start seeing objects through walls, floors and ceilings.
- r_drawskybox 0 – disable the rendering of the skybox.
Because of this, the last rendered frames begin to overlap in its place.
- r_3dsky 0 – disable 3D skybox rendering
These are objects outside the map
- r_drawopaqueworld 0 – disable rendering of the entire world.
- r_drawworld 0 – disable rendering of the entire world, except for displacements.
- r_DrawDisp 0 – disable rendering of displacements.
Displacement is uneven ground, mountains, etc.
- r_drawentities 0 – disable the rendering of all entities
These are items, NPCs. In short, a good part of everything.
- r_drawfuncdetail 0 – disable func_detail rendering.
I don’t know how to explain in a clear language what this is, but we can say that these are some parts of the world.
- r_drawstaticprops 0 – disable rendering of static objects.
- r_nohw 1 – disable rendering of ALL models.
- mat_specular 0 – disable absolutely all reflections.
- mat_fastspecular 0 – disable reflections on models.
- mat_bumpmap 0 – disable reflection textures.
This does not disable the reflections themselves, it makes them look like a checkerboard.
- r_drawparticles 0 – disable particle rendering
These are explosions, shots, etc.
- cl_show_splashes 0 – disable splash effects on water.
- r_drawdecals 0 – disable rendering of decals on walls, floors and ceilings.
- r_drawmodeldecals 0 – disable rendering of decals on objects.
- r_cleardecals – clear all decals, except those specified by the map.
- r_renderoverlayfragment 0 – disable overlay rendering
Almost the same as decals, but separately.
- violence_hblood 0 – turn off blood.
- violence_ablood 0 – disable yellow blood.
- r_shadows 0 – disable rendering of shadows from the sun.
- r_drawtranslucentworld 0 – disable grass rendering on some textures.
- mat_mipmaptextures 0 – disable blurring of distant textures.
The result looks very pixelated.
- r_drawleaf -1 – enable rendering of a specific leaf
I won’t explain what this is in detail, this is a thing needed for optimization.
A value of -1 enables normal rendering, the rest enable leaf by number.- r_eyemove 0 – disable eye movement for NPCs.
- r_eyes 0 – disable the rendering of NPC eyes.
- r_teeth 0 – disable NPC mouth rendering.
- rope_rendersolid 0 – disable rope rendering.
- rope_collide 0 – disable the collision of ropes with the world.
- cl_ejectbrass 0 – disable the ejection of cartridges during shots.
- muzzleflash_light 0 – turn off the light from shots.
- r_dynamic 0 – disable updating dynamic light.
This is, for example, the light from weapons or flares.
- mat_disable_bloom 1 – disable the glow effect.
- mat_dynamic_tonemapping 0 – disable the effect of highlights and darkening when you spend a long time in a dark or light area.
- r_flashlightmodels 0 – turn off the flashlight light on models.
- r_flashlightrender 0 – disable flashlight rendering.
- impulse 200 – hide the currently selected weapon.
When you change it comes back again.
- r_drawviewmodel 0 – hide all weapons on the screen.
- smoothstairs 0 – disable camera softening when moving along steps.
- cl_drawmonitors 1 – disable camera rendering
For example, Breen’s broadcasts
- ai_expression_optimization 1 – disable the rendering of NPC emotions when you are not looking at them.
- cl_drawhud 0 – disable the hud.
- r_drawvgui 0 – disable rendering of the ENTIRE game interface, including MENU.
- hud_quickinfo 0 – disable health and ammo readings near the sight.
- crosshair 0 – disable crosshair.
- hud_showemptyweaponslots 0 – turn off the display of slots for weapons that you do not have, but which should be.
for example, when you have an AR2, but no SMG.
- cl_showpausedimage 0 – remove the “PAUSE” sign when the game is paused.
➨ Maps, part 1
- restart – restart the current map.
- maps * – display a list of all maps in the game to the console.
- maps # — display to the console a list of all maps starting with what is specified instead of #.
- sv_unlockedchapters # – change the number of open chapters when selecting “New Game”. Takes a value from 1 to 15, which indicates to what chapter they will be open.
- map_background # – put the map on the background in the menu. Works best with background maps.
- map # – go to a specific map (name instead of #). The list is presented below.
- map d1_trainstation_01 – beginning of the game, intro with G-Man, meeting with Barney.
- map d1_trainstation_02 – pick up that can, station street.
- map d1_trainstation_03 – inside the apartments, chase from metropolice.
- map d1_trainstation_04 – chase across the rooftops, meeting with Alyx.
- map d1_trainstation_05 – Dr. Kleiner’s laboratory, unsuccessful teleport.
- map d1_trainstation_06 – obtaining crowbar, chase along the train station rails from metropolice.
- map d1_canals_01 – obtaining pistol, shootout with metropolice, citizen and vortigaunt in a container.
- map d1_canals_01a – continuation of the shootout with metropolice.
- map d1_canals_02 – hide and seek with Hunter-Chopper.
- map d1_canals_03 – first meeting with manhacks, receiving SMG.
- map d1_canals_05 – receiving an airboat.
- map d1_canals_06 – station 12 (destroyed red barn), long chase from metropolice.
- map d1_canals_07 – the first stop to open the gate, another chase from the metropolice.
- map d1_canals_08 – second stop to open the gate, obtaining revolver, chase from Hunter-Chopper.
- map d1_canals_09 – continuation of the chase from Hunter-Chopper.
- map d1_canals_10 – still a continuation of the chase from the Hunter-Chopper.
- map d1_canals_11 – equipping the airboat with weapons.
- map d1_canals_12 – chase from metropolice.
- map d1_canals_13 – battle with Hunter-Chopper, opening the gate to the Eastern Black Mesa.
- map d1_eli_01 – Eastern Black Mesa, meeting with Eli and Mossman.
- map d1_eli_02 – scrapyard of Eastern Black Mesa, obtaining the Gravity Gun, meeting with the Dog, siege of the Combines.
- map d1_town_01 – meeting with Father Grigori.
- map d1_town_01a – walk on the roofs.
- map d1_town_02 – first appearance of fast zombies, obtaining shotgun. On this map there is a defense against fast zombies while the cradle is rising, but the scripts connected with this will not work normally until the player passes through d1_town_03.
- map d1_town_03 – parkour on the roofs.
- map d1_town_02a – walkthrough of the cemetery with Father Grigori.
- map d1_town_04 – mine.
- map d1_town_05 – snipers, obtaining AR2, first appearance of Combine soldiers.
- map d2_coast_01 – getting a jeep.
- map d2_coast_03 – trip along the coast, New Little Odessa, obtaining RPG, attack by a gunship.
- map d2_coast_04 – magnetic crane, attack by a gunship.
- map d2_coast_05 – travel along the road, obtaining crossbow.
- map d2_coast_07 – near the bridge. Same map is also used after the barrier is turned off, but the scripts only work after the barrier on d2_coast_08 is turned off.
- map d2_coast_08 – disabling the barrier on the bridge. You will spawn on this map, without a weapon, costume and not at the beginning, so it is better to use the map before or after this one.
- map d2_coast_09 – dark tunnel with zombies, searching for 3 batteries.
- map d2_coast_10 – lighthouse, jeep taken, defending from Combines.
- map d2_coast_11 – the moment when you can’t step on the sand, the battle with the antlion guard.
- map d2_coast_12 – assault on Nova Prospekt on the shore.
- map d2_prison_01 – continuation of the assault on Nova Prospekt already inside the prison territory.
- map d2_prison_02 – inside the Nova Prospekt building, turret barriers.
- map d2_prison_03 – battle with the antlion guard.
- map d2_prison_04 – prison, Breen’s speech about the rebels.
- map d2_prison_05 – laundry room, battle with two antlion guards.
- map d2_prison_06 – meeting with Alyx and Eli.
- map d2_prison_07 – defending in the control room waiting for Alyx, then defending again waiting for Alyx.
- map d2_prison_08 – finding Mossman together with Alyx, protecting the teleport.
- map d3_c17_01 – Kleiner’s laboratory, uprising in City-17.
- map d3_c17_02 – dog helps you get through the gate.
- map d3_c17_03 – station from the beginning of the game, the rebels tear off the monitor with Breen.
- map d3_c17_04 – introduction to mines, shootout with metropolice.
- map d3_c17_05 – assault on gates and buildings guarded by the metropolice.
- map d3_c17_06a – underground highway, defending from metropolice and manhacks in anticipation of the passage exploding.
- map d3_c17_06b – shootout with Combine soldiers in the yard.
- map d3_c17_07 – meeting with Alyx, turning off the generator, Combines capture Alyx.
- map d3_c17_08 – sewers, first meeting with the elite Combine soldiers.
- map d3_c17_09 – snipers, meeting with Barney.
- map d3_c17_10a – assault on the Nexus.
- map d3_c17_10b – assault within the walls of the Nexus, turning off the generators.
- map d3_c17_11 – Nexus roof.
- map d3_c17_12 – battle with striders near the Nexus.
- map d3_c17_12b – battle with a strider in a destroyed building.
- map d3_c17_13 – battle with striders in the ruins, reunion with Barney and Dog.
- map d3_citadel_01 – entering the citadel, riding the monorail.
- map d3_citadel_02 – monorail again.
- map d3_citadel_03 – weapon disintegrate, charged Gravity.
- map d3_citadel_04 – elevator, battle with the strider.
- map d3_citadel_05 – riding the monorail to Breen.
- map d3_breen_01 – cutscene with spitting in Breen’s face, boss battle with Breen, cutscene with G-Man, credits.
➩ Maps, part 2
These maps are used for the background in the main menu, when loading you will not be able to walk on them, your camera will be stationary. To fix this, write the command ent_fire point_viewcontrol disable
- map background01 – background of the station square of City-17.
- map background02 – background of station 12 with a flying Hunter-Chopper.
- map background03 – background of Ravenholm.
- map background04 – background of Highway 17 with a view of the bridge.
- map background05 – background of Nova Prospekt.
- map background06 – background of the ruins of City-17.
- map background07 – background of the citadel.
- map credits – a separate map with credits, nothing special.
- map intro – broken intro of the beginning of the game.
- map d3_c17_02_camera – a copy of d3_c17_02, but it does not give out a suit and weapons, and after loading the next map the player returns to the main menu.
➨ Debug and other complex commands, part 1
- developer 1 – enable developer mode.
This allows you to see various debugging information in the corner of the screen, and it’s also necessary for some commands to work.
- help # — display a hint (if any) about the command to the console.
Instead of #, enter the command.
- find # – finds commands in the game with what is indicated instead of # in the name and description of the commands.
You can play around, there are a lot more commands in the game than here.
- debugsystemui – open a menu with many commands for debugging.
- key_findbinding “command” – find which button the command is bind to.
- key_listboundkeys – display to the console a list of all buttons and commands that are bind to them.
- playsoundscape # – enable soundscape.
Enter the name instead of #.
- play # – enable sound.
Instead of # enter the path to the sound.
- playvol #1 #2 – enable sound with adjustable volume.
instead of #1 a path is entered, and instead of #2 a value from 0 to 1 is entered, which is responsible for the volume.
- bug – open a bug report window.
It can be filled out and even sent somewhere to Valve, but I don’t know if they can answer.
- bench_start – start performance testing.
You can finish with the command below.
- bench_end – end the performance test.
The average FPS during the test will be displayed in the console.
- bench_showstatsdialog – open a window that shows the average FPS of the last performance test
Also offers to send data to Valve servers, but I don’t know if this works.
- setmodel # – replace Gordon’s model.
Instead of #, enter the name of the model and its path, without the initial models folder and .mdl at the end.
That is, for example, setmodel props_c17/oildrum001 will put a model of a barrel.- cc_emit # – play specific subtitles.
- cc_random – play random subtitles.
Sometimes it may not show them.
- prop_dynamic_create # – create prop_dynamic.
Instead of # the path to the model is entered.
- prop_physics_create # – create prop_physics
Instead of # the path to the model is entered.
- cl_removedecals – remove decals from the entity you are aiming at.
- drawcross x y z – create a cross at the given coordinates.
- drawline x1 y1 z1 x2 y2 z2 – create a line between the specified coordinates.
- escape – simulate pressing the escape key.
- host_framerate 0 – somehow influence the time between frames of the game from the side of the game logic, also affects the speed of the game.
- hud_reloadscheme – reload the interface.
- mat_reloadallmaterials – reload all materials.
- playvideo valve – play any video from the game folder.
But since there is nothing there except the Valve intro, there is nothing to produce besides it.
- playvideo_exitcommand valve # – play any video from the game folder and enter the command (specified instead of #).
But since there is nothing except Valve’s intro, there is nothing to produce besides it.
- snd_restart – restart the sound system.
- spike – create a fake game freeze.
- ai_drop_hint # – if you enter this command without #, it will display in the console a list of IDs of all possible paths for the AI. If you enter the path ID instead of #, it will create under the crosshair.
- buildcubemaps – render reflections (cubemaps) into the map.
Don’t use this command if you don’t know what you’re doing.
- sv_skyname # – should change the skybox, but doesn’t work.
But you can see the name of the skybox in the command.
- test_freezeframe – the screen freezes for a while.
- Test_RandomPlayerPosition – teleports the player to a random place where he will get stuck
Noclip will not help + the player’s camera will shake non-stop
- cl_overdraw_test – puts a strange filter on the screen.
- mat_crosshair – display in the console the name of the texture of the brush or displacement that you are aiming at.
- impulse 107 – display in the console the name of the texture of the brush that you are aiming at.
Doesn’t work with displacements.
- echo # — display the text written instead of # in the console.
- clear – clear the console.
- cl_showents – display a list of all entities to the console.
- dump_entity_sizes – display a scary list of entities existing in the game to the console.
- dumpentityfactories – display the same list, but less scary.
- ping – display the player’s ping in the console.
Probably it still exists, even though this is a single-player game.
- impulse 103 – output the state of the NPC you are aiming at to the console.
For the command to work you need developer mode (developer 1).
- impulse 106 – output to the console the class, name and model of the entity you are aiming at.
- light_crosshair – output to the console the value of the color of light you are aiming at.
- listmodels – display a list of models loaded by the game to the console.
- listRecentNPCSpeech – display a list of the 5 most recently used NPC phrases to the console.
- mat_showtextures – display a list of all rendered textures to the console.
- player_debug_print_damage 1 – output to the console information about all damage and its type that the player receives.
- status – display in the console information about the game, its version, the map you are on, how long you have been on it and other information about your steam account.
- surfaceprop – display the surfaceprop parameter of the texture or model under the gun to the console.
- physics_report_active – display a list of all active physics objects to the console.
- physics_debug_entity – display information about the physics of the target entity to the console.
I SO LOVE OUTPUTING DIFFERENT THINGS TO THE CONSOLE 😀
- cache_print – shows some cache.
- cache_print_lru – same as above.
- cache_print_summary – same as above.
- mat_hdr_enabled – shows whether HDR is currently enabled.
- net_status – shows the connection status.
- stats – shows server performance.
- status – shows the map name and connection status.
- ainet_generate_report – generates a report.
- ainet_generate_report_only – generates a report.
- cl_panelanimation – shows information from the animation panel.
➩ Debug and other complex commands, part 2
- ent_text – displays on the screen all information about the entity at which you are aiming at.
For this command to work you need developer 1
Re-writing removes this information.- showtriggers_toggle – toggle the visibility of triggers.
- cl_showpos 1 – show the current position, angle of view and speed of the player.
- r_drawclipbrushes 1 – enable brush clip rendering.
Red ones are for both NPCs and the player
Purple ones are only for NPCs
Pink ones are only for the player.- mat_wireframe 1 – enable rendering of everything as a grid.
- mat_leafvis 1 – show the boundaries of the leaf in which the player is located.
- mat_normalmaps 1 – enable rendering of normal maps for those textures that have them.
- ai_show_connect – show paths for ground NPCs (green).
- ai_show_connect_fly – show paths for air NPCs (сyan).
- ai_show_connect_jump – show jumping paths for antlions (blue).
- ai_show_graph_connect — draw lines from the selected node to all other nodes on the map, showing in colors which are connected and which are not.
- vcollide_wireframe 1 – enable display of collision models.
- snd_show 1 – include a list with all sounds currently playing.
- snd_visualize 1 – enable the signature of sounds at the place where they are played.
- mat_surfacemat – display the names of textures on their surface.
- mat_surfaceid 1 – display the ID of each surface.
- cam_showangles 1 – show information about the angle and distance of the camera in third-person view.
- cl_entityreport 1 – display a list of all entities on the screen.
- fogui – open the fog control menu.
- perfui – open the tool menu for checking optimization.
- mat_texture_list 1 – open the texture browser.
- mat_texture_list 1 – if this value is not zero, then the texture browser will show all textures that are loaded into memory, not just those that are rendered.
- +graph – include a graph in which sounds seem to be shown?
Disabled by the -graph command.
- +showbudget – another graph that shows something, but I don’t know what exactly.
Disabled by the -showbudget command.
- showbudget_texture 1 – another graph that shows something about textures.
- mat_show_histogram 1 – another graph.
guys, I really love graphs so much.
- mat_show_texture_memory_usage 1 – show how much RAM is consumed by textures.
- mat_showlightmappage 1 – show the light map and the textures that are currently being rendered.
- mat_drawTexture # — draw the texture to the corner of the screen.
Instead of #, enter the path and name of the texture.
Its size can be changed with the command mat_drawTextureScale #.- mat_showcamerarendertarget 1 – show the current working camera on the screen
For example, Breen TV, Kleiner call.
- mat_showwatertextures 1 – display a render of reflections in the water and underwater on your screen.
- mat_show_ab_hdr 1 – split the screen into two, on the left is the game without HDR, on the right with it.
- mat_show_ab_hdr_hudelement 1 – add hints to the command at the top.
Disables weapon selection.
- mat_showmiplevels 1 – show the quality of textures in colors.
A value of 2 does this only for textures with normals.
- npc_nearest – show the nearest node of the NPC you are aiming at.
Requires developer 1.
- npc_focus – show a line from the NPC you are aiming at to his enemy.
Requires developer 1.
- npc_combat – show the health of the NPC you are aiming at, the squad in which he is a member and his current enemy.
Requires developer 1.
- npc_relationships – show the relationships of the NPC you are aiming at with other NPCs and the player through arrows.
- Green is a friend.
- Blue is neutral.
- Red is an enemy.
Requires developer 1
- npc_enemies – display NPC you are aiming at his “memory” of his enemies.
Requires developer 1.
- npc_route – display the current route of the NPC you are aiming at.
Requires developer 1
- npc_speakall – make the NPC you are aiming at say all the lines existing in the game.
- npc_viewcone – show the field of view of the NPC you are aiming at.
Requires developer 1
- npc_reset – reset all script paths for all NPCs.
- physics_highlight_active – show in boxes all active physical objects at the time the command was written. It also shows places of collision with other objects.
Requires developer 1.
- physicsshadowupdate_render 1 – I don’t know why, but after writing this command the player begins to leave a trail behind him, although this command probably shouldn’t do it.
- picker – shows debug information of physical objects you are aiming at.
- r_drawlightinfo 1 – enable highlighting of light sources.
- r_drawlights # – enable debugging of a specific light source numbered #.
- r_DrawModelLightOrigin 1 – enable debugging of light sources for models.
- g_debug_antlionguard 1 – enable antlion guard debugging.
- g_debug_antlionmaker 1 – enable debugging of antlion spawners.
- g_debug_combine_camera 1 – enable debugging of the Combine ceiling camera.
- g_debug_cscanner 1 – enable scanner debugging.
- g_debug_dropship 1 – enable dropship debugging.
- g_debug_turret 1 – enable debugging of ground turrets.
- g_debug_turret_ceiling 1 – enable debugging of ceiling turrets.
- g_debug_vehicleexit 1 – enable debugging of vehicle exit.
- g_debug_physcannon 1 – enable Gravity Gun debugging.
- g_debug_doors 1 – enable door debugging.
- sv_debug_player_use 1 – enable debugging of player interactions.
- g_debug_vortigaunt_aim 1 – enable debugging of vortigaunt shot aiming.
- g_debug_vehiclesound 1 – enable debugging of vehicle sounds.
The information is displayed in the console
- g_debug_dynamicresupplies 1 – enable console output for calculating dynamic reserves in supply boxes.
- thumper_show_radius 1 – enable debugging of devices that frighten antlions.
- g_debug_ragdoll_visualize 1 – enable ragdoll debugging.
- prop_debug – enable debugging of physical objects.
➩ Debug and other complex commands, part 3
- mortar_visualize 1 – enable debugging of strikes from the sky on the d3_c17_10a map.
- r_flashlightvisualizetrace 1 – enable flashlight debugging.
- g_ai_citizen_show_enemy – when npc_citizen sees an enemy, draws a line between their eyes.
- mat_normals 1 – enable the rendering of some lines that show something, but I don’t understand what.
- strider_eyepositions 1 – show 3D crosses in place of the strider’s eyes when he stands and crouches.
- strider_show_focus 1 – show the striders’ movement target with a 3D cross.
- strider_show_weapon_los_condition 1 – show where the strider is aiming with a weapon.
- npc_blob_show_centroid 1 – show the center of npc_blob with a 3D cross.
- cl_drawshadowtexture 1 – show dynamic shadow textures in the corner.
- cl_ent_absbox – enable absbox rendering for the entity under the crosshair.
- cl_ent_bbox – enable bounding box rendering for the entity under the crosshair.
- cl_ent_rbox – enable render box rendering for the entity under the crosshair.
- colorcorrectionui – open the color correction menu.
- ai_nodes – toggle path debugging for AI.
- ai_show_hull – toggle path debugging for AI.
- ai_show_grid – draw a grid on the floor where looking.
- ai_drawbattlelines 1 – enable debugging of Standoff behavior for AI.
- ai_debug_actbusy 1 – enable debugging of actbusy behavior for AI.
- ai_debug_assault 1 – enable debugging of assault behavior for AI.
- ai_debug_enemyfinders 1 – enable debugging of enemyfinder behavior for AI.
- ai_debug_shoot_positions 1 – enable AI aiming debugging.
- cc_showblocks – squares.
- net_graph 1 – draw the network usage graph.
- net_graphheight 64 – change net_graph height.
- net_graphpos 1 – change the position of net_graph.
- net_graphproportionalfont 0 – disable changing the font size to fit the screen of net_graph.
- net_graphtext 0 – turn off text for net_graph.
- +posedebug – enables debugging of poses on the screen.
Disabled by the –posedebug command.
- +showbudget_texture_global – a graph showing something about textures.
Disabled by the -showbudget_texture_global command.
- +showvprof – opens a VPROF window that displays various render information.
Disabled by the –showvprof command.
- +vgui_drawtree – opens a window on the right side of the screen that displays render data statistics.
- r_staticpropinfo – shows the name of all static props in the world.
- r_visambient – draw leaf ambient lighting samples (squares).
Requires mat_leafvis 1
Afterword
And that wraps up our share on Half-Life 2: Half-Life 2 — Cheat codes and console commands. If you have any additional insights or tips to contribute, don’t hesitate to drop a comment below. For a more in-depth read, you can refer to the original article here by K.Grox and 2 collaborators, who deserves all the credit. Happy gaming!