Jump to content

Home

Tired of your party members? Want more jedi?


override367

Recommended Posts

http://www.villagephotos.com/pubbrowse.asp?selected=715453

 

Well seems you can change a party member's class, see above I made mission a jedi (unlike my previous screenshot where it was just the player with Mission's player model) Now to make Canderous a jedi, he's cold hearted enough to be a good Sith

 

I don't know if any party members added via scripting would stick around, but that wasn't my goal here I just wanted to see if I could make them jedi (I can also change their models, and make it permanant if I want, so could add Malak to my team if I really wanted)

 

if anyone has a place to store minimods I could whip up the scripts to make most team members turn into jedi upon acquiring them (mission and zal are good choices since im using the addmulticlass option and they will be able to level far as jedis since they are fairly low when you get them... or Carth, but he annoys me) and upload them

Link to comment
Share on other sites

And you can add totally diffrent NPCs to your group!

 

Some Screenshots:

Malak in your Team

Master Vandar with a Rifle

 

These aren't changed Playermodels. They are totally diffrent NPCs.

 

This is how to make it:

object PlaceNPC(string sTag)
{
if(!GetIsObjectValid(GetObjectByTag(sTag)))
{
	return CreateObject(OBJECT_TYPE_CREATURE,sTag,GetLocation(GetObjectByTag("POST_" + sTag)));
}
else
{
	return OBJECT_INVALID;
}
}

void AddCharToParty(string CharName, int Slot)
{
object oChar;

oChar = PlaceNPC(CharName);
AddAvailableNPCByObject(Slot, oChar); 
AddPartyMember(Slot, oChar);
}

 

- CharName is the Name of the NPC (like n_darthmalak or n_yoda)

- Slot is the Portrait Slot in your Party Selection Screen (0-8)

Link to comment
Share on other sites

well i tell you, i for one would be VERY interested in making my party members all jedi. if only so everyone could use lightsabers. :) i know how to edit my class info via hex-editing my saved game. but i haven't successfully located another characters info yet.

 

so, question to those who know more about this than i do. in a save game you find the hex equivalent of your XP, drop down 240 spaces(so 240 spaces to the right) and you will find your level. 12 spaces to the left of this is your intitial starting class, and 12 spaces to the right of this is your jedi class. 12 more spaces to the right is your jedi level. this info will always hold true. and from my experience, the entry that counts is the first one.

 

so what is the likelihood that the same info holds true for party members? find the hex equivalent of their XP and then the above formula might hold true?

Link to comment
Share on other sites

Originally posted by eidospsogos

well i tell you, i for one would be VERY interested in making my party members all jedi. if only so everyone could use lightsabers. :) i know how to edit my class info via hex-editing my saved game. but i haven't successfully located another characters info yet.

 

so, question to those who know more about this than i do. in a save game you find the hex equivalent of your XP, drop down 240 spaces(so 240 spaces to the right) and you will find your level. 12 spaces to the left of this is your intitial starting class, and 12 spaces to the right of this is your jedi class. 12 more spaces to the right is your jedi level. this info will always hold true. and from my experience, the entry that counts is the first one.

 

so what is the likelihood that the same info holds true for party members? find the hex equivalent of their XP and then the above formula might hold true?

 

Why not just use the ERF/GFF tools from the For Developers section on nwn.bioware.com? You should be able to add classes to your ClassList(s) easily that way. There's some information on the resources in the save in another thread.

Link to comment
Share on other sites

This is awesome, I would love to make mission a jedi, Although like pmshand86 said I don't have any idea of how to use that code. Do I copy and past it into a text doc and rename it then dump it into my override folder?

 

If it would be anyway possible to e-mail me a copy of your files that alowed you to do this I would greatly appreciate it. If that's ok I'll PM my e-mail when you reply.

 

Thankyou.

Link to comment
Share on other sites

okay. someone told me the files were in .erf format before you said so as well. which would make things easier as there are tools to editing these. does it make things like class and feats etc, more clear?

 

