Difference between revisions of "Variables"

From FreeSpace Wiki
Jump to: navigation, search
(Added info on variables in messages)
m
Line 1: Line 1:
Variables, implemented in retail FS2, can be a powerful FRED tool. FREDers use variables for the same two reasons that programmers do. One, they allow you to easily store pieces of information for later use, which can be modified and used to do cool things. Two, they let you avoid hard-coded or "magic" numbers for arguments that you use several times in your mission's events.
+
'''Variables''', implemented in retail FS2, can be a powerful FRED tool. [[FREDder]]s use variables for the same two reasons that programmers do. One, they allow you to easily store pieces of information for later use, which can be modified and used to do cool things. Two, they let you avoid hard-coded or "magic" numbers for arguments that you use several times in your mission's events.
  
Using variables is simple. You can use variables in place of any SEXP argument where you would normally use a string or number. Right-click on  the argument in the Events list and look at the three options at the bottom of the menu, '''Add Variable''', '''Modify Variable''', and '''Insert Variable'''. Click '''Add Variable''' to create a new variable. '''Modify Variable''' allows you to change a variable that you've already created. '''Insert Variable''' replace the currently selected SEXP argument with the variable of your choice.
+
Using variables is simple. You can use variables in place of any SEXP argument where you would normally use a string or number. Right-click on  the argument in the Events list and look at the three options at the bottom of the menu, '''Add Variable''', '''Modify Variable''', and '''Insert Variable'''. Click '''Add Variable''' to create a new variable. '''Modify Variable''' allows you to change a variable that you've already created. '''Insert Variable''' replaces the currently selected SEXP argument with the variable of your choice.
  
 
== Three Types of Variables ==
 
== Three Types of Variables ==
Line 11: Line 11:
 
'''Campaign-persistent:''' These persistent variables are stored in the campaign file, and are only stored when a campaign progresses to a new mission. So if the player is killed or quits during a mission, and changes made to a campaign-persistent variable are not stored.
 
'''Campaign-persistent:''' These persistent variables are stored in the campaign file, and are only stored when a campaign progresses to a new mission. So if the player is killed or quits during a mission, and changes made to a campaign-persistent variable are not stored.
  
'''Network-persistent''' variables are only relevent in a multiplayer game. They affect all players in the current game. ''Someone with multiplayer experience, please expand on this.''
+
'''Network-persistent''' variables are only relevant in a multiplayer game. They affect all players in the current game. ''Someone with multiplayer experience, please expand on this.''
  
 
== Variables and Messages ==
 
== Variables and Messages ==

Revision as of 19:27, 2 October 2008

Variables, implemented in retail FS2, can be a powerful FRED tool. FREDders use variables for the same two reasons that programmers do. One, they allow you to easily store pieces of information for later use, which can be modified and used to do cool things. Two, they let you avoid hard-coded or "magic" numbers for arguments that you use several times in your mission's events.

Using variables is simple. You can use variables in place of any SEXP argument where you would normally use a string or number. Right-click on the argument in the Events list and look at the three options at the bottom of the menu, Add Variable, Modify Variable, and Insert Variable. Click Add Variable to create a new variable. Modify Variable allows you to change a variable that you've already created. Insert Variable replaces the currently selected SEXP argument with the variable of your choice.

Three Types of Variables

There are three types of variables.

Player-persistent: This type of persistent variable is stored in the pilot file. Further, they are stored immediately when they are created/changed from within a mission. This means that any change is going to be there regardless of the later outcome of the mission. Player-persistent variables can be accessed and changed from any campaign played with the same pilot.

Campaign-persistent: These persistent variables are stored in the campaign file, and are only stored when a campaign progresses to a new mission. So if the player is killed or quits during a mission, and changes made to a campaign-persistent variable are not stored.

Network-persistent variables are only relevant in a multiplayer game. They affect all players in the current game. Someone with multiplayer experience, please expand on this.

Variables and Messages

Variables can also be used in messages. To do this, use the variable's name preceded by the '$' token (for example "$killcount"), and in-game this will be replaced with the value of the variable. It works for both numeric and string variables.

Links