If you renamed or delete that folder, your settings will return to their defaults.
This will override the corresponding 2da in the zip file when playing the game.
2da stands for "2 dimensional array". 2da files can be edited in any text editor. They are "whitespace"
delimited, not comma delimited, so care should be taken when attempting to edit w/ Excel.
For specific technical information on the file format of 2da files, see the official documentation located here:
Click Here
If you make changes and are not seeing results, it may be because there is a file in the Override
directory that is trumping your changes. You should clean out your Override directory periodically.
Holding down CTRL+SHIFT and right-dragging will roll the camera.
SCRIPTING
How do I get something to happen after the Party has killed certain creatures?
Set a local string variable called �DeathScript� on the creature whose death you want to cause a script to
fire. (The standard on death script has been modified to help accommodate this.)
When the creature dies, this script will be called from that creature�s normal OnDeath script. So say you
want a trigger to spawn in 2 baddies that will run to the player, and will have a script �12_b_gith_inn_de�
that executes when they die.
You could do the following in the trigger�s
NWScript
You do not need to modify these creatures� standard OnDeath scripts in order to get this script to work.
Typically, you will want the death script to run when a group of creatures is killed. The way to do this is
keep track of the number of creatures killed. If that number equals the number of creatures in the group,
then you execute your special �group is dead� code.
NWScript
So in the above example, you would have set each critter in the group�s DeathScript variable to each
run the above script on death. The 5th time that script is triggered, whatever code you have within that �if�
statement will be executed � all 5 critters are dead.
Note: If you need to get the PC in the death script, the best way in this situation is:
NWScript
How do I make a trigger only occur for a PC and only once?
There are functions in ginc_misc that make this a little easier. What you want to do is put your conditions at
the top that will exit out of the trigger. At the bottom, be sure to mark your trigger as having completed.
The following code can be used as a template:
NWScript
How do I force a character into the party?
At this point in time we don�t have a GUI for this, and so it has to be done within a conversation. You�ll need
to use three main global scripts:
gc_max_companion() is a conditional that you would apply to a node to see whether the party has
already reached the maximum number of companions, and hence would require forcing a companion out of
the party in order to force in a different companion.
ga_replace_comp(string sCompToRemove, string sCompToAdd) is an action that will replace the
companion with tag sCompToRemove with the companion with that sCompToAdd. Don�t forget that CNPC
tags are all lowercase now.
gc_comp_remove(string sCompanion) checks whether it�s okay to remove the companion with tag
sCompanion from the party. If they�re not in the party, or if they have an integer variable on them �bForced�
set to TRUE, then this function will return FALSE � the player shouldn�t have the option to remove them.
As long as you want the character to be forced into the party, they should have a local int on them
�bForced� set to TRUE. Once they�re no longer required, reset it to FALSE.
So, as an example, say that the maximal number of companions was 2, and that the PC already has
Neeshka and Grobnar in his party, but Khelgar needs to be forced in because the PC has just entered an area
that�s important for Khelgar�s development. You�d just make sure that a conversation initiates upon entering
that area with Khelgar, and you need the end of that conversation to work like this:
(khelgar) "Blah blah I�m joining your party and you have to deal with it because I�m a racially
stereotypical stubborn dwarf."
->if AND gc_max_companion()
AND gc_comp_remove(neeshka) �[Remove Neeshka from the party]�
->ga_replace_comp(neeshka, khelgar)
->if AND gc_max_companion()
AND gc_comp_remove(grobnar) �[Remove Grobnar from the party]�
->ga_replace_comp(grobnar, khelgar)
->else �[END DIALOGUE]� ga_add_companion(khelgar)
(The �if� and �else� above are just there to denote how the conditional should flow.)
As a shortcut, you may want to have a blue node with no text that checks gc_max_companion, and
then blue nodes beneath that that node check gc_comp_remove for each companion � since you�ve
guaranteed that each of those nodes has passed the gc_max_companion check, you don�t have to make that
check again at every node.
You may also need another action to get rid of the removed CNPC and send them to the Sunken Flagon
or wherever. ga_force_exit() comes to mind. That was left out of ga_replace_comp() to allow for special
cases where you wouldn�t want removed players to exit.
My encounter creatures aren�t wondering around. How can I fix this?
Make sure your spawn script has the following:
NWScript
How do I make a group run a custom script On Death?
The group on death scripts utilizes nw_c2_default7's alternate death script execution. (e.g. if an alternate
"DeathScript" is specified, execute it.)
Set up the death script execution for the group, like so:
GroupSetLocalString (sGroupName, "DeathScript", "");
The script naming convention is: NWScript
to indicate it is a group death script
For example:
35_g_death_trig_enc
Now, as each member of your group dies, it will call the specified script.
Next, create the group death script. Use the template "gg_death_XXX" in the scripttemplates directory in
source safe. It will look something like this: NWScript
Simply add your code in the if statement above.
How is the faction editor spreadsheet read?
It should be read the same as in the faction editor from the original toolset. Each row represents a faction's
feelings about the other faction. In other words, faction ROW's rating of faction COLUMN is located in
[ROW, COLUMN]. In the example below, CellarDwellers are hostile to Police (rating 10), but Police rate
CellarDwellers as neutral (40).
# CellarDwellers Police
CellarDwellers 50 10
Police 40 50
TERRAIN USER INTERFACE QUESTIONS
What Does the Inner/Outer Circle do?
The two circles represent the visual mouse brush interface for terrain modification. The two circles will
follow the contours of the terrain when you are in Paint Terrain Mode. The Inner Circle receives the full
power of the value slider, and the Outer Circle is the feather at which the effect will drop off to zero. If the
outer circle is less or equal to the radius of the inner circle, there will be no feathering.
What does "Value" do?
Value controls the strength of the brush. The meaning of the value control might change depending on what
elevation control you are using. For example, valid values for raising and lowering terrain are in between 0
and 1.0, but values for terrain flattening can of any range.
What are all the elevation buttons for?
R - Raise - raises the terrain by the value amount.
L - Lower - lowers the terrain by the value amount.
F - Flatten - flattens out the terrain to the value amount.
S - Smooth - smooths out the terrain (works best with values in the .1-.4 range).
N - Noise - makes the terrain bumpy/rock like. (works best with values in the .8-1.0 range).
FU - Flatten Under Selected - flattens out the terrain below the selected object. Good for making
ground under buildings flat.
VISUAL EFFECTS EDITOR
How do I launch the visual effects editor plugin?
It should be located under the Plugins menu in the toolset, titled VFX Editor.
How does the visual effects system work?
Visual effects are composed of effect files, which are individual components of an effect (a particle system, a
trail, a billboard, etc.), and SEF files, which point to the effect files and organize them into a more complex
visual effect.
How do I use the visual effects editor?
First, create the individual effects. Under File->New, you will see the different effect types. Select one and
then, in the editor that opens, modify its properties until you achieve the results you desire. Then, create a
new SEF file, and press the Add Event button on the toolbar to select a type of event to add.
The event will appear in the tree list in the upper-left corner of the window. By selecting the event, you
can then change the DefinitionFile property, which determines the individual effect file that the event
references. Select the effect you created earlier, and then press Play on the toolbar to see your visual effect
in action.
Make sure to save your work when you are done.