Você está na página 1de 17

Neverwinter Export

Version 1.1
Bioware Corp.

This is the official guide to help you use the Neverwinter Export Scripts that have
recently been released to the public. The goal of this document is to help you turn a
model that you have created in a copy of 3DSMax into a format that the BioWare Aurora
Engine can read, and hopefully to describe some of the nuances we used in the process.
You will need:
An install of Discreets 3DSMax 3.0 / 3.1 / 4.2 / 5.0 .The scripts were tested on all of
these versio ns. If you have any other version, its always worth trying.
A basic knowledge of 3DSMax. I will be alluding to things that will require some
understanding of the package.
Our Neverwinter Export Scripts. These should be associated with this file in some
manner. If they arent, you will need to find them!
An install of Bioware and Infogrammes Neverwinter Nights.

Table of Contents
Installing the Scripts ______________________________________________ 2
BioWare Aurora Engine Exporting ___________________________________ 2
Simple Models: ________________________________________________ 3
Simple Materials: _______________________________________________ 3
Simple Animation: ______________________________________________ 4
Advanced Features ______________________________________________ 4
Advanced Modeling: ____________________________________________ 4
Advanced Materials _____________________________________________ 6
Advanced Animation ____________________________________________ 7
Lighting ______________________________________________________ 8
AuraPoly _____________________________________________________ 9
AuraEmmiters ________________________________________________ 11
AABBMod ___________________________________________________ 12
AuraBase____________________________________________________ 12
Conclusion ____________________________________________________ 14

Installing the Scripts


To start, youll need to put our scripts onto your computer. Follow these steps:
Copy \Scripts\*.* from this directory to the Scripts directory inside your 3DSMax
folder.
Copy \Plugins[based on the Max version.]\*.* from this directory to the Plugins
directory inside your 3DSMax folder.
N.B. there is a small readme text file in the Max4.2Max5.0 directory that describes (and solves) a
small problem we ran into when we converted the scripts.

Also, youll need to have a directory ready for you to export models to. Most of us here
use our Override folder inside our Neverwinter program directory.
Now boot up Max. If you look inside the creation tab and into helpers, you should see
that you can make a variety of Aura objects. If you do not, then something is wrong!
The next thing you should look at is in Configure Paths under the Customize drop
down menu. Here you can change the Export directory to any directory, but as I said, in
general this would be your Override.
Check your units set up in your Preferences We use 1 unit = 1 centimeter without
any automatic unit conversion. If a file is loaded when its units are incorrect, its best to
know about it. Keep your Units Setup as generic units.
Also, you need to set your default animation controllers to linear for position and
rotation. Go to the animation tab when an object is selected, then click on the controller
type for position and press the
button (or the
button in Max 5.0). The new window
lets you pick from a list of controller types, you want to select Linear Position, but
before you close the box, click Make Default. Do this again for linear rotation. Now
every object you make will be created with these settings its best to check and make
sure.
These scripts are relatively old now, and do contain redundant information and buttons.
Youre welcome to try anything out that you want to, but whether or not the function
breaks the scripts or does anything useful in the engine is a little questionable. That being
said, the majority of things available in the scripts are important, and I will try to lead you
through them as best as I can.

BioWare Aurora Engine Exporting

