Jump to content

Home

im trying to change classes.2da


mado did dude

Recommended Posts

okay so im trying to create a new class for kotor and i put in the right stuff and the name but thee name comes up as male instead of what i want it to be could some help me?

 

The name column cannot contain the name directly, it must be set to a StrRef index into the dialog.tlk file where the actual class name is. So if you want to add a class with a new name you must add the name as an entry in dialog.tlk first, and then set the StrRef in the classes.2da name column.

 

(Also keep in mind that you can't add new force using classes, only classes without force powers can be added.)

Link to comment
Share on other sites

Looks like work for STOFFE's(is He game developer?) utilities!

Also you may need to add new columns, in feats.2da for example, to do it look in Stoffe's signature for "2DA Converter/Merger", Looks like this is only one way to add new columns, also if you want to script your class, (I'm not sure but that worked Ok for me) find "int CLASS_TYPE_MINION = 8;" line and copy it, paste after the last line and rename (in copied row, not in original!) MINION with CLASSNAME, classname should be replaced with name of your class, later you'll use it in your scripts, and replace =8 (in copied line) with =RowNumber, row number is number of the row specified in classes.2da. Now compile your script under this nwscript.nss. Also you may use TSLPatcher to make it compatible with other mods. STOFFE said that yoo can't add new Force using class, don't know but I have added new Force using class by doing a lot of routine work (Don't know what STOFFE wanted to say, but I have added it with new powergain table too, but it used the existing class to be force using.), but it was in KII. If you need some extra help ask me.

Link to comment
Share on other sites

also if you want to script your class, (I'm not sure but that worked Ok for me) find "int CLASS_TYPE_MINION = 8;" line and copy it, paste after the last line and rename (in copied row, not in original!) MINION with CLASSNAME, classname should be replaced with name of your class, later you'll use it in your scripts, and replace =8 (in copied line) with =RowNumber, row number is number of the row specified in classes.2da. Now compile your script

 

It is generally a very bad idea to mess with nwscript.nss since it can cause loads of trouble when compiling scripts if you do something incorrectly. You don't need to add anything to this file to create a new class, it's just a constant. You can use the line number from classes.2da directly in whatever scripting functions you usually pass one of the CLASS_ constants as a parameter.

 

If you want to use constants instead I'd suggest declaring your own in your scripts (preferably in an include file) instead. Makes things less prone to errors and reduces dependancy on modified standard files.

 

You cannot add a new force using class since game game won't give your new class any force pool, and even if you manually add force points it won't let you pick any powers at levelup and won't let you activate any force powers in-game, no matter what 2DA references you add to your class. The force using classes are for some peculiar reason hardcoded to certain line in classes.2da in the game engine (just like you can't add new spellcaster classes in Neverwinter Nights, so I suppose that's just how the core engine is designed).

 

As for the 2DA changes required to add a new class with its own skill/feat/attack/defense progression, most of the columns in classes.2da refer to column labels in other tables, though a few of them refers to separate 2DA files that may be created for each class, like:

Column              Refers to
-------             -----------
Attackbonustable    Name of unique 2da for each class.
Featstable          Column label in feat.2da
Savingthrowtable    Name of unique 2da for each class
skillstable         Column label in skills.2da
spellgaintable      Column label in classpowergain.2da
armorclasscolumn    Column label acbonus.2da
featgain            Column label in featgain.2da

 

To add new progressions for your new class in the 2DA files referred to by column label you'll have to add new column(s) following the naming convention of the existing ones (some 2DAs require more than one column per class). As far as I have tested the game does read values from the new columns properly, with the exception of spells.2da where new columns seem to be ignored (so I skipped it in the above list).

 

To add unique progressions for the things that require a separate 2DA per class, copy one of the existing 2DAs of that type, save it under another name and make the desired changes to it.

Link to comment
Share on other sites

You can asign the force using progression of one of the existing force-using classes to another class you just can't create a specific force user chart to that class by itself. All your basically doing is telling the game that the soldier is the same as a Jedi Guardian for example by copying a couple of fields from one entry to another. You just can't create a new class that references a new Jedi power progression chart that is not part of the original game. This is what Stoffe and others mean by not being able to create a new force using class.

Link to comment
Share on other sites

You can asign the force using progression of one of the existing force-using classes to another class you just can't create a specific force user chart to that class by itself. All your basically doing is telling the game that the soldier is the same as a Jedi Guardian for example by copying a couple of fields from one entry to another. You just can't create a new class that references a new Jedi power progression chart that is not part of the original game. This is what Stoffe and others mean by not being able to create a new force using class.

 

No, I mean that I have been unable to add a new class in any way (even when copy&pasting existing force enabled class rows with all but the row label and name unchanged) that, when assigned to the main character, party member or other player controlled characters, will...

  1. ...have a visible force pool and force point regeneration.
  2. ...allow you to pick new force powers at levelup (button is not visible).
  3. ...enable the "Force" button to access the force power list of the character.
  4. ...allow you to activate a force power by clicking its icon in the GUI.
  5. ...enable the "Jedi Support" and disable the "Grenadier" AI style button.

 

You can make them cast force powers in scripts, but you cannot make them do so when controlling those characters.

 

Now, I will not assert that the above is the absolute truth, I may have overlooked something when playing with adding new classes, but according to my testing this appears to be how things are. Since you were unable to add new working spellcaster classes in NWN as well I believe the hardcoding of caster classes is by design in the Aurora/Odyssey engine.

 

I would be quite happy to learn that you can indeed add new functioning force user classes, but everything I've seen so far points to the contrary. So by all means, do experiment with it and see if you have better success than I (and please tell how if you succeed), but don't be too surprised if it doesn't work. :)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...