Fallout 4

File information

Last updated

Original upload

Created by

Sagittarius22

Uploaded by

sagittarius22

Virus scan

Safe to use

About this mod

A framework which adds a voiced courier NPC to deliver stuff to the player.

Requirements
Permissions and credits
Donations
THE COURIER FRAMEWORK
Also available on Xbox One

What is it?

This mod adds a voiced Courier NPC who will travel the Commonwealth Wasteland to deliver letters and goods to the player. Other mods can "communicate" with this one to send items to the player, in an easy and user-friendly manner.

 How does it work?

Once the framework receives the right event, the Courier will appear at the next settlement you visit and deliver whatever the player is supposed to receive. The mod has greatly been inspired by Skyrim's courier system, as you might suspect.

When the Courier comes to you, you have four options, as per the traditional way of Fallout 4's dialogues:
  • Accept the delivery (and pay caps). If you don't have enough caps, the option will be "I don't have enough caps".
  • Ask a question
  • Not now
  • Refuse the delivery
After options 3 or 4, you can still go to the courier and change your mind.

As of version 2, modders can specify if a delivery is free of charges or not (default = player must pay for the delivery).

Modders documentation

Mods can use three different functions:

AddFormToContainer(Form f, int count = 1, bool isFree) ; adds a form (misc. object, book, ammo, weapon, etc.) to the Courier. You can specify how many copies of the item you want to deliver.

AddRefToContainer(objectReference ref, bool isFree) ; adds a specific reference (an item that exists in the world) to the Courier

AddAliasToContainer(ReferenceAlias a, bool isFree) ; adds a reference alias contained into a ReferenceAlias to the Courier

There is no need to use the framework's ESP as a master, you can simply call those functions by using the GetFormFromFile function. In the examples below, the script lines will look for the framework's Courier Quest and send the needed function:

Example 1:
((Game.GetFormFromFile(0x000F9E, "Courier.esp") as QUEST) as CourierFramework:CourierScript).AddFormToContainer(_SAG_Courier_LetterDemo)

Example 2:
((Game.GetFormFromFile(0x000F9E, "Courier.esp") as QUEST) as CourierFramework:CourierScript).AddRefToContainer(_SAG_Courier_LetterDemoRef)


Example 3:
((Game.GetFormFromFile(0x000F9E, "Courier.esp") as QUEST) as CourierFramework:CourierScript).AddAliasToContainer(_SAG_Courier_LetterDemoRefAlias)

Credits


  • Jacob Scherer - voice actor for the Courier. Please check his Youtube Channel!


  • Chris Lyon - french voice actor! Please check his TikTok profile:
       
  • Gilles "Sagittarius" Muller (me): scripting and implementation