Neverwinter uses the BioWare Aurora Engine, a graphic engine created by Bioware. In
many cases you will see the shortened version of this, Aura, as Aurora can sometimes
be a mouthful.
Simple Models:
In order for our engine to see a model made in 3DSMax, it has to be linked hierarchically
to a base node called an Aurabase. To make one of these objects, go to the create panel,
and into helpers. Youll see it there. When you create this object, it shows as an X in
the view port. The position of this Aurabase with respect to the model is important, as the
Aurabase becomes the action point of any parts that are linked to it. The name of the
Aurabase is important as it becomes the name of the exported model. Also, it should be
noted that its best to make all your Aurabases in the top viewport or in a user view, so
that theres no rotation on the Aurabase, as this might cause some confusion. In the
engine, we define all the objects that were linked to the Aurabase as parts and the
Aurabase and all its hierarchy as a model. In order to export a model, go to the
modifier stack of the Aurabase, and find the Export Model button. Once you press this,
go to the directory you had as the export directory (in your Configure Paths roll-out), and
you should see the .mdl for your model. Again, more will be explained on this later. (NB:
Un-textured objects will appear white by default in our engine.)
The model that gets exported is a simple text file which has information on the model as
a whole, then information about each part, then animation data. Please feel free to open
an exported mdl with a text editor to see what I mean.
One of the first things you may notice about making models for the BioWare Aurora
Engine is that the scale transform is never exported. The simple work-around for artists
on this problem is to reset the X-Forms of an object before exporting it. This relates to
mirroring as well, as max defines an object mirror as a -100% scale on a certain axis a
scale that the engine cannot reproduce. Again, a reset of the X-forms (in the tools panel)
will set things straight. As well as this, any scaling that is done on a sub-object level
(verts, faces, and elements) will work, as will the use of the mirror modifier.
The Aurabase is the place where you can adjust specifics of a complete model, as you can
see by the modifier roll-out. For most of the specifics of a single part, we have a modifier
called AuraPoly. In the advanced section, this is the modifier that will be used a great
deal.
Simple Materials:
In the BioWare Aurora Engine we assign one targa (.tga) map to one part. Multi-sub
objects are not supported by the graphics engine (except in one specific case, explained
later). Create a simple material in the max materials window, which has white in the
diffuse, ambient and specular color slots. Then assign one bitmap to the diffuse texture
3

slot, and you can then apply this material to any object in your scene. Fairly simple, just
try to avoid any other options at this time; Ill tell you more about materials later. In
terms of mapping, any type of object mapping works fine. In order to see the texture in
game, the texture does have to be copied into your Override directory with the model file,
but you can also use the Get Textures button in the Aurabase rollout too, which does
the same thing. This will prompt you if the new .tga file is different from one previously
put inside. The name length of the targa file and material must be under 16 characters (15
to be safe), but the export checks will let you know if names do go above limits.
Simple Animation:
Animate your model the way youd normally expect, but do remember to bracket your
animation (keyframe at the start and end) if you expect it to loop properly, as only
keyframe info from the start to the end is stored. Any position/rotation animation that
comes from a previous keyframe will not be seen. Under the modifier panel for the
Aurabase of that model, you will see a box that can store a long list of animations, and
their frame ranges. It should be quite easy to make a new animation, just ignore the transtime value for now, and leave it at its default.
With the above information, you should be able to export a simple model at least a
moving box or sphere or something.

Advanced Features
Now we will go into a little bit more depth.
Advanced Modeling:
1. Pivot Points
Similar to the scale issue, Max handles the movement of the pivot point strangely.
When you move the pivot point in the hierarchy panel, max simply stores the
offset to the geometry, so the model will still export as if the pivot was never
moved. We have to make sure that the origin of the object is the same as the pivot
point location; otherwise there will discrepancies between the max view and the
in- game model. Again, the solution is to reset the X- forms in the tools panel. For
objects that have already been animated, resetting the X-forms really screws
things up, so I would advise sorting out and locking the positions of the pivot
points before animation starts.
Also, the BioWare Aurora Engine rounds the position of static objects to the
nearest cm, so to avoid seams its best to make sure that your pivot points in Max
are square on cm values. This is only really necessary for static mesh, characters

and other general things will work fine. If you see seams, this will most likely be
the problem.
2. Dangly Mesh
Dangly mesh is a very simple physics system for the vertices of an object. They
can be affected by:
i.
part movement relative to the world (they have an inertia)
ii.
wind dynamics, either from global wind settings or from wind events
like explosions.
Dangly mesh was used in our game for objects like hair and cloth.
We use vertex colours (at the bottom of the edit/editable mesh roll-out) as a value
of the tensile strength of a vertexs position. The colour is normalized between 0
and 1, 0 being black and white being 1. If a vertex has a colour of white, then it
will not move when subjected to the forces listed above if it is black, it will
have the full distortion value that it will be subjected to. The amount that a vertex
will be moved is defined per object in the AuraPoly modifier. Midway through
the modifier you will see a Dangly Mesh check box. When checked, it will give
you access to all the functions below it. The default settings for Period, Tightness
and Displacement will allow you to export the model and see the effect of Dangly
Mesh in the model viewer and game. You will most likely want to play with these
settings in order for it to work the way yo u want it to.
If you have a group of vertices selected when you assign the AuraPoly modifier,
Max will show you the movement ranges of those verts with circles in the
viewport.
3. Real-time Shadows
Our real- time shadows are especially nice to watch in the ga me, but sometimes
they can be a little painful to make work the way you want them to.
The first rule of these shadows is that they HATE non- manifold edges. If a single
edge has more than two faces built on it, then the in- game shadows will tear
(you will know a tear when you see one). Its best to make sure you do not
model this way, as it will just cause you much anguish (unless you can write a
maxscript that finds them and solves them for you!). STLCheck is a useful
modifier to have around to check fo r problems too.
The second rule is quite fussy. Its our experience that the problems associated
with this rule normally only occur with larger sized objects, bigger than 0.5m
in my estimation, so normally on the landscape pieces. For me to explain the
second rule, its best to explain how the shadows are made. This is how the
programmers get the shadow to the screen. First they try to fill the volume of a
whole object using the pivot point of that object as a connecting position. With
this shape, they then trace these polygons at a tangent away from the light (called
shadow volumes). Wherever these polygons touch another object, they re-draw
the shape only at the plane of the camera. They then draw the final shape from
all these volumes as a darken over the entire scene (called screen buffering).
Anyway, for all this to happen correctly, the pivot point of the object has to be in
the correct place in general, all triangles have to be facing AWAY from the

