GDF3 File and Data Specifications for GCA4
Root FileSpec Page |
GCA Site Home | Docs & Help Page |
Directives are a kind of internal command that is processed when GCA adds an item to the character. Until the item is added to the character, the directive does nothing. Directives always begin with the # sign, so they will often be referred to as #directives.
Not yet done:
#EditThe documentation below uses templates to demonstrate the structure of the various #directives. The templates are meant to provide a quick way to see how the directives may be formatted. Trying to do this, however, is not always easy, and we have made some formatting decisions that may take some getting used to. So here's an explanation of how things work.
monospaced font.
#BuildIt |
|
Description: |
This directive prompts GCA to offer the user the Mods window, with which they can build the version of the added item they intend to use. |
Template: |
|
Detail: |
This directive has no options, and therefore has no parentheses or available tags. |
Results: |
The Mods window will be displayed to the user, and the Mods selected applied to the item being added to the character. This directive will be removed from the item and will not appear on the item as added to the character. |
#BuildList |
|
Description: |
This directive allows you to create a list with custom text options, building up from a list output by another directive or entered directly. |
Template: |
|
Detail: |
List() is where you specify the comma-separated list of items to be used when building the output list. Any item that includes commas must must be enclosed within quotes or curly {} braces. If an item includes quotes, you should enclose it in braces instead of more quotes. If you use braces, GCA will not attempt to also remove any quotes or doubled quotes. Template() allows you to specify the appearance of the text for each item created in the output list. Every item in the list will be output to match the template, with the special variable |
Examples: | |
Example 1: |
This example will create a list that looks like this:
Note that the %ListItem% was exactly replaced by each item in the list to create the new list. |
Example 2: |
This example will create a list that looks like this:
Note that the %ListItem% was exactly replaced by each item in the list to create the new list, and that the quotes are preserved from the template. |
Results: |
The directive will be removed, and will not appear in the item as added to the character. A new list will be put into the position of the #BuildList directive. That list will be a comma separated list of items, each item having the appearance specified in the |
#Choice |
|
Description: |
This directive allows you to provide the user with a list of options, and to obtain the one they pick. This is intended to be a quicker means of getting a simple, single choice from the user than #ChoiceList. |
Template: |
|
Detail: |
This directive takes a comma separated list of items. If you also want to provide the user with costs for the items, you need to use the optional cost assignment, which is done by including the cost for each item after an equals sign following the item text. The costs are not used for making the selection; they would be included for reference only, or if you needed the cost for the selected item later. Only a single item can be selected by the user. The items in the list may be surrounded by quotes, as shown in the template, or by curly {} braces. You must use one or the other if the item includes commas or equals signs. Use the curly braces instead of the quotes if the item contains quotes, or even if you simply prefer them. Note that if you do use the braces, GCA will not attempt to remove any quotes or doubled-qoutes from the item names. Remember that in either case, the cost assignment would come outside the quotes or braces. Here's an example of the template using braces instead of quotes:
|
Result Variables: |
|
Detail: |
Result variables are what GCA looks for in order to insert the results of the user's selection back into the item. Any one or more of the options shown may be used. The variable name itself will be replaced by the appropriate result. If The Note that the results placed into the variables by GCA will not include quotes. |
Results: |
This directive will be removed, and will not appear in the item as added to the character. Choices made by the user will be placed into the appropriate variables at the location of the variable, and the results of that substitution will be visible in the item as added to the character. |
#ChoiceList |
|
Description: |
This directive allows you to provide the user with a list of options to choose from, and to specify how many of the items you want the user to choose. The results of the choice are then made available through a selection of result variables. |
Template: |
|
Detail: |
List() allows you to specify the list of options being provided to the user. At its simplest, this is just a comma separated list of items. If you also want to provide the user with costs for the items, you need to use the optional cost assignment, which is done by including the cost for each item after an equals sign following the item text. The items in the list() may be surrounded by quotes, as shown in the template, or by curly {} braces. You must use one or the other if the item includes commas or equals signs. Use the curly braces instead of the quotes if the item contains quotes, or even if you simply prefer them. Note that if you do use the braces, GCA will not attempt to remove any quotes or doubled-qoutes from the item names. Remember that in either case, the cost assignment would come outside the quotes or braces. Here's an example of the template using braces instead of quotes:
The optional |
Tag List Option Templates: |
The following tags, and their related data, are all available for use within the optional tag list section, as indicated above with the
|
Detail: |
AliasList() allows you to specify a second list of options, which is *not* presented to the user. This list is formatted just as the list() tag items are, except it does not allow for cost assigments. Using AliasList() allows you to provide the user with simple choices and any costs associated with the choices, but also to have a more complex group of choices to use for other purposes if necessary. As with list(), items must be enclosed in either quotes or curly {} braces if they include commas, and if they include quotes, the braces are required. Here's an example of the AliasList() template using braces instead of quotes:
Name() allows you to specify a name for this instance of the #choicelist directive. If you specify a name, then GCA will look for that name instead of the word Title() allows you to specify the name of the window displayed to the user. Do not enclose the title in quotes. Text() allows you to specify some caption text that will help prompt the user as to what to do when the window full of options appears. You may enclose the text in quotes if you wish, but GCA will not remove the quotes. Default() allows you to specify the items, if any, selected by default when the window appears. This is a list of one or more numbers, separated by commas, where each number corresponds to the position of an item provided in the list(). No items are selected by default. PicksAllowed() allows you to specify the number of options the user should select. Optionally, you may use: TotalCost() allows you to specify the total number of points worth of items the user should select. Optionally, you may use: Method() allows you to specify the exact method used to pick items, whether it should be based on the number of items ( |
Examples: | |
Example 1: |
This is pretty much as simple as you can get. This will provide a list with three options to the user. |
Example 2: |
This is like Example 1, except that now we've included costs for each item. When the items are displayed to the user, they will also see the cost for each item. |
Result Variables: |
|
Detail: |
Result variables are what GCA looks for in order to insert the results of the user's selection back into the item. Any one or more of the options shown may be used. The variable name itself will be replaced by the appropriate result. If The variables with The last three result variables listed are the 'not list' result variables. These work similarly to the other list variables, except they return the lists of items *not* chosen by the user. If the user has specified a name using the name() tag, then the name will be used instead of the word Note that the results placed into the variables by GCA will not include quotes or curly {} braces. |
Results: |
This directive will be removed, and will not appear in the item as added to the character. Choices made by the user will be placed into the appropriate variables at the location of the variable, and the results of that substitution will be visible in the item as added to the character. |
#GroupList |
|
Description: |
This directive allows you to include a list of items based on an existing Group. By default, the name of the items obtained from the group will include the prefix tag. |
Template: |
|
Detail: |
The The optional |
Tag List Option Templates: |
The following tags, and their related data, are all available for use within the optional tag list section, as indicated above with the
|
Detail: |
Append() allows you to include a bit of text that will be added to the end of each item from the group. Do not enclose the append text in quotes, although you may use quotes as part of the append text if you wish. Prepend() allows you to include a bit of text that will be added to the front of each item from the group. Do not enclose the prepend text in quotes, although you may use quotes as part of the prepend text if you wish. Flags() allows you to include flags that alter the behavior of the list generation. One or more flags may be included in the The flags that may be used in the
|
Results: |
This directive will be removed, and will not appear in the item as added to the character. This directive will be replaced by the comma separated list created by the directive, and only the list will appear in the item added to the character. |
#List |
|
Description: |
This directive allows you to include a list of items based on an existing List. Unlike with GroupList, which is based on Groups, List items don't have prefix tags, so there's no option concerning them in #List. |
Template: |
|
Detail: |
The The optional |
Tag List Option Templates: |
The following tags, and their related data, are all available for use within the optional tag list section, as indicated above with the
|
Detail: |
Append() allows you to include a bit of text that will be added to the end of each item from the list. Do not enclose the append text in quotes, although you may use quotes as part of the append text if you wish. Prepend() allows you to include a bit of text that will be added to the front of each item from the list. Do not enclose the prepend text in quotes, although you may use quotes as part of the prepend text if you wish. Flags() allows you to include flags that alter the behavior of the list generation. One or more flags may be included in the The flags that may be used in the
|
Results: |
This directive will be removed, and will not appear in the item as added to the character. This directive will be replaced by the comma separated list created by the directive, and only the list will appear in the item added to the character. |
#Message |
|
Description: |
This directive allows you to create a message that will be displayed to the user when the item containing it is added to the character. |
Template: |
|
Detail: |
The The optional |
Results: |
A message will be displayed to the user. This directive will be removed, and will not appear in the item as added to the character. |