BUT there are no files in the folder with that extension, so.....

 

which file do i need to rename the extension to .erf, in order to have the editor open the file?

Link to comment
Share on other sites

The BioWare editors will open files with any extension, it just won't show them in the open dialog by default. There's no need to rename them, although you certainly can if you want (just rename them back when you're done editing).

Link to comment
Share on other sites

okay, i've managed to open my savegame file with the .erf editor. there does not appear to be alot to do with the directory branches it gives you within the editor. how exactly was i supposed to go about changing classes this way?

 

and i know i sound like a complete moron here. but i am getting into the file, and every subdirectory branch when clicked on gives a message saying this is not currently supported. so anyone with more knowledge of this type of thing have any advice?

Link to comment
Share on other sites

First you need to find the last opened module. Open up savenfo.res in the save directory with GFFEditor and look at the LASTMODULE field. Then find this resource in SAVEGAME.sav. Extract it and open module.ifo in GFFEditor. The Mod_PlayerList list contains player data for the current party members.

 

If you want to edit members that aren't currently in your party, you will need to touch the AVAILNPC resources, which are just creature blueprints.

 

When you're done editing your module.ifo or the AVAILNPC resources, you will need to rebuild the module sav file and SAVEGAME.sav. You should be able to do this easily with bioware tools, but I use my own utilities (these mainly) to do things like this.

 

As for the 'not currently supported' errors, it could be due to a lack of KOTOR restypes in the editor. My tools share no such deficiency, although they're significantly less user friendly ;)

 

Once you have found the corrent entry in Mod_PlayerList, you will notice a field called ClassList. This is what you want to edit (the numbers are indices into classes.2da I believe, but I haven't checked).

Link to comment
Share on other sites

Originally posted by lil_dude

i'm almost done the game but i'd still love to be able to make Canderous a Jedi, or even just give him the feat so he can use a lightsabre

 

According to the original post by override367, this is quite possible. Now that the forums are back up I can ask my question. Could you email me your scripts for this override367? It doesn't matter if you use zip or rar although rar is much better. Thanks in advance.

 

Stator

Link to comment
Share on other sites

  • 1 month later...

Ah a classic thread revived!

 

Let me see if I can expand on HazardX's great contribution:

 

Open up notepad and paste the following code:

object PlaceNPC(string sTag)

{

if(!GetIsObjectValid(GetObjectByTag(sTag)))

{

return CreateObject(OBJECT_TYPE_CREATURE,sTag,GetLocation

(GetObjectByTag("POST_" + sTag)));

}

else

{

return OBJECT_INVALID;

}

}

 

void AddCharToParty(string CharName, int Slot)

{

object oChar;

 

oChar = PlaceNPC(CharName);

AddAvailableNPCByObject(Slot, oChar);

AddPartyMember(Slot, oChar);

}

void main()

{

AddCharToParty("n_darthmalak",4); /* This part is custom to what you want to do */

}

Now save this text file with an .nss extension and a unique name like 'friendly_malak.nss'. Download HazardX's nss compiler (see thread).

Save nwnnsscomp.exe into the same folder as friendly_malak.nss.

Open a command prompt in that directory and type

nwnnsscomp friendly_malak.nss -v1.00

Now you should have a file called friendly_malak.ncs that you can put in your override folder.

 

So we have a script that will add Malak to our party, but we need a way to trigger it. The easiest was to do that is by modifying an existing dialog file and then invoking that file from inside the game. I recently uploaded some tools that can help you search for a suitable dialog file. You can then use KotOR Tool to extract the dialog file and GFF Editor to edit it. Open up the appropriate EntryList or ReplyList branch and if there is nothing entered in the 'script' field, add 'friendly_malak' to that field. Save the dialog file in the Override folder. Start up the game. Invoke the dialog, and get Malak on your side.

 

In your case Admiral Chemix, I think you might be looking for 'n_selkath' instead of 'n_darthmalak' in the above script. And maybe you'd rather change the 4 (Jolee) into some other number.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...