User Tools

Site Tools


modding:tutorials:dialog-hail

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
modding:tutorials:dialog-hail [2021/05/07 18:28] – created jazzymodding:tutorials:dialog-hail [2021/05/07 22:39] (current) – [Wrap Up] jazzy
Line 25: Line 25:
 The default module-level dialog tree for a ship is set at the Module level in the Vessels menu. Inside a Vessel, you can set the default dialog tree in the NPC menu. This means that neutral and allied ships will pull from the Generic tree and the Daichi will pull from the Daichi tree. The default module-level dialog tree for a ship is set at the Module level in the Vessels menu. Inside a Vessel, you can set the default dialog tree in the NPC menu. This means that neutral and allied ships will pull from the Generic tree and the Daichi will pull from the Daichi tree.
  
-Inside these Module level trees there are several Dialog Groups. Every one should contain a Dialog Group named Main. The Main dialog group usually has no TEXT and multiple TOPICS. Main is what is triggered for an NPC at mission start. These are the base options for what you can send to an NPC when you run across them.+Inside these Module level trees there are several Dialog Groups. Each one should contain a Dialog Group named Main. The Main dialog group usually has no TEXT and multiple TOPICS. Main is what is triggered for an NPC at the mission start. These are the base options for what you can send to an NPC when you run across them.
  
 ===== 02: How Dialog & Object Settings are Loaded ===== ===== 02: How Dialog & Object Settings are Loaded =====
Line 33: Line 33:
 In your module, at the module level, you add a Dialog called Daichi. Since your module loads next, all Darts in your missions (not missions inside the Horizons module) will load up your version of the Daichi default dialog. In your module, at the module level, you add a Dialog called Daichi. Since your module loads next, all Darts in your missions (not missions inside the Horizons module) will load up your version of the Daichi default dialog.
  
-In your module, you edit the Map Objects to create an object called Dart Commander. It is a Dart so it is pulling the default Daichi dialog as outlined above. If your module has a Dialog Group called Main inside the Daichi dialog, those topics will be the hailing options for this Dart Commander. If you didn't include a Dialog Group called Main inside of your Diachi dialog, that specific dialog group will default to what is at the Horizons level.+In your module, you edit the Map Objects to create an object called Dart Commander ([[modding:tutorials:dialog-hail#wrap_up|why can't I find this option?]]). It is a Dart so it is pulling the default Daichi dialog as outlined above. If your module has a Dialog Group called Main inside the Daichi dialog, those topics will be the hailing options for this Dart Commander. If you didn't include a Dialog Group called Main inside of your Diachi dialog, that specific dialog group will default to what is at the Horizons level.
  
 Okay but this guy is a Dart Commander. You don't want his dialog to be the same as all other Daichi. Again, at the module level, you edit the Dart Commander Object. In the Dialog tab of the Edit Object menu, you press Add Dialog Group and name it Main. What happens at the mission start is that the Dart Commander initially loads Horizons/Daichi/Main, then it overrides that with YourModule/Daichi/Main, and then overrides that with YourModule/Objects/Dart Commander/Main. Okay but this guy is a Dart Commander. You don't want his dialog to be the same as all other Daichi. Again, at the module level, you edit the Dart Commander Object. In the Dialog tab of the Edit Object menu, you press Add Dialog Group and name it Main. What happens at the mission start is that the Dart Commander initially loads Horizons/Daichi/Main, then it overrides that with YourModule/Daichi/Main, and then overrides that with YourModule/Objects/Dart Commander/Main.
Line 47: Line 47:
  
 Well, this is cool. We want those missiles. Good mission design would require us to be informed about this opportunity before we can ask the Dart Commander about it. We create an object inside our mission that is the Dart Commander, same as the last example in the last section.  Well, this is cool. We want those missiles. Good mission design would require us to be informed about this opportunity before we can ask the Dart Commander about it. We create an object inside our mission that is the Dart Commander, same as the last example in the last section. 
 +
 +== The Dart Commander's Dialog Tree ==
 +{{:modding:tutorials:dart_commander.png?nolink&600|}}
  
 We DO NOT need to create a Main dialog group because inheriting the one at the YourModule level is just fine. Let's add a Dialog Group called "About Those Missiles" with a Topic that says "A friend told me that you may be able to help me get some missiles." Link that topic to the Dialog Group "Maybe" that we are creating next. We DO NOT need to create a Main dialog group because inheriting the one at the YourModule level is just fine. Let's add a Dialog Group called "About Those Missiles" with a Topic that says "A friend told me that you may be able to help me get some missiles." Link that topic to the Dialog Group "Maybe" that we are creating next.
  
 Create a Dialog Group called "Maybe" with text that reads, "I may be able to help you for 50 Raw Materials." topics of "We'll send some over." and "No Thanks", and an Action that enables an event titled "Dart Commander". You can link these to some fluff if you want but the [[modding:actions|ACTION]] is the important part here. Create a Dialog Group called "Maybe" with text that reads, "I may be able to help you for 50 Raw Materials." topics of "We'll send some over." and "No Thanks", and an Action that enables an event titled "Dart Commander". You can link these to some fluff if you want but the [[modding:actions|ACTION]] is the important part here.
 +{{ :modding:tutorials:dart_commander_dialog_action.png?nolink&300|}}
  
 Create a Dialog Group called "Pleasure Doing Business" with text that reads, "Thanks for the retirement funds. Send over a shuttle for your missiles." Create a Dialog Group called "Pleasure Doing Business" with text that reads, "Thanks for the retirement funds. Send over a shuttle for your missiles."
 +
 +{{:modding:tutorials:dart_commander_event.png?nolink&600|}}
 +== The Dart Commander's Event ==
  
 Make an [[modding:events|Event]] with a [[modding:conditions|Condition]] that if the Dart Commander has 50 Raw Materials two actions will fire the following three [[modding:actions|actions]]: Make an [[modding:events|Event]] with a [[modding:conditions|Condition]] that if the Dart Commander has 50 Raw Materials two actions will fire the following three [[modding:actions|actions]]:
