PDA

View Full Version : im trying to change classes.2da


mado did dude
08-05-2006, 09:11 PM
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?

stoffe
08-05-2006, 09:17 PM
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.)

Lit Ridl
08-06-2006, 05:10 AM
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.

stoffe
08-06-2006, 08:03 AM
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.

Lit Ridl
08-07-2006, 03:10 AM
Thank you STOFFE!
But I still do know that I've made soldier to cast force power...
May be because I made it in cutscene, but I haven't used "cheat" function!
I got messed up...

Darkkender
08-07-2006, 10:44 AM
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.

stoffe
08-07-2006, 02:54 PM
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...
...have a visible force pool and force point regeneration.
...allow you to pick new force powers at levelup (button is not visible).
...enable the "Force" button to access the force power list of the character.
...allow you to activate a force power by clicking its icon in the GUI.
...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. :)

Karstedt
08-08-2006, 06:15 PM
Yeah, I wanna know too :)

I made NPC versions of the Jedi classes so I could alter PC creation and leave NPC's unaffected, but I'm running into the same "no force powers" problem.

Lit Ridl
08-09-2006, 05:55 AM
I wanted to say the same with Darkkender.
But I feels strange...
Looks like I am going not to belive myself...
Also the reason may be that I have ***ate kotor, and it even don't need to have *isc.