The Console, Or: How I Learned To Stop Worrying And Love The Actor Value.
Most of us use the console more than we’d care to admit. But there are a bunch of little tips and tricks you can learn to make the most out of the console, from bugfixes to becoming Courierzilla.
I’m the kind of guy that likes to know exactly how the engines of each game tick. I try and learn all the console commands, all the INI settings and what exactly all of this does. I once spent a good few hours in a Half-Life 2 session reading what each and every convar and command did (and changing most of them) just so I would know how to do it. And it pays off: Somewhere out there is a guy who is convinced I work for Valve because I fixed a broken Synergy game once.
But enough about me, you want to know what this guide’s going to teach you, right? Well, it’s going to teach you many ways to do pretty much the same thing, as well as a bunch of ways to improve what you’re doing.
A bit of a note
Just so you’re all aware, almost everything in this guide also applies to Fallout 3. A fair bit of it applies to Oblivion and Skyrim as well. I may make a Skyrim version of this guide in the future. Maybe. It’s more likely if you bribe me.
Reference IDs: Like Social Security Numbers, except they won’t ruin your life if someone posts them on the Internet.
The first thing you need to keep in mind is each and every entity in the game world, from NPCs to stimpaks to the Lucky 38’s front door, all have a thing called a “reference ID”. It’s an eight-digit hexadecimal number between 00000000 and ffffffff. The left-most digits of this number are the reference’s “load index”, which refers to where the reference comes from.
- A load index of 00 means the reference comes from FalloutNV.esm, the vanilla game.
- A load index of “ff” means the reference comes from your save. This is the case for projectiles (bullets, thrown spears), dropped items, randomly generated Freeside thugs, things you spawned with the console, et al
- Any other load index means it came from a mod. As far as the console is concerned, DLCs such as Old World Blues are mods (though they tend to have low load indexes like “01”, “02” because they’re ESM files).
The rest of that number identifies the individual reference, and has no significance aside from that.
In addition, every entity in the game (not just ones in the game world, but things like quests, radio stations, etc) have a “base ID”, which shares the same pool as the reference ID. To keep the difference straight, think of reference IDs as the actual thing, and the base IDs as templates or character sheets for that thing.
Some Nifty Shorthand
This guide will make use of some neat shorthand: you can omit any leading zeroes from IDs. So “00015169” is equal to “15169”. Incidentally that’s the base ID for stimpaks.
Note however that this does not mean zeroes in the middle of an ID can be omitted. Meaning “90210” is not identical to “921” (neither of those are actually associated with anything as far as I know).
How To Target Things: no dammit I wanted THAT stimpak
The Fallout New Vegas console has three ways to target things:
- By clicking on the intended target with the console pulled up. Obviously this only works when the target is within view. However, if you miss, you don’t need to click again, just scroll the mouse wheel (thanks monol1th, I didn’t know that one until now!)
- By using the PRID command.
- By prefixing the command with “<refid>”
As an example: Suppose I wanted to target Loyal to make him flip the bird (more on this later). Loyal’s reference ID is “000ff26a”, which we can shorten to “ff26a” (see “Some Nifty Shorthand” above). There are three ways we can do this:
- I can click on him and then run the command.
- I can enter the following two commands into console:
- Or I can be Mr. Efficient and combine those into one command:
This would target him, run the command, and then untarget him.
An important thing to note here is when you combine the reference ID and the command into one line, the targeting isn’t persistent: meaning your target won’t stay targeted. Therefore if you need to run a bunch of commands on one reference it’s best to click on him or use PRID instead.
Important Special Case: The Player
Keep in mind that any time you need a reference ID and you want to affect the player, you can use the special reference ID the player has: “player”. e.g.
player.additem 15169 3
Note that even in the case of combining reference ID and command, you do not need to put quotes around “player”.
General NPC Manipulation
Now that you have an understanding on how to target things, you’re going to want to know how to make your targets actually do things. While there are full on categories of things you can do, I’ll save larger things for their own separate sections. Here, I’ll just put general NPC manipulation commands.
- kill – Bet you can’t guess what this does. With essential characters it only knocks them unconscious.
- resurrect – Also self explanatory. If the target is already alive, then the game will react accordingly. Beware: This may reset the reference’s inventory. I still need to look into this to be sure. Please note that once the game has registered an NPC as dead, then for the most part it’s irreversible (any failed quests will stay failed, etc)
- resurrect 1 – Same as above, only instead of POOF the NPC/creature is standing up instantly, they will play animation to stand up, as if they were knocked down and not actually killed.
- moveto – Move target to another provided RefID (e.g. “ff26a”.moveto player). Generally, one of the provided RefIDs is player, but you can use pretty much any valid RefID for either argument.
- equipitem – Equip an item on the target. Preferable to have the item in the target’s inventory already (see additem in the Mod Development section). Argument is base ID (NOT REFID) of item to equip (“player.equipitem 15038” would equip your Pip-Boy on you if you managed to get it unequipped somehow)
- unequipitem – Converse of equipitem.
- evp – Forces the NPC to go on a spiritual journey and reevaluate itself, especially its AI packages. Many changes to its values require a reevaluation of its AI packages to actually take effect, which the game will naturally do every so often anyway, but sometimes you need immediate results.
Factions and Reputations
Manipulating Reputations: guys I may have just nuked your entire country but I really am your friend.
The following commands exist for modifying your reputation with certain groups in the Mojave (notice that I’m not calling them “factions” – this is to reduce confusion, see later).
- addreputation <baseID> <isFame> <amount> – Add a certain amount of reputation points. BaseID refers to the base ID of the reputation. Set the second argument (isFame) to 0 if you wish to add infamy, and 1 if you wish to add fame.
- removereputation <baseID> <isFame> <amount> – As above, except removes reputation.
- setreputation <baseID> <isFame> <amount> – As above, except explicitly sets the amount instead of adding or subtracting. Does not stop future modification like forceav does.
The Reputations: I’m Being Nice For Once
A frequent complaint that I’m seeing (even though it’s rarely if ever voiced directly at me) is that I don’t list the IDs on this guide. This is for two reasons:
- This would make my guide too close to a “do everything for me” guide, which is not what I want. I want everyone to actually understand what they’re doing instead of just blindly entering things into the console.
- There are just far too many IDs for me to list everything you could possibly want.
However, in the case of reputation IDs, I make an exception, because not only are there so few, but because they’re buried away (difficult, if not impossible, to find in GECK, and the Wiki has them tucked away in a page only vaguely related). So here they are below.
- Boomers – ffae8
- Brotherhood of Steel – 11e662
- Caesar’s Legion – f43dd – Even if you remove infamy, you may still trigger Legion assassins.
- Followers of the Apocalypse – 124ad1
- Freeside – 129a7a – Freeside Thugs are not members of this reputation.
- Goodsprings – 104c22 – Generally useless.
- Great Khans – 11989b
- New California Republic (NCR) – f43de – Also includes Crimson Caravan.
- Novac – 129a79
- Powder Gangers – 1558e6 – Affects Powder Gangers based in NCRCF. Does not affect Powder Gangers in Vault 19 (sensible as they are a breakaway group)
- Primm – f2406 – Cut content. Doesn’t actually do anything unless you have a mod to restore this reputation.
- The Strip – 118f61
- White Glove Society – 116f16
Factions: Actually a Technical Thing
See here’s the thing: In the engine, “factions” are groups of entities. They’re a lot less complex than the reputations, and many of them don’t even reflect in-game status (e.g. some NCR factions are not marked as enemies of some Caesar’s Legion factions, despite the huge war). Even the player has a faction: “PlayerFaction” (base ID of 1b2a4, and since there’s a huge number of factions that’s all you’re going to get from me there). The following commands are what we have to work with.
- target.addToFaction <ID> <rank> – Add the target to the faction <ID> at whatever rank. Usually, the only valid ranks are “0” or “1”. Rank of -1 removes from faction.
- removefromallfactions – Removes the player from every faction, including PlayerFaction (not a good idea).
- setally <ID 1> <ID 2> <0/1> <0/1> – Sets the “ally” status of the two factions – 0 is “friend” and 1 is “ally”.
- setenemy <ID 1> <ID 2> <0/1> <0/1> – Sets the “enemy” status of the two factions – 0 is “enemy” and 1 is “neutral”.
What The Hell Is An Actor Value Anyway?
Actor values are…wait for it…values related to actors. Here, “actor” means NPC or player (or in some cases creature), and not Robert Downey Jr.
Available Actor Values
Fallout: New Vegas has the following actor values:
- Any SPECIAL attribute. – e.g. “Strength”, “Intelligence”, etc.
- Any skill – Keep in mind if the name of the skill has a space it needs to be removed.
- actionpoints – Maximum AP.
- carryweight – Maximum weight you can carry.
- inventoryweight – Current weight you’re carrying.
- karma – PLEASE DO NOT MODIFY THIS AV MANUALLY. Use “RewardKarma” instead.
- health – Maximum health.
- healrate – How fast you regenerate health. It’s currently unclear exactly how this value works – at an endurance of 5, a heal rate of 1000 restores 2 HP approximately every 5 seconds. Further research is required.
- xp – Experience. PLEASE DO NOT MODIFY THIS AV MANUALLY. The command “RewardXP” exists if you want to grant yourself some experience.
- damageThreshold – DT (the kind granted by armor).
- damageresist – DR (the kind granted by Med-X). Cannot exceed 85%.
- radresist – Radiation Resistance. Cannot exceed 85%.
- fireresist – Fire Resistance. Cannot exceed 85% either.
- poisonresist – Poison Resistance. Cannot – yeah you get it by now.
- speedmult – Move speed multiplier. A percentage. Multiplies the actor’s base speed, which varies per actor (i.e. a speedmult of 200 on a mole rat would be different from a speedmult of 200 on a deathclaw). Not recommended to go beyond maybe 250. If adjusting the player, game must be forced to recalculate movement speed after speedmult altering (toggle sneak mode a couple of times). (Thank you to Littlepip for the advice)
- ignorecrippledlimbs – 1 for yes, 0 for no.
- chameleon – Stealth Field (the thing Stealth Boys gives you). AV name is a carry over from Oblivion.
- aggression – How aggressive the NPC is. Integer range of 0-3, with 0 being cowardly and 3 being “Kill them all, Johnny”. Previously thought to be an Oblivion carryover, however I’ve since been corrected. (Thanks, da_wrecka!)
- meleedamage – Damage from Melee Weapons.
- unarmeddamage – Damage from Unarmed weapons (this value is also your fist damage).
- critchance – Percentage.
- dehydration – Only relevant in Hardcore mode.
- hunger – Only relevant in Hardcore mode.
- sleepdeprevation – Sic. Only relevant in Hardcore mode.
- fatigue – Knockout damage. If this value reaches zero or below, you’re unconscious. Originally just a carry over from Oblivion, but Obsidian realized that it still kind of worked and fixed it up.
Commands To Modify Actor Values
All of the following commands require a target.
- getav <actor value> – Print an actor value.
- rewardxp <amount> – Give the target (probably “player”) some experience (affected by modifiers such as Swift Learner)
- rewardkarma <amount> – Modify the target’s karma by an amount. Values above 250 are “Good”, values below -250 are “Evil”, and in between is “Neutral”
- setav <actor value> <amount> – Set an actor value to a number.
- forceav <actor value> <amount> – Force an actor value to be a certain number. This is irreversible, and will override all calculations even if you forceav back to the original number. You probably want modav instead, see below.
- modav <actor value> <amount> – Modify an actor value. Here’s an example: Suppose your maximum health is 300, and you do “player.modav health 50”. This will set your maximum health to 350. “player.modav health -50” after that will set your maximum back to 300.
- damageav <actor value> <amount> – Damage an actor value. The INT reducing effect from alcohol works on this principle.
- restoreav <actor value> <amount> – Restore an actor value. If you’re looking for a way to heal yourself, this is the command you want.
Finding An Animation: Teach the Courier how to Dougie
There are two ways of finding an animation to use in Fallout New Vegas:
- In The Wild: If you’re playing, and you see an NPC doing an animation you want to do (like polish a glass, smoke a cigarette, puke, whatever), you can open the console, target them, and use the command “showanim”. This will spew a bunch of information about the targeted NPC’s animation, most of which you probably don’t care about, but the last line, starting with “IdleAnim:” gives the name of the animation. Some animations require you to match the NPC’s sit/stand state exactly, meaning not just whether or not you’re sitting, but whether you’re sitting in a chair or on the floor (and sitting on the floor requires use of special furniture markers which the player can’t normally use).
- In The Zoo: Open the GECK, load FalloutNV.esm by itself, then go to Gameplay -> Idle Animations. You’ll be able to look through each animation by category, as well as look up animations for other creatures like bloatflies (I don’t recommend trying to make the player use those anims by the way). The same restrictions on animations apply.
Actually Using The Animation: I Am The Lord Thy God, And I Command Thee To Point And Laugh
Once you’re sure the proper conditions for your animation are met (you’re sitting/standing, delete where appropriate), actually starting the animation is easy: target your target, and use the playidle command. To use my example from earlier and make Loyal flip the bird, you’ll want to do this:
Close console, et voila: Loyal suddenly got very angry at you. Note that some idles loop forever. I haven’t yet figured out a way to stop an idle animation from playing, so until I do (and update the guide accordingly), please save before doing any sort of animation playing on someone (ESPECIALLY THE PLAYER, you may find you’ve completely broken your game if you play some idles on yourself).
The Console, Mod Development, and You
Let’s not forget the original purpose of the console: a developer tool. As such, there’s a bunch of commands in the developer console designed specifically for helping Bethesda/Obsidian (and by extension mod developers) with their creation. Although, I suppose if you were morally bankrupt you could use them for cheating too.
- tcl – Toggle clipping. You probably know this better as “noclip”. Keep in mind that there is a targeted version of this command that toggles clipping for a specific object. (so if you have something targeted with PRID you may want to untarget it)
- tfc – Team Fortress Classic. Toggle Fly Cam. Turns on a free-flying camera you control with regular movement controls. If you want to see the player while you use this, make sure you’re in regular third person first. Optionally pass “1” as an argument (“tfc 1”) to freeze time while the fly cam is active (useful for action shots)
- tm – Toggle Menus. Show/Hide the HUD. Pretty much only useful for screenshots.
- tai – Toggle AI. When nothing is targeted, turns off the AI for EVERYTHING – NPCs, creatures, etc. If you target something first, it only toggles AI for that specific NPC/creature.
- tcai – Toggle Combat AI. As above, except it only affects the combat part of things (things like walking around and using furniture will still run). This is similar to notarget.
- tgm – God mode. You can’t take damage, you can’t run out of AP, you don’t use ammo.
- tdm – Demigod mode. You still use AP and ammo as normal, but you can’t die. Recommended for fun preserving reasons.
- coc <cell> – Center On Cell. Teleports you to a specific cell (location). Unlike most commands, this command takes actual names for its argument (e.g. “coc NovacGiftShop” would put you inside the Dino Bite in Novac).
- cow <worldspace> <coords> – Center on World. Untested, args might be in the wrong order or something. Also teleports you to a specific cell, except takes a worldspace name (“WastelandNV” for the Mojave Wasteland) and a set of coords instead of a specific cell name (because not every cell has one).
- additem <baseid> <count> – Add item to target’s inventory. Usually the target is the player. Arguments are base ID (NOT A REFERENCE ID) of the item you want and quantity. Example: “player.additem 15169 3” to add three stimpaks to your inventory.
- removeitem <baseid> <count> – Converse of additem.
- showinventory – Show target’s inventory.
Variables and Quest Stages
Types of Variables
Fallout: New Vegas has quite a few sorts of variables.
- Variable Type – Notes
- GECK numeric game settings – Settings that require a mod to change on any sort of permanent basis. Perks per level is one of these.
- INI settings – Generally low-level engine settings.
- Quest stages – Generally used to track how far along in a quest you are.
- Quest variables – Variables that live within quest scripts. Not to be confused with quest stages above.
- Global variables – Variables not tied to any specific quest. Keep in mind that there’s a ton of quests running in the background at all times that you never see in your Pip-Boy for internal tracking.
Manipulating Quest Stages
Firstly, you need the quest’s base ID. Secondly, for setting the stage, you need a list of stages. As much as I’d prefer to recommend the Vault for quest stages, they’ve recently changed the “stage” column on most of their quest pages to not match GECK stages, so try Nukapedia.
The following two commands exist for quest stage manipulation:
- getstage <quest ID> – Get the current stage of the quest.
- setstage <quest ID> <stage> – Set the current stage of a quest. Once a stage is set, it can’t be unset (i.e. you can’t go backwards).
Quest and Global Variables
Firstly, let me define <variable>.
- If your intention is to get or set a quest variable, you need to format it like so: “quest_id_IN_QUOTES”.variableName . prid will not work here, don’t try it.
- If you intend to manipulate a global variable, all you need is the variable name.
The actual commands are as follows.
- show <variable> – Print the current value of a variable. A notable example would be “96bcd”.nOpenness for the number of “history points” you have with Boone.
- set <variable> to <value> – Set a variable to whatever value. Note the “to” there. It’s very nonstandard.
The Two Types
GECK numeric game settings require a mod, sadly. If you want a change, you can try to find a mod on the Nexus, otherwise you’re gonna have to learn the GECK.
INI settings are changed by opening Fallout.ini/Fallout_default.ini (or FalloutPrefs.ini depending on the setting) in your favorite plaintext editor (if you don’t know what that is, then it’s Notepad). Keep in mind that the default FONV launcher overwrites Fallout.ini with Fallout_default.ini at launch, whereas alternative game launchers (such as NVSE loader or FNV4GB) do not. When in doubt, make the changes to both.
By default, not every variable you can change is in the INI (the game engine will assume a default). You can force the INI to have all possible variables by running the console command “saveini” (this will take a while and it will look like your game froze, be patient).
Extra Resources and Conclusion
Where To Look For Stuff
Need a reference ID for something? A base ID? A list of all console commands so you can try things yourself? The Vault probably has what you need in stock. If not, try Nukapedia (though since that was originally The Vault I doubt you’ll have much better luck). Neither site has a list of idle animations though, you’re going to have to use the GECK for that.
This concludes my guide so far. Do you have any other subjects you want me to cover? Say so in the comments, I’ll impart whatever knowledge I can.
Original Link – Continuation of discussion