Line 61: Line 68:
 ===== 04: Switching Hailing Topics Mid Mission - Part 2: The Trigger ===== ===== 04: Switching Hailing Topics Mid Mission - Part 2: The Trigger =====
 Now your Dart Commander has his custom tree...but when you hail him you will still see the Main topics that it is inheriting. We fix this in an Event Action or a Dialog Action. To keep this example going, let's edit the dialog for our Informat Object (yep, go create him too). Now your Dart Commander has his custom tree...but when you hail him you will still see the Main topics that it is inheriting. We fix this in an Event Action or a Dialog Action. To keep this example going, let's edit the dialog for our Informat Object (yep, go create him too).
 +
 +**The Informant's Dialog Tree**
 +{{:modding:tutorials:informant.png?nolink&600|}}
  
 Create a Dialog Group called "Main" with a topic that reads "What do you have for me?" and link it to "Something Big". Create a Dialog Group called "Main" with a topic that reads "What do you have for me?" and link it to "Something Big".
Line 68: Line 78:
 Create a Dialog Group called "I Know a Guy" with text that reads "I know someone who can help you out. An old Daichi Dart Commander who is trying to save for retirement. He is selling off their surplus missiles." and a topic that reads "Send the coordinates!" and link it to "Coordinates". Create a Dialog Group called "I Know a Guy" with text that reads "I know someone who can help you out. An old Daichi Dart Commander who is trying to save for retirement. He is selling off their surplus missiles." and a topic that reads "Send the coordinates!" and link it to "Coordinates".
  
 +{{:modding:tutorials:informants_dialog_actions.png?nolink&400 |}}
 Create a Dialog Group called "Coordinates" with text that reads "Done", a topic that reads "Horizons Out.", and a pair of ACTIONS that "SendTopic:Dart Commander:About Those Missiles" & "SetMissionWaypoint:PLACE:NAME". This will CHANGE the available hail the next time you are in the same system as the Dart Commander and set a waypoint to go meet it. Create a Dialog Group called "Coordinates" with text that reads "Done", a topic that reads "Horizons Out.", and a pair of ACTIONS that "SendTopic:Dart Commander:About Those Missiles" & "SetMissionWaypoint:PLACE:NAME". This will CHANGE the available hail the next time you are in the same system as the Dart Commander and set a waypoint to go meet it.
  
Line 73: Line 84:
 This one was pretty deep down the rabbit hole. While the examples add a lot of text to this tutorial, it is helpful to see how something like this can be used and the specifics of building it. This one was pretty deep down the rabbit hole. While the examples add a lot of text to this tutorial, it is helpful to see how something like this can be used and the specifics of building it.
  
-If you notice that you don'see Map Objects in the Module/Maps menu, that is because that isn't currently exposed. These objects are in the XML file though. Look in your .../Starship Horizons/Modules/Horizons/Maps/Milky Way.xml file in Notepad or Notepad++. Scroll past all of the enumerated star systems and check out the <objects> section. Here is where the default Comm Stations and Spacedock are spawned. Look at some Objects from one of the Horizons Base Missions (.../Starship Horizons/Modules/Horizons/Missions/...) to see how some of the object parameters are overridden. Hopefully, this will be exposed at the module level in the Designer soon.+== Why Can'I Find The Module/Map Level Objects? ==
  
-This is a lot. If you have questionscome ask them on the [[https://discord.gg/tM9NpqS|Discord Server]] or DM me on Discord @Jazzy#0858.+If you notice that you don't see Map Objects in the Module/Maps menuthat is because that isn't currently exposed. These objects are in the XML file though. Look in your .../Starship Horizons/Modules/Horizons/Maps/Milky Way.xml file in Notepad or [[https://notepad-plus-plus.org/|Notepad++]]. Scroll past all of the enumerated star systems and check out the <objects> section. Here is where the default Comm Stations and Spacedock are spawned. Look at some Objects from one of the Horizons Base Missions (.../Starship Horizons/Modules/Horizons/Missions/...) to see how some of the object parameters are overridden. Hopefully, this will be exposed at the module level in the Designer soon.
  
-Dialog Tutorials | [[modding:tutorials:dialog-sample|Tutorial: Creating a Sample Dialog Tree]] | [[modding:tutorials:dialog-hail|Creating Custom Hailing Dialog]] | Back to [[modding:tutorials|Tutorials]]+== Looking for Help or Advice? == 
 + 
 +This is a lot. If you have questions, come ask them on the [[https://discord.gg/tM9NpqS|Discord Server]] or DM me on Discord @Jazzy#0858. 
 +\\ \\  
 +Dialog Tutorials | [[modding:tutorials:dialog-sample|Creating a Sample Dialog Tree]] | [[modding:tutorials:dialog-hail|Creating Custom Hailing Dialog]] | Back to [[modding:tutorials|Tutorials]]
modding/tutorials/dialog-hail.1620412120.txt.gz · Last modified: 2021/05/07 18:28 by jazzy