pivot point. With some objects this will prove a very difficult job and they will
either have to be split into a couple of pieces, or remodeled so that they work in a
more desirable way. Its not pretty to work with, but when all the dust settles, it
makes a huge difference to the look of the game.
NB: if youre having other problems, check the height of your object as there is a
ShadowDepth value in the game that cuts off all projected shadows below this
point.
Advanced Materials
Our scripts only acknowledge a few things from the Materials Editor window. Everything
else is handled either in the form of AuraPoly information, a .txi file associated with the
texture or in- game where some settings get over-ridden.
1. Materials Editor
Simply put, there are only two things that should be read from this area. The first
is the actual texture name and location.
The second is the diffuse colour. We can use this colour to tint the lighting of an
object, which is useful in many cases. It should be noted that if you use this
tinting as an actual colour changer (which we did), dynamic lights can still bring
it up to its full value e.g., if you want to have a dark wood using a lighter wood
texture, this is fine, except that if a player walks by with a torch, he will make it
look like a light wood colour again. For the most part, this is not noticeable
though.
2. AuraPoly
The two main things to look for in the AuraPoly modifier are the Alpha value
spinner and the self- illumination colour. The alpha value (per part) is just what
youd expect (1 being opaque and 0 being transparent), as is the self- illumination
colour.
3. TXIs
The theory behind the .txi system is to attach properties especially to a certain
texture. When a texture is loaded into the game, it looks for an accompanying .txi
file (from either the resources or the override directory). This file will be
recognized by having the exact same name as the texture, merely having the
different extension of txi. For example, when the game loads
ttr01_crystal01.tga, it will look for a txi called ttr01_crystal01.txi, and then
load it. If it doesnt find one, it simply loads the texture by itself. Inside the file
can be one (or more) of many attributes you can give to a texture. We have an
Example.txi file which should be in the directory somewhere to show you all the
different things you can do in them. I hope it makes enough sense! This is where
we achieve effects like texture warping for water and lava, environment mapping
effects, animating textures, etc

4. In-Game Settings
Do keep in mind that some settings have been hard-coded, like bumpy-shiny
water values. If the game isnt showing you what you think it should, theres
always the chance there are some things it might like to take over for instance it
will scale your textures dynamically if you exceed texture memory sizes for your
card. I cant think of anything else off- hand, but Im sure you may run into
something.
Advanced Animation
1. Supermodels
Animation data accounts for huge amount of a models total size. In order to steal
animations from another, pre-exported, model we use this function. When a
model is assigned a supermodel, the game engine simply loads the animation data
from the super model on to the pieces that have the same name in the current
model. We can then, for example, create and animate a complete model for a
panther, but only create the model for a leopard and reference the panthers
animation. We can also over-write either one or a group of animations from the
merged animation track by animating them separately on the current model. A
good instance of this in our game was the old man animations for
Neverwinter where we used the main human animations in general, but added
pausing and moving animations to the old man model.
If you have any problems with this there are a couple of things to check:
a. Make sure the names of the parts match.
b. The position and rotation of the pivot points with respect to the two
models should be close. Its often best to make a new model that shares an
animation from a copy of the old file.
c. Position keys will not scale with a different sized model. For example, we
did use the human animation as a supermodel for the dwarf characters.
Rotation animations do not need any scaling in order to be transferred to a
smaller character, but position keys do. The only thing we can do to
change the height characteristic of a shorter/taller supermodel recipient is
calculate the ratio of height change and enter that into its Animation Scale
value on the Aurabase. In this case, you can animate the position of the
RootDummy
This solution does work for different sized models, but you may have to tweak
some settings or override some animations for the feet to be correctly placed in
any movement animations.

