spammster Posted October 16, 2009 Share Posted October 16, 2009 since i noticed this question pop up several times, and it can be confusing I figured i might as well add a tutorial with Screenshots to make it people who just start with modding easier to get a working NPC up and running. Section 1: creating a Merchant NPC from a generic since i couldn't include all images (max. image amount exceeded), i added them as Hyperlinks, so whenever you see a "Image XX" click on it to see the pic first off all: you should pick a generic NPC if you add a new one. well lets get this one started, first the selection of the NPC we wanna use: for this one we will use: CGPresetCaucasianF01 Image 01 now place that one somewhere in the world (indoors or outdoors doesn't matter)and double click on it, you'll end up with the Reference window, here click on Edit Base image 02 what we're gonna change here is the following: image 03 ID: here you can type anything thats not already in use, preferably something that reminds you what its good for, like NPCTrader01FName: here you type in the Name that you will see ingameScript: make sure its NONE (if you use a CGPreset this is NONE by default)ActorBase: make sure its NONERace: this one should be selfexplanatory if you want a female one make sure the checkbox "Female" is checkedHeight: 1.0000 (doesn't really matter though, if you leave it 0 it still has average size, however can be used to make em taller or smaller than you (0.95 = small 1.1 = large)Weight: 1.0000 (chubby or slim)Voice Type: FemaleAdult01Default (in this example, unless you wanna record your own voices, its a good ides to pick one of the presets, whenever they say something that other generic NPC's say as well, you will have audio instead of just text)Class: just pick a Vendor Class (doesn't really matter what you choose) this is what this one will look like: image 04 after that click on OK image 05 you will be asked if you wish to create a new object, def. click on YES (or you overwrite the original) the NPC window will close and you should be back at the Reference window, if you look at the Base Object box, it should now havew the name you picked (in this case: "NPCTrader01F" (01000EC1)) click on Edit Base again now on to the next tabs: STATS: image 06 Leveling Data:Level: pick one, 5 is usual a good value to give em a few skill points in barter and repair just check Auto calc stats once and all points will be distributed Factions: this one can be empty, you can assign factions but there's no point for a merchant npc thats in a fixed place now to the important ones: AI DATA AI Attributes: image 07 thats up to you really, this just defines how they react under attack now the lower part, this ones important check the box for every service you wish them to offer if you wish them to do repairs, make sure you check that box as well (the repair service they provide is defined by the Repair skill we set in the STATS TAB (in this case its 15) now on to the next one: AI Packages: image 08 first make sure this ones empty or that could result in very strange behaviourhere we can define how they behave to add packages, just right click in the white window and click on ADD to make a simple generic one, that does not just stand around but actually interacts with his surrounding, we use 2 packages: 1: DefaultSandboxCurrentLocationXXX (XXX = the radius in this example I picked 256)this package includes: Eating, Conversation, Furniture (other than beds), sleeping, idle markers and wandering now simply double click on the Sandbox package and switch to the Flags image 09 here we make sure: Offers Services is checked as well as Enable Fallout Behaviour (some people don't like NPC's responding verbally to friendly fire, so if you are one of em, remove the tick from enable fallout behaviour and only check those you want (specifically uncheck: friendly fire comments &| reaction to player actions (this shuts em up bout "yes thats locked for a reason etc.")) and the second package we will add is called: 2: NPCVendorFollowPlayerTriggernothing needs to be edited here, offers services is already activated and thats it for the AI packages tab thats it at this point, we will come back here later on, for now click on OK in the lower left - Merchant Container now we add a container to the area, where the NPC stores its items, later on reffered to as: MerchantContainerit doesn't matter what kind of container you choose, it can be a desk, locker, footlocker cabin etc. the only important thing is that it gets a unique ID so place one in the worldspace (anywhere really, it doesn't even have to be in accesable space (could be below the floor) double click the container or locate it in the cell view window the referance window will pop up, click on EDIT BASE ID: entersomething unused, in the example i went with Jillslocker (Jill = NPC's name)Name: enter something usefull here, since that will be shown ingame (in this case it would be: Jill's Locker) and now VERY Important: on the right you have the Owner field, make sure you select your NPC there image 10 feel free to put every item you wish the NPC to sell in the inventory list to do so: click in the white tab: right click NEWit will be listed as Abraxo Cleanerwhile that is still active, go directly below in the object drop down list and pick the item you want it to be in the Count Field, you type how many they will have (1 = one piece, 5 = five pieces etc.) when you're satisfied, click on OKyou will be asked if you want to create a new object as before : YES now go back to the Reference Window and check: Persistent Reference (this is needed later to link the container to the NPC) in the Ownership Tab, select your NPC as the owner image 11 you should probably also lock the container, next to the Ownership tab is a tab called Lock, there check the checkbox: locked and either select a Lock Level (can be lockpicked) or require key (no picking), if you select require key you need to define a key, the easiest way to do this nicely is to select a key in the Object window, right click it -> duplicate and give it a New ID and Name (like Jills Locker key) image 12 when you're done click on OK and go back to your NPC next to 3D Data you have a tab called: Merchant Container, go there and click on: "Select Reference in Render Window"move your mouse over the container and the curser will turn white, click left and and you should see some info in the 2 fields below Cell: here is the world location defined (if its indoors, the cell will be the name you gave the room, if its outdoor its most likely something like wilderness (??x??))Reference: here will be the name listed of the Container ID image 13 when you're done, click on Edit Base again and go to the Inventory Tab now what we wanna add here are 2 or 3 things depending on what we chose before: 1: we wanna ad a clothing package, so they don't run around in underwear to do this, we add a new object something like: Prewarapparel75 (pre war clothes with a 75% condition), doing this results in the NPc having access to every item of prewar clothing with a condition of 75% meaning every 3 days they will change clothes 2: if we locked the container with a Key, we need to add the key to the NPc's inventory (or the container cannot be opened at all) 3: we need to add some caps, or they won't have any money image 14 and thats it, the NPC is set up however if you go talk to them, they won't offer to sell you anything, that needs to be done in the dialogue section which is Section 2 of this tutorial Link to comment Share on other sites More sharing options...
spammster Posted October 16, 2009 Author Share Posted October 16, 2009 Section 02 - Dialogue editing by now we have a working NPC with Items for sale, however they won't sell them to us and we're gonna change that now Dialogue is handled by Quests, and we need to create new ones for the interaction, so go to the Object window -> Actor Data -> Quest and right click -> New Fill in the following: QuestName & ID : type in what you want, preferably something that tells you what its good for Priority: 50 check: "Start Game Enabled" http://i38.tinypic.com/2w6xlys.jpg now before you do anything else, click on OK in the lower right, or the quest will not be saved (GECK bug) find your quest and right click -> Edit and go to the Topics Tab Quick Info about the Topics Tab:- on the left you add the dialogues- topic text is what YOU say to the NPC- below topic text is what the NPC says in response- the conditions field always have to be filled, and ref'd to the NPC or it won't be available for the NPC diualogue- Result Script (End) : here you enter commands if something is supposed to happen when they say it (like go into trading, give item, remove item etc.)- choices : here you select the order in which the dialogue is shown and connect them to each other on the left you have a white empty field, thats where we are going to add our Topics right click in that field and click on: Add Topic in the new popup window -> right click -> NEW -> give it a name like GREETING01 etc. (one can use the GREETING one that is already there, but that one is used by all NPC's ingame, so messing that one up messes up all conversations, better to make a new one for custom NPC's) However it is possible that creating a new greeting doesn't work (depending on fallout version and mods), in that case you have to use the original Greeting one, under NO circumstances should you change the conditions here !!!! changing the conditions here results in NO NPC in the entire game talking to you !! if you use the original GREETING, just add your choices and be done with it. now double click on the newly created one if it is not highlighted, left click on it and the top right will become white Topic Text: here type: "GREETING" (without the quotes) and on the far right: Priority: 55.00 below the topic text box we have a box that is not labeled, here goes the NPC's reply to us in the conditions tab, we link that reply to our newly created NPC just click right and select NEW, a popup will show up you only need to change one thing here under Function Parameters -> Invalid you change Invalid to your NPC (just click on Invalid and select your NPC from the drop down list) and thats all there is for this topic http://i36.tinypic.com/jpa4b7.jpg so lets get to the trading dialogue first create a new topic like you did with the greeting one lets call it NPCTrade01 in the topic text we enter something like: Show me what you have for salefor the NPC reply we go with something like: Sure thing now add the condition like before (Invalid -> NPCTrader01) and now for the actual bartering: in the Result Script (End) box we type the following: "showbartermenu" (without the "" instead of showbartermenu you can also use "sbm") ->> showbartermenu is the command for what else could it be: the bartermenu, once you confirm the NPC's reply, the buy/sell window shows up) http://i36.tinypic.com/14c4sxj.jpg now we're nearly done all thats missing is a goodbye message, so we can leave the dialogue create a new topic, lets call it zGOODBYE topic text: Goodbyereply: ByeConditions: GetisID NPCTrader01 and now one more thing, in the middle you find checkboxes, in the second row you have one called Goodbye check it (when you check it, the dialogue gets ended if you don't check it, the dialouge gets reset and you start with the greeting again) http://i38.tinypic.com/symut5.jpg now you have all the dialogues you need to trade with the NPc, only one thing is missing, you did not define how the 3 options are interconnected for this we have on the middle right a box called Choices what we do here is this: Greeting is ALWAYS the first dialogue cause it starts the conversation, now what you do is add the option to trade and the option to say goodbye in the choices field (you will when you engage a conversation then get 2 choices,them being: 1: Show me what you have for sale2: Goodbye (the order in which they appear in the game is defined by the order in which you place them in the choices tab, which is why i named the 3 options like I did (they are in the correct alphabetical order (01greet->NPCtrade->zGoodbye), this is not required, but can sometimes be a lifesaver, when the GECKbugs out and decides to sort them aplhabetically without you asking for it (resulting for instance in the goodbye option showing up before the trade option) http://i38.tinypic.com/mcrehf.jpg you need to set this up for all of the speechoptions except for goodbye (obviously this ends the conversations so you don't need choices here) for greetings you add: NPCTrade01 && zGOODBYEfor NPCTrade01 you add: zGOODBYE the greeting dialogue never needs to be added anywhere, since you wouldn't say hello to someone you're already talking to ;) once you done all this, you click in the lower left corner on OK and thats it now open up the reference window for your NPC (double click the NPC) and click on Edit Basein the window that opens you see a box called Dialogue in the center left, click on it a new window will open showing you all the dialogues there are, there will be more than you added, because some generics get added automatically, just leave them be (PLAYERFIREWEAPON etc., if you selected a generic voice for the NPC, these will have audio comments) to see if it all works out, go to the last tab called dialogue tree and check the dialogue if it all works out http://i34.tinypic.com/ouv894.jpg (this is what it should look like, in the last options you'll see G: Bye (the G: simply shows you that you checked the goodbye checkbox)) well thats it, if you find any typos you can keep em and just to finish this one up, here are 2 screenshots of it (resized to 640*480): Screenshot 1 Screenshot 2 Link to comment Share on other sites More sharing options...
Recommended Posts