Difference between revisions of "Messages.tbl"

From FreeSpace Wiki
Jump to: navigation, search
m (Revision fix)
(Updated Revision info, included Kara's #Message Frequencies stuff)
Line 1: Line 1:
{{TableVersion|5261}}
+
{{TableVersion|8905}}
  
  
Messages table is used to link actions, animations, and sounds of the messages received during the mission.
+
The messages.tbl is used to link actions, animations, and sounds of the messages received during the mission. Personas are used to group messages by the same talker, for example, all the Wingman 1 (Male Terran Pilot) messages go with a Wingman 1 persona.
  
==Format==
+
Each message is composed of a text macro, and optionally a head .ani and/or an audio macro.
*File begins with persona definitions in '''#Personas''' section
 
*All different personas are listed in this section which is immeaditely followed by '''#Messages''' section
 
*All actual messages are listed in this section
 
*Table ends with '''#End'''
 
  
 +
==General Format==
 +
The order of each #, $, and + entry in this wiki is the same as it must be in the messages.tbl<br>
 +
As with all .tbl's, the very last entry must be #End<br>
 +
<br>
  
==Personas==
+
 
*Used to define the different personas used for the messages
+
 
 +
==#Message Frequencies==
 +
{{Table3615|
 +
Optional Group. Defines how often and how many times during the campaign the messages should be shown.}}<br>
 +
 
 +
 
 +
===$Name:===
 +
{{Table3615|
 +
Required. Defines the message to augment.
 +
*Syntax: '''String'''
 +
*Available Values: See ...}}<br>
 +
 
 +
 
 +
===+Occurrence Chance:===
 +
{{Table3615|
 +
Optional. Defines the % chance this message will be played when the associated event occurs. For example, if you score a kill, and the '''+Occurren Chance:''' is 10 for a Praise message, then there is a 10% chance that you a Praise message will play.
 +
*Syntax: '''Integer'''
 +
*Available Values: '''Between 0 and 100'''}}<br>
 +
 
 +
===+Maximum Count:===
 +
{{Table3615|
 +
Optional. Defines the maximum number of times this message will be played during a given mission.
 +
*Syntax: '''Integer'''}}<br>
 +
 
 +
===+Minimum Delay:===
 +
{{Table3615|
 +
Optional. Defines the minimum delay time between being queue by the game and the time the message actually plays. (This helps simulate "organic" AI's)
 +
*Syntax: '''Integer''' in milliseconds}}<br>
 +
 
 +
 
 +
==#Personas==
 +
Required. The #Personas group is used to define the all of the personas used for the messages.<br>
  
  
 
===$Persona:===
 
===$Persona:===
*Defines the name of the persona
+
Required. Defines the name of the persona
*Syntax: '''String'''
+
*Syntax: '''String'''<br>
  
  
 
===$Type:===
 
===$Type:===
*Defines the type of the persona
+
Required. Defines the type of the persona
 +
*Syntax: '''String'''
 
*Available types:
 
*Available types:
**'''"wingman"'''
+
::'''wingman'''
**'''"support"'''
+
::'''support'''
**'''"large"'''
+
::'''large'''
**'''"command"'''
+
::'''command'''<br>
*Syntax: '''"String"'''
 
 
 
  
===+(Species)===
 
*Optional +Species (like '''+Vasudan''') can be used to assign personas to other than to the 'default' species
 
*Syntax: +'''String'''
 
  
 +
===+<Species>===
 +
Optional. The +<Species> (such as '''+Vasudan''') can be used to assign personas to other species. If omitted, the Persona is assigned to the '''default''' species.
 +
*Syntax: +'''String'''<br>
  
==Messages==
 
  
 +
==#Messages==
 +
Required. The #Messages group contains all available messages.<br>
  
 
===$Name:===
 
===$Name:===
*Defines the type of the message
+
Required. Defines the type of the message
 +
*Syntax: '''String'''
 
*Available types (types marked with '''*''' do not have code support) :
 
*Available types (types marked with '''*''' do not have code support) :
**'''"Arrive Enemy"'''
+
::'''Arrive Enemy'''
**'''"Attack Target"'''
+
::'''Attack Target'''
**'''"Beta Arrived"'''
+
::'''Beta Arrived'''
**'''"Check 6"'''
+
::'''Check 6'''
**'''"Engage"'''
+
::'''Engage'''
**'''"Gamma Arrived"'''
+
::'''Gamma Arrived'''
**'''"Help"'''
+
::'''Help'''
**'''"Praise"'''
+
::'''Praise'''
**'''"Backup"'''
+
::'''Backup'''
**'''"Ignore Target"'''
+
::'''Ignore Target'''
**'''"No"'''
+
::'''No'''
**'''"Oops 1"''' * (Only Command has code support in Retail)
+
::'''Oops 1''' * (Only Command has code support in Retail)
**'''"Permission"''' *
+
::'''Permission''' *
**'''"Stray"''' *
+
::'''Stray''' *
**'''"Depart"'''
+
::'''Depart'''
**'''"yes"'''
+
::'''yes'''
**'''"Rearm on Way"'''
+
::'''Rearm on Way'''
**'''"On way"'''
+
::'''On way'''
**'''"Rearm warping in"'''
+
::'''Rearm warping in'''
**'''"No Target"'''
+
::'''No Target'''
**'''"Docking Start"''' *
+
::'''Docking Start''' *
**'''"Repair Done"'''
+
::'''Repair Done'''
**'''"Repair Aborted"'''
+
::'''Repair Aborted'''
**'''"Traitor"'''
+
::'''Traitor'''
**'''"Rearm"'''
+
::'''Rearm'''
**'''"Disable Target"'''
+
::'''Disable Target'''
**'''"Disarm Target"'''
+
::'''Disarm Target'''
**'''"Player Dead"'''
+
::'''Player Dead'''
**'''"Death"'''
+
::'''Death'''
**'''"Support Killed"'''
+
::'''Support Killed'''
**'''"All Clear"''' *  
+
::'''All Clear''' *  
**'''"All Alone"'''
+
::'''All Alone'''
**'''"Repair"'''
+
::'''Repair'''
**'''"Delta Arrived"'''
+
::'''Delta Arrived'''
**'''"Epsilon Arrived"'''
+
::'''Epsilon Arrived'''
**'''"Instructor Hit"'''
+
::'''Instructor Hit'''
**'''"Instructor Attack"'''
+
::'''Instructor Attack'''
**'''"Stray Warning"'''
+
::'''Stray Warning'''
**'''"Stray Warning Final"'''
+
::'''Stray Warning Final'''
**'''"AWACS at 75"'''
+
::'''AWACS at 75'''
**'''"AWACS at 25"'''
+
::'''AWACS at 25'''
 
{{Table3611|
 
{{Table3611|
::*'''"Praise Self"'''  
+
::'''Praise Self'''  
::*'''"High Praise"'''
+
::'''High Praise'''
::*'''"Primaries Low"'''}}
+
::'''Primaries Low'''}}<br>
*Syntax: '''"String"'''
 
  
  
===$Message:===
+
===$Message: and $MessageNew:===
*Or '''''$MessageNew:'''''
+
Defines the message shown in game screen when the message is triggered. Value is a reference to [[tstrings.tbl]].<br>
*Defines the message shown in game screen when the message is triggered. Value is a reference to [[tstrings.tbl]].
+
'''$Message:''' is used for single-line messages, while '''$MessageNew:''' is used for multi-line messages (but can also be used for single-line messages)
*The use of '''$MessageNew:''' instead of older '''$Message:''' is recommended.
+
*'''$MessageNew:''' is preferred over '''$Message:'''
*Syntax: XSTR("'''string'''", '''integer''')
+
*Syntax: XSTR("'''string'''", '''integer''')<br>
  
  
 
===+Persona:===
 
===+Persona:===
*Defines the persona associated with the message
+
Optional. Defines the persona associated with the message
*Syntax: '''String'''
+
*Syntax:
 +
'''String'''<br>
 +
 
 +
===+AVI Name:===
 +
Optional. Determines the ANI file to be played when the message is triggered.
  
 +
In contrast to FREDded messages, the game does not attempt to use the file ''<string>''.ani in a persona message.  Instead, it picks one of ''<string>''a.ani, ''<string>''b.ani and ''<string>''c.ani each time.  So if you have defined ''+Avi Name: Head-Joe'', the game will attempt to use the files ''Head-Joea.ani'', ''Head-Joeb.ani'' and ''Head-Joec.ani''.  For wingmen personas, the ''c'' variant is assumed to be a death animation.
 +
*Syntax: '''String'''<br>
  
===+AVI Name:===
 
*Sets the ANI file that is played when the message is triggered.
 
*Syntax: '''String'''
 
*In contrast to FREDded messages, the game does not attempt to use the file ''<string>''.ani in a persona message.  Instead, it picks one of ''<string>''a.ani, ''<string>''b.ani and ''<string>''c.ani each time.  So if you have defined ''+Avi Name: Head-Joe'', the game will attempt to use the files ''Head-Joea.ani'', ''Head-Joeb.ani'' and ''Head-Joec.ani''.  For wingmen personas, the ''c'' variant is assumed to be a death animation.
 
  
 
===+Wave Name:===
 
===+Wave Name:===
*Sets the sounds file that is played when the message is triggered
+
Optional. Sets the sounds file that is played when the message is triggered
*Syntax: '''String'''
+
*Syntax: '''String'''<br>
  
  
 
==Sample==
 
==Sample==
*Part of the retail FreeSpace 2 table
+
This is a snippet of the retail FreeSpace 2 table, highlighting two major examples between a default (Terran) persona and a species (Vasudan) persona. Command, Support, and Large ship message examples are also included.
 
<pre>#Personas
 
<pre>#Personas
  
 
$Persona: Wingman 1    
 
$Persona: Wingman 1    
$Type: wingman
 
 
$Persona: Wingman 2
 
$Type: wingman
 
 
$Persona: Wingman 3
 
$Type: wingman
 
 
$Persona: Wingman 4
 
$Type: wingman
 
 
$Persona: Wingman 5
 
 
$Type: wingman
 
$Type: wingman
  
 
$Persona: Wingman 6
 
$Persona: Wingman 6
$Type: wingman
 
+Vasudan
 
 
$Persona: Wingman 7
 
 
$Type: wingman
 
$Type: wingman
 
+Vasudan
 
+Vasudan
Line 165: Line 182:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_allclear.wav
 
+Wave Name: 1_allclear.wav
 
$Name: All Clear
 
$Message: XSTR("All hostiles are down. Area secure.", 2726)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_allclear.wav
 
 
$Name: All Clear
 
$Message: XSTR("All clear, Command.", 2727)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_allclear.wav
 
 
$Name: All Clear
 
$Message: XSTR("Area is secure.", 2728)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_allclear.wav
 
 
$Name: All Clear
 
$Message: XSTR("Bandits neutralized. All clear.", 2729)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_allclear.wav
 
  
 
$Name: All Clear
 
$Name: All Clear
Line 195: Line 188:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_allclear.wav
 
+Wave Name: 6_allclear.wav
 
$Name: All Clear
 
$Message: XSTR("All hostile targets neutralized.", 2731)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_allclear.wav
 
  
 
;; ARRIVAL (Enemy) ...................................................................
 
;; ARRIVAL (Enemy) ...................................................................
Line 209: Line 196:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_arrival.wav
 
+Wave Name: 1_arrival.wav
 
$Name: Arrive Enemy
 
$Message: XSTR("Heads up! Enemy wing closing in!", 1078)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_arrival.wav
 
 
$Name: Arrive Enemy
 
$Message: XSTR("IFF confirmed! Hostiles inbound!", 2732)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_arrival.wav
 
 
$Name: Arrive Enemy
 
$Message: XSTR("Hostiles approaching fast!", 2733)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_arrival.wav
 
 
$Name: Arrive Enemy
 
$Message: XSTR("We've got company!", 1080)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_arrival.wav
 
  
 
$Name: Arrive Enemy
 
$Name: Arrive Enemy
Line 239: Line 202:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_arrival.wav
 
+Wave Name: 6_arrival.wav
 
$Name: Arrive Enemy
 
$Message: XSTR("Enemy wing inbound.", 2735)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_arrival.wav
 
  
 
$Name: Arrive Enemy
 
$Name: Arrive Enemy
Line 259: Line 216:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_attack.wav
 
+Wave Name: 1_attack.wav
 
$Name: Attack Target
 
$Message: XSTR("Yes, sir! We'll take em down!", 2738)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_attack.wav
 
 
$Name: Attack Target
 
$Message: XSTR("Breaking to attack.", 2739)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_attack.wav
 
 
$Name: Attack Target
 
$Message: XSTR("I've got em in my sights!", 2740)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_attack.wav
 
 
$Name: Attack Target
 
$Message: XSTR("Target acquired.", 2741)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_attack.wav
 
  
 
$Name: Attack Target
 
$Name: Attack Target
Line 289: Line 222:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_attack.wav
 
+Wave Name: 6_attack.wav
 
$Name: Attack Target
 
$Message: XSTR("Commencing attack on your target.", 2743)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_attack.wav
 
  
 
;; BACKUP ARRIVAL (previously named "REINFORCEMENTS") .........................................
 
;; BACKUP ARRIVAL (previously named "REINFORCEMENTS") .........................................
Line 303: Line 230:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_backup.wav
 
+Wave Name: 1_backup.wav
 
$Name: Backup
 
$Message: XSTR("Reinforcements here. Standing by for orders.", 2745)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_backup.wav
 
 
$Name: Backup
 
$Message: XSTR("Sir, reinforcements are now in position!", 2746)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_backup.wav
 
 
$Name: Backup
 
$Message: XSTR("The cavalry has arrived, sir.", 2747)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_backup.wav
 
 
$Name: Backup
 
$Message: XSTR("Reinforcements have arrived. Awaiting orders.", 2748)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_backup.wav
 
  
 
$Name: Backup
 
$Name: Backup
Line 333: Line 236:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_backup.wav
 
+Wave Name: 6_backup.wav
 
$Name: Backup
 
$Message: XSTR("We will reinforce your wing. Please transmit orders.", 2750)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_backup.wav
 
  
 
;; BETA WING ARRIVAL ..........................................................................
 
;; BETA WING ARRIVAL ..........................................................................
Line 347: Line 244:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_beta.wav
 
+Wave Name: 1_beta.wav
 
$Name: Beta Arrived
 
$Message: XSTR("This is Beta wing. What's your status?", 2752)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_beta.wav
 
 
$Name: Beta Arrived
 
$Message: XSTR("Beta wing now in position.", 2753)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_beta.wav
 
 
$Name: Beta Arrived
 
$Message: XSTR("Beta wing has arrived. Awaiting orders.", 2754)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_beta.wav
 
 
$Name: Beta Arrived
 
$Message: XSTR("Beta wing here. We're now in system, Command!", 2755)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_beta.wav
 
  
 
$Name: Beta Arrived
 
$Name: Beta Arrived
Line 377: Line 250:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_beta.wav
 
+Wave Name: 6_beta.wav
 
$Name: Beta Arrived
 
$Message: XSTR("This is Beta wing. Standing by for orders.", 2757)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_beta.wav
 
  
 
;; CHECK YOUR SIX .............................................................................
 
;; CHECK YOUR SIX .............................................................................
Line 391: Line 258:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_Check6.wav
 
+Wave Name: 1_Check6.wav
 
$Name: Check 6
 
$Message: XSTR("Bandit on your tail!", 2759)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_Check6.wav
 
 
$Name: Check 6
 
$Message: XSTR("Watch your back, pilot!", 2760)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_Check6.wav
 
 
$Name: Check 6
 
$Message: XSTR("Behind you, pilot!", 2761)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_Check6.wav
 
 
$Name: Check 6
 
$Message: XSTR("On your six! On your six!", 2762)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_Check6.wav
 
  
 
$Name: Check 6
 
$Name: Check 6
Line 421: Line 264:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_Check6.wav
 
+Wave Name: 6_Check6.wav
 
$Name: Check 6
 
$Message: XSTR("Bandit at six o'clock!", 2764)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_Check6.wav
 
  
 
;; DEATH (previously wingman scream)...................................................
 
;; DEATH (previously wingman scream)...................................................
Line 435: Line 272:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_Death.wav
 
+Wave Name: 1_Death.wav
 
$Name: Death
 
$Message: XSTR("Aaaaaaaah!!!", 2766)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_Death.wav
 
 
$Name: Death
 
$Message: XSTR("Help me!!!", 2767)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_Death.wav
 
 
$Name: Death
 
$Message: XSTR("Mayday! Mayday!", 2768)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_Death.wav
 
 
$Name: Death
 
$Message: XSTR("I'm going down! I'm going down!", 2769)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_Death.wav
 
  
 
$Name: Death
 
$Name: Death
Line 465: Line 278:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_Death.wav
 
+Wave Name: 6_Death.wav
 
$Name: Death
 
$Message: XSTR("Long live the Emperor!", 2771)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_Death.wav
 
  
 
;; DELTA WING ARRIVAL .........................................................................
 
;; DELTA WING ARRIVAL .........................................................................
Line 479: Line 286:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_Delta.wav
 
+Wave Name: 1_Delta.wav
 
$Name: Delta Arrived
 
$Message: XSTR("Delta wing now in position.", 2773)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_Delta.wav
 
 
$Name: Delta Arrived
 
$Message: XSTR("Delta wing now on station. Awaiting orders.", 2774)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_Delta.wav
 
 
$Name: Delta Arrived
 
$Message: XSTR("This is Delta wing. Give us a target, sir!", 2775)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_Delta.wav
 
 
$Name: Delta Arrived
 
$Message: XSTR("Delta wing here. Standing by.", 2776)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_Delta.wav
 
  
 
$Name: Delta Arrived
 
$Name: Delta Arrived
Line 509: Line 292:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_Delta.wav
 
+Wave Name: 6_Delta.wav
 
$Name: Delta Arrived
 
$Message: XSTR("This is Delta wing. What is your command?", 2778)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_Delta.wav
 
  
 
;; DEPART (previously named "WARPOUT") ........................................................
 
;; DEPART (previously named "WARPOUT") ........................................................
Line 523: Line 300:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_depart.wav
 
+Wave Name: 1_depart.wav
 
$Name: Depart
 
$Message: XSTR("You don't have to tell me twice!", 2780)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_depart.wav
 
 
$Name: Depart
 
$Message: XSTR("Roger that, sir. See you back home.", 2781)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_depart.wav
 
 
$Name: Depart
 
$Message: XSTR("Right away, sir. Jump drive engaged.", 2782)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_depart.wav
 
 
$Name: Depart
 
$Message: XSTR("Acknowledged. Returning to base now.", 2783)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_depart.wav
 
  
 
$Name: Depart
 
$Name: Depart
Line 553: Line 306:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_depart.wav
 
+Wave Name: 6_depart.wav
 
$Name: Depart
 
$Message: XSTR("Returning to base.", 2785)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_depart.wav
 
  
 
$Name: Depart
 
$Name: Depart
Line 585: Line 332:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_Disable.wav  
 
+Wave Name: 1_Disable.wav  
 
$Name: Disable Target
 
$Message: XSTR("Yes, sir! Targeting engines now!", 2790)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_Disable.wav
 
 
$Name: Disable Target
 
$Message: XSTR("Acquiring lock on engines.", 2791)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_Disable.wav
 
 
$Name: Disable Target
 
$Message: XSTR("I copy that. Disabling your target now.", 2792)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_Disable.wav
 
 
$Name: Disable Target
 
$Message: XSTR("Roger that. We'll knock out those engines for you, sir!", 2793)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_Disable.wav
 
  
 
$Name: Disable Target
 
$Name: Disable Target
Line 615: Line 338:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_Disable.wav
 
+Wave Name: 6_Disable.wav
 
$Name: Disable Target
 
$Message: XSTR("Acknowledged. Engine subsystem targeted.", 2795)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_Disable.wav
 
  
 
;; DISARM TARGET ..............................................................................
 
;; DISARM TARGET ..............................................................................
Line 629: Line 346:
 
+Avi Name: Head-TP1
 
+Avi Name: Head-TP1
 
+Wave Name: 1_Disarm.wav  
 
+Wave Name: 1_Disarm.wav  
 
$Name: Disarm Target
 
$Message: XSTR("Target data received. Acquiring lock.", 2797)
 
+Persona: Wingman 2
 
+Avi Name: Head-TP5
 
+Wave Name: 2_Disarm.wav
 
 
$Name: Disarm Target
 
$Message: XSTR("I copy, sir. Disarming your target.", 2798)
 
+Persona: Wingman 3
 
+Avi Name: Head-TP6
 
+Wave Name: 3_Disarm.wav
 
 
$Name: Disarm Target
 
$Message: XSTR("I'm on it.", 2799)
 
+Persona: Wingman 4
 
+Avi Name: Head-TP7
 
+Wave Name: 4_Disarm.wav
 
 
$Name: Disarm Target
 
$Message: XSTR("Roger that, sir. Disarming target now.", 2800)
 
+Persona: Wingman 5
 
+Avi Name: Head-TP8
 
+Wave Name: 5_Disarm.wav
 
  
 
$Name: Disarm Target
 
$Name: Disarm Target
Line 659: Line 352:
 
+Avi Name: Head-VP1
 
+Avi Name: Head-VP1
 
+Wave Name: 6_Disarm.wav  
 
+Wave Name: 6_Disarm.wav  
 
$Name: Disarm Target
 
$Message: XSTR("I copy. Neutralizing weapons.", 2802)
 
+Persona: Wingman 7
 
+Avi Name: Head-VP2
 
+Wave Name: 7_Disarm.wav
 
  
 
#End</pre>
 
#End</pre>
 
[[Category:Tables]]
 
[[Category:Tables]]

Revision as of 18:16, 25 June 2012

Revision information.....

FSO Revision: 8905
Note: Please update the version when the page is updated. If your edit had nothing to do with new code entries then please do not edit the version



The messages.tbl is used to link actions, animations, and sounds of the messages received during the mission. Personas are used to group messages by the same talker, for example, all the Wingman 1 (Male Terran Pilot) messages go with a Wingman 1 persona.

Each message is composed of a text macro, and optionally a head .ani and/or an audio macro.

General Format

The order of each #, $, and + entry in this wiki is the same as it must be in the messages.tbl
As with all .tbl's, the very last entry must be #End


#Message Frequencies

FS2 Open, 3.6.16: Optional Group. Defines how often and how many times during the campaign the messages should be shown.



$Name:

FS2 Open, 3.6.16:

Required. Defines the message to augment.

  • Syntax: String
  • Available Values: See ...



+Occurrence Chance:

FS2 Open, 3.6.16:

Optional. Defines the % chance this message will be played when the associated event occurs. For example, if you score a kill, and the +Occurren Chance: is 10 for a Praise message, then there is a 10% chance that you a Praise message will play.

  • Syntax: Integer
  • Available Values: Between 0 and 100


+Maximum Count:

FS2 Open, 3.6.16:

Optional. Defines the maximum number of times this message will be played during a given mission.

  • Syntax: Integer


+Minimum Delay:

FS2 Open, 3.6.16:

Optional. Defines the minimum delay time between being queue by the game and the time the message actually plays. (This helps simulate "organic" AI's)

  • Syntax: Integer in milliseconds



#Personas

Required. The #Personas group is used to define the all of the personas used for the messages.


$Persona:

Required. Defines the name of the persona

  • Syntax: String


$Type:

Required. Defines the type of the persona

  • Syntax: String
  • Available types:
wingman
support
large
command


+<Species>

Optional. The +<Species> (such as +Vasudan) can be used to assign personas to other species. If omitted, the Persona is assigned to the default species.

  • Syntax: +String


#Messages

Required. The #Messages group contains all available messages.

$Name:

Required. Defines the type of the message

  • Syntax: String
  • Available types (types marked with * do not have code support) :
Arrive Enemy
Attack Target
Beta Arrived
Check 6
Engage
Gamma Arrived
Help
Praise
Backup
Ignore Target
No
Oops 1 * (Only Command has code support in Retail)
Permission *
Stray *
Depart
yes
Rearm on Way
On way
Rearm warping in
No Target
Docking Start *
Repair Done
Repair Aborted
Traitor
Rearm
Disable Target
Disarm Target
Player Dead
Death
Support Killed
All Clear *
All Alone
Repair
Delta Arrived
Epsilon Arrived
Instructor Hit
Instructor Attack
Stray Warning
Stray Warning Final
AWACS at 75
AWACS at 25
FS2 Open, 3.6.12:
Praise Self
High Praise
Primaries Low



$Message: and $MessageNew:

Defines the message shown in game screen when the message is triggered. Value is a reference to tstrings.tbl.
$Message: is used for single-line messages, while $MessageNew: is used for multi-line messages (but can also be used for single-line messages)

  • $MessageNew: is preferred over $Message:
  • Syntax: XSTR("string", integer)


+Persona:

Optional. Defines the persona associated with the message

  • Syntax:
String

+AVI Name:

Optional. Determines the ANI file to be played when the message is triggered.

In contrast to FREDded messages, the game does not attempt to use the file <string>.ani in a persona message. Instead, it picks one of <string>a.ani, <string>b.ani and <string>c.ani each time. So if you have defined +Avi Name: Head-Joe, the game will attempt to use the files Head-Joea.ani, Head-Joeb.ani and Head-Joec.ani. For wingmen personas, the c variant is assumed to be a death animation.

  • Syntax: String


+Wave Name:

Optional. Sets the sounds file that is played when the message is triggered

  • Syntax: String


Sample

This is a snippet of the retail FreeSpace 2 table, highlighting two major examples between a default (Terran) persona and a species (Vasudan) persona. Command, Support, and Large ship message examples are also included.

#Personas

$Persona: Wingman 1	  
$Type: wingman

$Persona: Wingman 6
$Type: wingman
+Vasudan

$Persona: Support Ship
$Type: support

$Persona: Support Ship Vasudan
$Type: support
+Vasudan

$Persona: Large Ship
$Type: large

$Persona: Large Ship Vasudan
$Type: large
+Vasudan

$Persona: Terran Command
$Type: Command

#Messages


;; ALL CLEAR ..................................................................................

$Name: All Clear
$Message: XSTR("Command, we have secured the area.", 2725)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_allclear.wav

$Name: All Clear
$Message: XSTR("All enemy forces negated.", 2730)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_allclear.wav

;; ARRIVAL (Enemy) ...................................................................

$Name: Arrive Enemy
$Message: XSTR("Bandits incoming!", 1079)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_arrival.wav

$Name: Arrive Enemy
$Message: XSTR("Reading hostile indicators.", 2734)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_arrival.wav

$Name: Arrive Enemy
$Message: XSTR("Incoming jump signature! Hostile configuration!", 2736)
+Persona: Terran Command
+Avi Name: Head-CM2
+Wave Name: TC_arrival.wav

;; ATTACK MY TARGET ...........................................................................

$Name: Attack Target
$Message: XSTR("Roger that, sir. Engaging your target.", 2737)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_attack.wav

$Name: Attack Target
$Message: XSTR("Affirmative. We will destroy your target.", 2742)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_attack.wav

;; BACKUP ARRIVAL (previously named "REINFORCEMENTS") .........................................

$Name: Backup
$Message: XSTR("Reinforcements on station. Request status brief.", 2744)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_backup.wav

$Name: Backup
$Message: XSTR("We are here to assist. What is your status?", 2749)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_backup.wav

;; BETA WING ARRIVAL ..........................................................................

$Name: Beta Arrived
$Message: XSTR("Beta wing here. Standing by.", 2751)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_beta.wav

$Name: Beta Arrived
$Message: XSTR("Beta wing is on station.", 2756)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_beta.wav

;; CHECK YOUR SIX .............................................................................

$Name: Check 6
$Message: XSTR("Check your six!", 2758)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_Check6.wav

$Name: Check 6
$Message: XSTR("Take evasive action, pilot!", 2763)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_Check6.wav

;; DEATH (previously wingman scream)...................................................

$Name: Death
$Message: XSTR("Noooooooo!!!", 2765)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_Death.wav

$Name: Death
$Message: XSTR("Avenge me!", 2770)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_Death.wav

;; DELTA WING ARRIVAL .........................................................................

$Name: Delta Arrived
$Message: XSTR("This is Delta wing. What's your status?", 2772)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_Delta.wav

$Name: Delta Arrived
$Message: XSTR("Delta wing is ready to assist, pilot.", 2777)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_Delta.wav

;; DEPART (previously named "WARPOUT") ........................................................

$Name: Depart
$Message: XSTR("Yes, sir! I'm outta here!", 2779)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_depart.wav

$Name: Depart
$Message: XSTR("We are departing as ordered.", 2784)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_depart.wav

$Name: Depart
$Message: XSTR("I copy. Engaging jump drive now.", 2786)
+Persona: Support Ship
+Avi Name: Head-TP3
+Wave Name: S_depart.wav

$Name: Depart
$Message: XSTR("Departing field of engagement.", 2787)
+Persona: Support Ship Vasudan
+Avi Name: Head-VP2
+Wave Name: VS_depart.wav

$Name: Depart
$Message: XSTR("We are departing as ordered.", 2788)
+Persona: Large Ship Vasudan
+Avi Name: Head-VP1
+Wave Name: 6_depart.wav

;; DISABLE TARGET .............................................................................

$Name: Disable Target
$Message: XSTR("Roger that, sir. Disabling your target.", 2789)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_Disable.wav 

$Name: Disable Target
$Message: XSTR("Affirmative. Disabling your target.", 2794)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_Disable.wav

;; DISARM TARGET ..............................................................................

$Name: Disarm Target
$Message: XSTR("Yes, sir! Targeting weapons now!", 2796)
+Persona: Wingman 1
+Avi Name: Head-TP1
+Wave Name: 1_Disarm.wav 

$Name: Disarm Target
$Message: XSTR("Acknowledged. Weapon subsystem targeted. ", 2801)
+Persona: Wingman 6
+Avi Name: Head-VP1
+Wave Name: 6_Disarm.wav 

#End