Difference between revisions of "Adding items to vendors"
imported>Omzy |
imported>Evil4Zerggin |
||
Line 1: | Line 1: | ||
== How do I add items to an existing vendor's inventory? == | == How do I add items to an existing vendor's inventory? == | ||
To avoid incompatibilities with other mods, there are | To avoid incompatibilities with other mods, there are three ways of doing this: first, create a new container owned by the NPC; second, create a quest/script to add the items to the NPC's existing vendor container; third, create a quest/script to add the items to a vendor's leveled item list. | ||
You need to make sure that your NPC can buy/sell the type of items you're adding: this is done in the AI Data tab of the NPC's edit window. | You need to make sure that your NPC can buy/sell the type of items you're adding: this is done in the AI Data tab of the NPC's edit window. | ||
Line 36: | Line 36: | ||
* here's an example of the 'vendorChestReferenceID.additem itemEditorID count' line from the above script: | * here's an example of the 'vendorChestReferenceID.additem itemEditorID count' line from the above script: | ||
VendorChestBuriedGobREF.additem Jet 3 | VendorChestBuriedGobREF.additem Jet 3 | ||
=== Creating a quest/script to add the items to a vendor's leveled item list === | |||
This is the method used by the official DLCs. It uses the [[AddItemToLeveledList]] function. | |||
Do the same as the above, except: | |||
# (Optional) Put your item in [[LeveledItem]](s). | |||
# Make your script look like this instead: | |||
<pre>Scn yourQuestAddItemsScr | |||
Begin gameMode | |||
AddItemToLeveledList VendorItemList YourItemOrItemList level count condition; | |||
stopquest yourQuest | |||
End</pre> | |||
VendorAmmoBullets100 is an example of a good list to add to. | |||
==Notes== | ==Notes== |
Revision as of 20:41, 20 September 2011
How do I add items to an existing vendor's inventory?
To avoid incompatibilities with other mods, there are three ways of doing this: first, create a new container owned by the NPC; second, create a quest/script to add the items to the NPC's existing vendor container; third, create a quest/script to add the items to a vendor's leveled item list.
You need to make sure that your NPC can buy/sell the type of items you're adding: this is done in the AI Data tab of the NPC's edit window.
Creating a new container owned by the vendor
- in the Object Window, under World Objects > Container, double click on any of the VendorContainer* at the bottom of the list.
- give it a new Editor ID (first text field), and drag & drop the items you want your vendor to sell into the Item List on the right (deleting any items you don't want) and some caps if you want him to buy stuff from you (this is how you increase the amount of money a vendor has).
- check the Respawns option if you want it to respawn every 3 days, and click OK; when it asks you if you want to create a new Form, click Yes.
- in the Cell View window, double click on the VendorChestsCell, and drag & drop your new container from the Object Window into that cell in the Render Window.
- double click on your container in the Render Window, give it a Reference ID (yourNPCVendorChestRef), check a Persistent Reference box, and select the Ownership tab, and select your NPC from the drop down list.
- for new NPCs, you can also double click on the NPC in the Render Window and select the chest in the Merchant Container tab (this is probably already assigned for existing NPCs): select the VendorChestsCell in the first dropdown, then your chest reference (yourNPCVendorChestRef) in the second dropdown.
Creating a quest/script to add the items to the NPC's existing vendor container
- right-click on the container you want to add items to in the World Objects > Container window, and select Use Info.
- double click on the entry in the Used in these Cells list, which will select the container in the Render Window.
- double click on the container in the Render Window and copy the Reference ID to paste it in the script below.
- create a new quest naming it yourQuest.
- select Start Game Enabled option and give it a priority of 60 or above.
- click OK at the bottom right corner, then double click on yourQuest to open the window again.
- click on the ... button next to the Script dropdown menu.
- select Script > New in the Script Edit window and select Quest in the Script Type dropdown menu.
- type in the code below, editing the additem lines as needed, the click save and close the window.
- select the script from the dropdown menu in the Quest window after saving your script below.
Scn yourQuestAddItemsScr Begin gameMode vendorChestReferenceID.additem itemEditorID count stopquest yourQuest End
- here's an example of the 'vendorChestReferenceID.additem itemEditorID count' line from the above script:
VendorChestBuriedGobREF.additem Jet 3
Creating a quest/script to add the items to a vendor's leveled item list
This is the method used by the official DLCs. It uses the AddItemToLeveledList function.
Do the same as the above, except:
- (Optional) Put your item in LeveledItem(s).
- Make your script look like this instead:
Scn yourQuestAddItemsScr Begin gameMode AddItemToLeveledList VendorItemList YourItemOrItemList level count condition; stopquest yourQuest End
VendorAmmoBullets100 is an example of a good list to add to.
Notes
- If you want the new items to respawn along with the rest of the vendor's inventory, you'll want to place it in a new container. If you don't want it to respawn, then you can either place it in a non respawning container or add it to the original container by a script.
Possible Glitch
There is a cut off in bottle caps where the merchant will display buggy behavior and stop paying the PC for items. The Merchant will take the items but the PC will not receive the bottle caps. If the merchant has 32767 bottle caps they will behave correctly. However, if the merchant has 32768 bottle caps they will take the player's items but no bottle caps will be transferred to the player.