2. Transtime

Theres a small number associated with each animation available on the Aurabase
called transtime. This is a per-second value of how much mixing a previous
animation does in order to fade into this animation. I personally havent played
too much with this number, as the default suffices enough to make most things
look good.
3. Anim Root
This is similar to the supermodel idea, except you can override a selection of
hierarchy (from one node down) in your current model for another models data
file. For example, you can take the bicep piece of a model, and give it the name of
another model, which has the bicep moving in the way you want it to. This is how
we created overlapping torch holding animations for when the character walks,
runs or does any other animation.
Lighting
Lighting is relatively simple in our engine; it uses a simple vertex lighting system
where lights can have one of the following properties:
1. Static
Some geometry is loaded in statically, and thus can be treated this way in the
lighting system (for performance benefits). Static lights will only
affect static geometry, which are really only the background tiles.
Static lights are pretty much only used on the tiles themselves,
for small amounts of shading. For this setting, leave both checks
of Is Dynamic and Affects Dynamic un-clicked.
2. Dynamic
Dynamic lights affect both types of geometry in the same way.
We use these lights only for animating lights like torches and
spell effects. As they are calculation intensive, dynamic lights
should be used sparingly if possible. For this setting, click both
checks of Is Dynamic and Affects Dynamic.

3. Hybrid
This flag counts a light as both static and dynamic. As long as
the light does not move, it can light static geometry statically and
dynamic geometry dynamically. We use the lights for the sun
model, and all the predominant tile related lights we can. Its the
best of both worlds, giving you control over both types without
the performance hit that a pure dynamic light gives. To have this
setting, just click Affects Dynamic Objects

Other functions in Aurora Light:


