In Fallout 3 the console is a debugging tool left by the developers in the PC version of the game. It is useful for developing and quality assurance, but can also be used to access cheats and console commands.
See also: Fallout 3 Perk and Quest perk cheats and codes.
To access the console, use the grave accent key (`) while in-game (Unpaused). The grave accent key shifts to tilde (~) on US keyboards, and the not symbol (¬) on UK keyboards. Other keyboard layouts will differ, but the key is usually to the left of 1, and just under the Escape key (Esc). The key is the top left key under escape, on non-US keyboards. (Example: §, ½ or | on Scandinavian (Swedish, Danish, Norwegian etc), caret (^) on German keyboards, on French ones, \ or | on Italian Keyboards, ‘ on Brazilian Keyboards, “ on Turkish keyboards). The HUD will disappear and you will get a prompt (|) in the lower left corner of the screen where codes can be input.
- The game will pause, making you unable to look around while using it -be sure to be looking at what you want to change, unlock, etc.
- The mouse will control a cursor, rather than move the camera; and left-clicking will select visible objects, rather than shoot them.
- The left side of the console might not be visible if you’re not using a widescreen display. In this case, type several tabs to move the cursor in before entering your commands. They will still work.
- Some Vista and Windows 7 users must disable/uninstall the “Infrared” device (varies from machine to machine, but has that same line in the name) to access the tilde key. See the Troubleshooting section on the Discussion page for further advice.
- Using the console on the Steam version of the game will disable all Steam Achievements until the game is restarted, even if no commands are entered.
Those of you who cannot seem to get the console to appear, pay attention: You should always double-check all your .ini files when modifying your game, especially doing so significantly. On Windows Vista and Windows 7, these should be located in the following locations, assuming C: as your install drive:
C:\Users\<your username here>\Documents\My Games\FalloutNV
On older operating systems, look in
...\My Documents\My Games\FalloutNV. This folder will contain two .INIs:
- FalloutPrefs.ini, which contains whatever settings were made in the Options Menu of the Launcher, plus whatever has been carried over from in-game saved preferences and edits to the other .INIs. This is the best .INI to start with, as far as changing things is concerned.
- Fallout.ini, which is read-only by default for good reasons. Windows may require administrative privileges to make it writable.
The final .INI can often be found in:
...\Steam\steamapps\fallout 3\ If you’re not using Steam (a.k.a D2D, etc.), consult the documentation that came with your version. This folder’s contents are non-modifiable by default if you have UAC turned on. Either disable it (not recommended), or edit the Security tab in the folder’s properties panel to allow you access. This folder will contain one .INI:
- Fallout_default.ini, which should not be messed around with because it sets the default values for all game settings and the other .INIs. So only change the values inside it if you really aren’t seeing the changes you’ve made to Fallout_Prefs.ini, but ideally there should be very few reasons to change this file.
Make a backup of all .INIs before changing them. This is just a general good-practice rule for all data file editing, and it simply involves either making a copy of the file and placing it wherever you like, or making a copy and then changing the original file’s extension to something like Fallout_Prefs.bak.ini. The idea here is that these .INI files can often be the solution to simple problems like not being able to access the console. Fallout: New Vegas ships in most cases with the console enabled for PC. This can be verified by looking for the
string value under the [Interface] section. Furthermore, the console can (and if you’re planning on using it a lot, should) be altered via these .INI files to allow more console text to be shown on-screen. Assuming a minimum of 768 pixels of vertical display resolution (720p monitor), you can change the following values under the [Menu] heading:
Replace XX with a number 25 or greater, depending on your resolution.
Replace XXX with a number 2x-20x the original value. This is important, as it will enable you to scroll through the console’s history. It is doubtful that mere text will add any taxing to your RAM, CPU, or GPU, so go nuts with this value if you like, tested up to 9001.
Console Commands History
You can scroll through the console commands history with your keyboard’s Page Up key, and scroll back down with the Page Down key, assuming you are using a standard QWERTY keyboard.
- player.showinventory or player.inv – Lists Inventory with object IDs. Suitable for use with player.removeitem
- player.equipitem <object_id> equip item from the inventory; useful for equipping items that don’t appear in Pip-Boy inventory.
- player.setweaponhealthperc – Changes the currently held weapon’s health.
- Example: player.setweaponhealthperc 80 Will change the current weapon’s health to 80%.
- player.removeitem <base_id> <amount> – remove item from the inventory; useful to get rid of useless quest items.
- player.srm – Show Repair Menu for the player character. This allows items to be repaired using the PC’s Repair skill as though they were a merchant. caps are required to repair items as for merchant repair, but they are paid back to the player character, resulting in no net transfer of caps. Using srm on NPCs that don’t normally repair goods will typically crash the game
- player.additem <base_id> <amount> – add item to your inventory, at full health.
- Example: player.additem CB547 1 – add one Vengeance to your inventory with full ‘health’.
- player.additemhealthpercent <base_id> <amount> <quality> – add item to your inventory, with a specified condition. Quality should be given in decimal form.
- Example: player.additemhealthpercent 432E 1 .50 will add 1 Gatling Laser at 50% to the player’s inventory.
- sucsm 10, fast, sucsm 1, slow moving camera in tfc.
- fov 40, narrow, fov 90, wide angle lens. fov 75, default lens.
- tlb – toggle lightbrite mode makes everything well lit, great for dark spots.
- Note: The command will hide your weapons while in first-person mode unless you are under a stealth field, although you will still be able to use it.
- tfc – toggle free camera; lets you move around the camera at will. To take pictures of your character, make sure you go into third-person mode first. Typing tfc 1 will pause the game, while still allowing you to move the camera around in the game.
- tm – toggle menus; removes the HUD for even nicer pictures. It will also hide the notification you normally get when the screenshot has been successfully captured, but it will take the shot. If you use tm soon enough after taking the screenshot, you can see the notification.
prid <ref_id> – set an id target. Same as left-clicking, but will work even if the target isn’t visible. Required with most of the following commands. In order for the commands to work you must simply type out the ref_id without the <>
- OpenTeammateContainer 1 – opens the selected NPC’s inventory (as if they were a companion, or knocked down) and allows transferring items to or from one’s own inventory.
- gbo – FOSE required – gives the base object id of the NPC, useful for setessential 1 command
- resethealth – restore NPC’s health.
- kill – make NPC die.
- resurrect – resurrect NPC (will also “reroll” the inventory, meaning different items will be spawned there).
- resurrect 1 – resurrect NPC as if they were unconscious (this can give some silly animation).
- tcai – toggles all combat AI.
- tai – toggles all AI.
- player.moveto <ref_id>, moveto player – move player to NPC/move NPC to player character.
- additem <base_id>, removeitem <base_id> – add/remove item in NPC’s inventory.
- equipitem <base_id>, unequipitem <base_id> – equip/unequip item in NPC’s inventory.
- inv – display items in NPC’s inventory (including those not shown in the trading window).
- sbm – show barter menu with the NPC (useful for inaccessible traders, but could lead to crash if used with non-traders).
- setally <factionID1> <factionID2> (0/1 optional) (0/1 optional) – sets a faction as an ally with another specified faction. 0=Ally 1=Friend.
- setenemy <factionID1> <factionID2> (0/1 optional) (0/1 optional) – sets a faction as an enemy with another specified faction. 0=Enemy 1=Neutral.
- setessential <base_id> 0, setessential <base_id> 1 – make NPC mortal / immortal.
- disable, enable – delete NPC from the game / make NPC reappear.
- startcombat, stopcombat – start / stop combat with selected NPC (“stopcombat” will not cease NPC’s hostility).
- setav aggression 0 – disable NPC’s hostility.
- addscriptpackage <base_id> – Add/remove an AI package to the selected NPC eg. “addscriptpackage 4083b” will make the NPC follow you.
- Cloning a friend: You may clone companions, but they will lack the ability to trade with you. The base_id “7” will clone yourself.
- Note the difference: <base_id> marks the “character sheet” and <ref_id> marks an instance of the character with location.
- player.placeleveledactoratme <base_id> – create/clone an NPC and place it at the player.
- resetquest <quest_id> – reset a companion’s hire quest (if resetting your companion results in them giving generic responses to dialogue prompts). List of quest ids.
- Multiple followers: By resurrecting and killing Dogmeat (prid 6a775) you will free a companion slot. Repeat process after hiring someone.
Example (console commands in order)
prid 3a77 – target Sydney
unequipitem 20420 – unequip combat armor
setessential 3a22 1 – make Sydney unkillable
moveto player – move Sydney to player
equipitem cb547 – equip Vengeance
additem cb547 1 – add Vengeance
additem 6b53e 1000 – add ammunition to Sydney
NPC reset example
prid 3a77 – target Sydney
kill followed by resurrect – kill and resurrect, reset the NPC
disable followed by enable – disable and enable, make sure the NPC is active
moveto player – move NPC to player (or player.moveto 3a77 to move player to Sydney.)
Stats and character manipulation
- player.damageactorvalue <variable> <amount> – Give damage with specified value. Ex. “player.damageactorvalue health 20” will remove 20 HP. Note that negative values will not heal you.
- player.setscale <scale> – set player scale; 1.0 is default; 0.95 is smaller, 1.1 is big, 10.0 is huge (not recommended to use indoors). The higher your scale is, the faster you run and the stronger you hit. Smaller scales do the opposite.
- player.getav <variable> – read out an actor value, for instance karma, intelligence or smallguns.
- player.setav <variable> <amount> – set an actor value to a specific amount, for instance health, intelligence or smallguns.
- player.modav <variable> <amount> – modify an actor value; the value will max out at its normal maximum value (100 for skills, 85 for resistances, 10 for S.P.E.C.I.A.L., etc.). A negative number lowers the variable.
- Note: modav adjusts the value up or down by the specified amount, and changes are relative to the current value. For example, if your Carry Weight is 500, player.modav carryweight 150 will set it to 650 (500+150), while player.modav carryweight -150 will lower it to 350 (500-150).
- player.forceav <variable> <amount> – set a value
- player.addperk <variable> – add a perk or trait
- player.removeperk <variable> – remove a perk/trait
- player.sexchange – changes the player character’s sex
- shownamemenu – open a menu to change PC’s name
- showracemenu – open a menu to change the PC’s race and face
- Changing race will disable the perks, requiring you to remove and add them again.
- showtraitmenu – Open a menu to change traits
- showbarbermenu – open a menu to change the player’s hairstyle
- showplasticsurgeonmenu – open a menu to change the appearance of the player’s face
- player.advlevel – advance one level
- player.setlevel <level> – set level
- player.agerace <increment> – A total agerace of -1 results in being a child, 1 an adult, and 2 an elderly person. (ex: player.agerace -3 makes you a child no matter what agerace you currently are)
- player.rewardKarma <amount>, player.rewardxp <amount> – give player Karma or XP
- settagskills 3 – reselect “tag” skills.
- setgs <string> – Set specified game setting, such as maximum level or damage resistance. Be aware that game settings reset every time the game is restarted.
- iMaxCharacterLevel <#> Sets level cap to #
- fMaxArmorRating <#> Sets maximum armor rating to #
- fPlayerMaxResistance <#> Sets maximum damage, radiation, fire and poison resistance to #.
- getgs <string> – Show game settings value.
player.setav carryweight 5000 Sets player’s max Carry Weight to 5000
player.forceav guns 100 – set Guns, energy weapons, melee weapons, (etc.) to 100, the maximum
player.modav intelligence -5 – lower Intelligence by 5 (minimum 1)
player.rewardKarma -1000 – remove 1,000 Karma
player.addperk 00058fdf – add Power Armor Training
Items & world manipulation
This is easiest if you first click on something in the world with the console open, to target it.
zap– Deletes the specified object ref. Useful for getting rid of objects that can’t be added to the inventory.
setScale– Set the scale of an item in game. Usually requires a save/reload for the new scaling to take place.
getScale– Prints out the scale of the item in the console.
player.placeatme <base_id> <stack amount> <quality> – place an item next to the player; for many items only a stack amount of 1 is valid
player.moveto <ref_id> – move the player to a nearby item. Player needs to be within the same location cell.
showrecipemenu <category> (Fallout: New Vegas) – Shows the shared crafting menu used for the workbench, reloading bench, campfire, and Sierra Madre vending machine. The category variable determines which set of crafting recipes are shown, and must be entered as a form ID. The valid IDs are 0013b2c1 (workbench), 0013e11a (reloading bench), 0013b2c0 (campfire), and xx0103a0 (vending machine).
unlock– unlock doors, safes, terminals or any other locked container; you can of course also lock. Adding a number after lock sets the difficulty to that of the Lockpick skill. For example, lock 50 would create an Average lock, lock 0 a very easy, and lock 255 would create a lock that requires a key and so on. Unlock will not work on doors that are “locked from the other side”.
activate – activate an item, say a door, that is normally operated by a switch
markfordelete – similar to disable, will delete any item from the game, removing it permanently. It may disappear immediately, or it may require you to exit and re-enter the area.
setopenstate – similar to activate, but will open and close it without the player having to use it 0 = close 2 = open.
setownership – make the item yours. (for instance a cabinet or a bed, but if you try to make a safe or cash register and things like that yours, you will still lose Karma and there’s almost no point.)
set timescale to <scale> – sets the timescale, the ratio determining how fast game time moves relative to real time; the default setting is 30. For example, setting the timescale to 1 would cause one second to pass in game time for every second in real time.
- Warning: Altering the timescale will cause the game to crash if NPCs spawned using placeleveledactoratme or movetoplayer enter into combat.
set gamehour to <time> – sets the gamehour to the entered value. Change applies only when player unpauses the game. Before making any changes to the gamehour using GetCurrentTime might be useful.
- CompleteAllObjectives <base id> – sets all currently obtained objectives for the quest to a completed status. Useful for bypassing a bugged or broken objective
- sqt – list current quest targets
- sqv <base id> – list quest variables
- set <“base id”.variable> to <value> – change quest variable to value NOTE: Requires quotes around the base id of the quest
- Example: In New Vegas, set “000E61A5”.MetRangerAndy to 1 will fix Raul’s quest if you’ve already spoken to Ranger Andy before you recruit him.
- movetoqt – move player to current quest target
- showquestlog – show the quest log, everything the player has encountered and done
- getqc <base id> – checks if the current quest is complete. if true = 1 false = 0
- resetquest <base id> – reset quest
- sqs <base id> – list all quest objective levels (stages). Use with setstage.
- getstage <base id> – gets the objective level of a quest.
- setstage <base id> <Quest Objective> – sets a quest to an objective level. Useful for resetting bugged scripts
- saq – start all quests
- caqs – Completes all stages of all quests, even quests you have not taken on, basically completely wiping out all quests of the game and completing the game without ending the game.
- SetQuestObject – setquestobject <baseid> <1> will set the NPC or item to quest object or not (1 is, 0 not)