Jump to content

NPC Merchant & dialogue PIC tutorial


spammster

Recommended Posts

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 NPCTrader01F

Name: here you type in the Name that you will see ingame

Script: make sure its NONE (if you use a CGPreset this is NONE by default)

ActorBase: make sure its NONE

Race: this one should be selfexplanatory if you want a female one make sure the checkbox "Female" is checked

Height: 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 behaviour

here 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: NPCVendorFollowPlayerTrigger

nothing 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: MerchantContainer

it 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 NEW

it will be listed as Abraxo Cleaner

while 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 OK

you 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

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 sale

for 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: Goodbye

reply: Bye

Conditions: 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 sale

2: 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 GECK

bugs 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 && zGOODBYE

for 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 Base

in 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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...