1. Lens Flares
Most of these settings are self-explanatory, but the flare radius is in cm and the
Position is a value from -1 to +1 of where the flare will occur (see description
below spinner). We didnt use this function as much as I would have liked the
main reason for this is because lens flares will only get occluded by walkmesh
geometry. Walkmesh will be described in another document, as it is fairly specific
to creating tiles.
2. Fading Light
When a light (connected to a model) is loaded or dropped from a scene, the light
can effectively flick on and off. If this check is on, the light will take a moment
to fade on or off for a better overall feel. In some cases its best to have this unchecked, for things like spells where you want the light to be at its brightest as
soon as it appears.
3. Multiplier
Its tough to explain this one first of all, a multiplier can make a negative light
in our engine, which is quiet useful for darkening corners and general shading
(some spells too!). We also use this to enlarge the inside radius of a light as the
lighting system clamps at 1, and if a light has a multiplier that goes above this,
then it will simply push the inside radius out further (but will keep the outside
radius to the correct setting.
4. Priority
Aurora has a light manager to prevent the engine from counting too many lights
that affect dynamic objects. This relates to the light count setting in the game. In
order for the manager to know which lights it can cull from the list first, we assign
a priority number to it, from 1-5, 1 being the highest priority. This is the general
scheme we used:
1- The sun/moon
2- Torches/ light spells
3- Spells, general lights (which is why a new light will
have this number as default)
4- Un-needed tile lights
5- Magic weapon lights. (for example)
AuraPoly
1. Rotate Texture
This is for the ground mapping. Basically, when a part with
this flag is rotated because it is on a tile, the engine knows to

rotate the mapping coordinates back to the original position. This eliminates
texture seams on floors and grass over tile edges.
2. Render
If render is on, then the part renders, if it is not then it doesnt. The geometry is
still in memory though, it is not culled. Use this in conjunction with the shadows
checkbox to make simpler shadow vo lume objects than the visible geometry.
3. Shadow
Make this object cast shadows or not. By default an object has this on, but when
you apply an AuraPoly the default setting is off.
4. Beaming
For light-ray polygons this is how we accomplished the light-rays in the forest
tileset. They could not be made specifically for the tile, as the tile can rotate so
what we did instead is create a different kind of shadow where only the shadow
volume is rendered at an alpha value and a specific colour. So to make the shadow
volumes you make a group of simple triangles above the camera level, and assign
this AuraPoly flag to it.
5. Inherit Colour
We do not use this. Its for when an object can be tinted to the same object tint
that its parent has.
6. Fading Tile Properties
Our solution for objects blocking the camera view in the game is to fade out the
geometry over a single storey. This happens on a per-tile basis. There are three
parts that have to have certain flags for this to work, theres the fading geometry
itself, the sides that have to face the next tile so that you cant see into the
building when a neighboring tile fades, and the base plate that needs to come in so
you cant see through the bottom of the building. Simply described, but it does
amount to a fair amount of work. Again, these things are specific to tile creation,
so they will be described with more detail in a document to do with tilesets.
7. Dangly Mesh
Was described earlier.
8. Scale Factor
We didnt make too much use of this in our exporting, but our engine does
support a uniform scale factor that can be animated. As it is a simple solution you
cannot see the effect that this procures in max, but it does work in the model
viewer and the engine. We used this in the game to make the weapons scale to
different sizes for different creatures.
9. Transparency Hint
As transparencies can be extremely costly to calculate from alpha values on a
texture, we can give the engine priority values on transparent objects to let it
know which are more important. If an object has a transparency hint of 1, then it
will be rendered after a transparent object that has a value of 0. This does not take
into consideration dynamic objects; it really is only good for static objects.
10. Alpha
A general alpha level for an entire object. Watch for sorting problems.
11. Self-Illumination
A colour self- illumination value that resembles the one that max uses.

10

AuraEmmiters
This is our particle system. There are a huge amount of things to play with here, and
many of them are similar properties to most particle generators, so forgive me if I leave
out the stranger aspects of it feel free to play!
OK, so theres a start and end version of the tinting colour, alpha value and size. Simple
enough.
Allow Colour Tinting will tint the particles to match the
ambient colour of the scene.
If the Lock Y Axis Anim to X-Axis is unchecked, it opens the
Y-Size value scale boxes.
Random Start Frame pertains to contact sheet frame count
(from 0 to (num-1))
Loop Single Particle is for the single particle update style.
Render Order is a way of stacking the particles in terms of
how they render so that alpha problems are resolved.
FPS is the speed of playback on a contact sheet animation.
Birth Rate is per second
Birth Rate in Particles/m is for trailing streams like arrows and
other trajectory items
Life Expectancy is in seconds
Splat On Collision is to make a splat on a surface using the
same particle
Detonate (animate-able, 1 or 0 for on or off) is for an
explosion-type emitter.
Most of the ne xt few are obvious.
X-Size and Y-Size are for the width and length of the emitter itself, for a planer
emitter.
Bouncing Particles do just that, against any static walkmesh.

11

Particle Inheritance offers the parameters for linking and velocity.


Lightning Parameters offers just that. You can adjust the random forward or backward
position of a point on the lightning through the AMSF number- Aligned Movement
Scaling Factor.
Point to Point accomplishes a number of things, but is good for gravity effects.
Then you can choose your Update Style
And your Render Style (and some of the options because of that)
Then your Blend Mode
Then you choose your texture to use. Please note that emitter textures do not get exported
when you export a scene or get textures. You must place them in your override yourself
for you to see them. If it is a contact sheet animation texture you can define how many
rows and columns it has.
And finally, if you want to use a model instead of a texture, you can, by putting the
model name here (you do not need the suffix of .mdl). If you want that model to play an
animation, have the model have an animation called default. It makes for some fun
things you can do, as an emitter can actually reference another emitter if you do it
correctly.
AABBMod
This is a modifier that gives you a static, simple mesh used for collision detection and
path finding. The only place this can really be used is in tiles, so I will leave
the description for that document.
AuraBase
This is where all the model-based attributes are assigned.
Super Model is a space where you can enter the name of another model,
as described in Advanced Animation.
Classification simply allows the engine to decide what kind of a model it is.
If youre not sure what kind of a model it is you have, then just use
something simple, like an Item.
Then you can assign your animations, I have already described.
12

Anim root has already been mentioned too, but I should make note that if you copy an
Aurabase, the Anim root will still have the name of the previous object and must be
changed otherwise it will not work.
Animation Name List is a simple way of adding new animations according to a .NAM
file in your Aura scripts directory for each Classification type. Its good to have all your
.NAM files write-able, otherwise you will always have warnings come up when you try
to export animations other than the ones in the list.
Update All AABBs will do just that, for the entire scene but seeing as you might not
understand that, well move right along
Hopefully youve already tried the get textures and export model
functions.
After these buttons there is a rollout section called Active Sanity
Checks. A sanity check is a single lump of code that checks for faulty
things in your model. Sometimes you dont want to be notified of a
problem, and this is the place to switch off the error message. But, that
being said, the error messages are there for a reason so its best to leave
them alone. A description of each:
Zero Rotation: It can be difficult to ascertain an AuraBases orientation,
and its best to keep them all at a zero rotation. This tells you if it isnt.
Valid Anim Keys: Checks to see if there are keys at the start and end of an
animation. Most of the animators at our work switch this check off as its
not always desired.
Collision Mesh Validity: For AABB mesh
Tile Node Boundary Chk: Checks to see if any objects are over the edge of a tile. This is
unchecked by default, as it can happen in many instances.
Emitter Validity: Checks the version of your emitters.
AuraRef Existence: Unused
Node Name Validity: Checks name lengths and character types.
Zero World Scale: Makes sure that objects have no scale transforms associated.
Material Bitmap Name Chk: Checks material names.
Bitmap Name Validity: Targa file name check.

13

Weld to Nearest cm: Will move a parts vertices to the nearest cm for smaller file sizes.
This is with respect to the parts orientation, so watch for seams in the geometry in some
cases.
Node Type boolean: Not sure, to tell you the truth
Valid Controllers on Keys: Only allows linear interpolation on all keys.
Animated Mesh Validity: Unused
TexVert Validity: The game doesnt like it when a vertex doesnt have a proper texture
coordinate for mapping.
Zero Faces on a Node: Nor does it like when a part does not contain any vertices.
Bumpy-shiny Alignment Chk: Unused
Anim Root Node Existence: Checks the slot in AuraBase for a name of the Anim root.
Skinning 4 Bones per Vert: Is for our skinning system. It just makes sure no vertices have
more than four bones affecting them.

Conclusion
Theoretically, by this point in the document, you should be able to see your models
working the way you want them to. I hope you had as much fun seeing yo ur creations in
Neverwinter Nights as we did. Now get out there and build happy mod- ing!

LIMITED LICENSE
NEVERWINTER EXPORT SCRIPTS
THE FOLLOWING DESCRIBES THE TERMS UNDER WHICH YOU MAY USE
THE NEVERWINTER EXPORT SCRIPTS. BY USING THE SCRIPTS YOU ARE
AGREEING TO BE BOUND BY THE TERMS OF THIS AGREEMENT. IF YOU DO
NOT AGREE WITH THE TERMS SET OUT IN THIS AGREEMENT YOU MAY
NOT USE THE SCRIPTS IN ANY MANNER WHATSOEVER AND YOU MUST
ERASE AND DESTROY ALL COPIES OF THE SCRIPTS IN YOUR POSSESSION
OR CONTROL.

14

LIMITED LICENSE
BioWare Corp. (BioWare) hereby grants to you a limited, non-exclusive and nontransferable license to use the Neverwinter Export Scripts (the Scripts) to transform a
model that you have created in 3DS Max into a format that the BioWare Aurora Engine
can import. The Scripts may not be used for any other purpose.
BioWare shall be entitled to revoke this license at any time in its sole discretion on notice
to you. In the event this licensed is revoked, you shall cease using the Scripts and you
shall erase and destroy all copies of the Scripts in your possession or control.
You may not use the Scripts in any manner to transform any model created by an
unlicensed copy of 3DS Max.
INTELLECTUAL PROPERTY
BioWare retains all right, title and interest in the Scripts including all intellectual property
embodied in the Scripts. You may not modify, copy, publish, republish, transmit, sell,
create derivative works, display or in any way exploit the Scripts, commercially or
otherwise, except you may exercise the limited license to use the Scripts for the limited
purpose as provided herein.
Nothing in this license grants to you any right to use 3DS Max. All such rights must
be obtained from the vendor of that software, Autodesk, Inc. 3DS Max is a
trademark of Autodesk, Inc.
WARRANTY DISCLAIMER
THE SCRIPTS ARE PROVIDED "AS IS" AND ARE USED BY YOU AT YOUR
SOLE RISK. BIOWARE MAKES NO EXPRESS OR IMPLIED WARRANTIES,
CONDITIONS OR REPRESENTATIONS WHATSOEVER, AND SPECIFICALLY
DISCLAIMS THE SAME INCLUDING WITHOUT LIMITATION, ANY
WARRANTIES, REPRESENTATIONS OR CONDITIONS OF MERCHANTABILITY
OR FITNESS FOR A PARTICULAR PURPOSE INCLUDING THOSE IMPLIED BY
STATUTE.
THE SCRIPTS MAY CONTAIN BUGS, ERRORS, PROBLEMS,
VIRUSES OR OTHER LIMITATIONS. BIOWARE ASSUMES NO LIABILITY OR
RESPONSIBILITY FOR ANY SUCH BUGS, ERRORS, PROBLEMS OR VIRUSES
OR OTHER LIMITATIONS.
LIMITED LIABILITY
IN NO EVENT SHALL BIOWARE BE LIABLE FOR ANY SPECIAL, INDIRECT,
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN
CONNECTION WITH THE USE OR INABILITY TO USE THE SCRIPTS HOWEVER
ARISING, INCLUDING THROUGH NEGLIGENCE, EVEN IF BIOWARE HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

15

IN ALL OTHER CIRCUMSTANCES BIOWARE'S TOTAL AGGREGATE


LIABILITY TO YOU OR ANY THIRD PARTY, HOWEVER ARISING, SHALL BE
LIMITED TO $10.00 (CDN).
INDEMNITY
You agree to hold BioWare, its employees, officers, directors, agents and other partners
harmless from any and all claims or demands, including reasonable attorney fees, made
by anyone due to your violation of this license or due to any use you make of the Scripts,
whether in compliance with this license or otherwise.
NO AGENCY
The parties are independent entities and no agency, partnership, joint venture, employeeemployer or franchiser- franchisee relationship is intended nor created by this Agreement
and neither party shall state or imply anything to the contrary.
NO WAIVER
BioWare's failure to insist upon or enforce strict compliance with any provision of this
Agreement shall not be construed as a waiver of any provision or right of the same or
different type in the future.
ENTIRE AGREEMENT
The terms and conditions set out in this Agreement constitute the entire terms and
conditions with respect to your license to use the Scripts.
TERMINATION
Notwithstanding the termination of this Agreement for any reason, the provisions of this
Agreement relating to intellectual property, warranty disclaimer, limited liability,
indemnity and governing law shall survive such termination.
GOVERNING LAW
This Agreement and your use of the Scripts and the resolution of any dispute arising out
of the foregoing shall be governed and construed in accordance with the laws of the
Province of Alberta and those of Canada applicable therein, without reference to their
conflicts of laws. You agree that any legal action or proceeding between you and
BioWare which in any way concerns this Agreement or the use of the Scripts shall be
brought exclusively in the courts of Alberta. Notwithstanding the foregoing, either party
may apply to any court of competent jurisdictions to obtain injunctive relief. BioWare is
headquartered in Alberta.

16

SEVERABILITY
If any provision of this Agreement is held to be invalid or unenforceable, such provision
shall be severed from this Agreement and the remaining provisions shall remain in full
force and effect.
HEADINGS
Headings are for reference purposes only and shall not be used in the interpretation of
this Agreement.

Copyright and Trademark Information


NEVERWINTER NIGHTS 2002 Infogr ames Entertainment, S.A. All Rights
Reserved. Manufactured and marketed by Infogrames, Inc., New York, NY. Portions
2002 Bioware Corp. BioWare Aurora Engine copyright 1997-2002 BioWare Corp. All
Rights Reserved. BioWare, the BioWare Aurora Engine, and the BioWare Logo are
trademarks of BioWare Corp. All Rights Reserved. Neverwinter Nights, Forgotten
Realms, the Forgotten Realms logo, Dungeons & Dragons logo, Dungeon Master, D&D,
and the Wizards of the Coast logo are trademarks owned by Wizards of the Coast, Inc., a
subsidiary of Hasbro, Inc. and are used by Infogrames Entertainment, S.A. under license.
All Rights Reserved. Windows and Windows 95/98/2000 are registered trademarks of
Microsoft Corporation. All Rights Reserved. The ratings icon is a trademark of the
Interactive Digital Software Association. All other trademarks are the property of their
respective owners.

17

Você também pode gostar