PDA

View Full Version : Tired of your party members? Want more jedi?


override367
01-05-2004, 07:49 AM
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

HazardX
01-05-2004, 11:15 AM
And you can add totally diffrent NPCs to your group!

Some Screenshots:
Malak in your Team (http://www.megamods.de/swkotor/pics/malak1.jpg)
Master Vandar with a Rifle (http://www.megamods.de/swkotor/pics/vandar2.jpg)

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)

Alegis
01-05-2004, 04:58 PM
thats awesome, thanks! i'll play with them after i finished light and dark :)

override367
01-05-2004, 05:38 PM
wow that's great, I wanted to try that but I wasn't sure they had the correct stats and everything to be team members

thanks a bunch :)

pmshand86
01-05-2004, 07:51 PM
I'm sorry to be a pain but I just had to ask. How would someone like me, who has no idea how to input such codes, go about doing so? Newbie as some may like to say.

override367
01-06-2004, 09:31 PM
Well I'm a horrible teacher so I'm not the one to ask, I'll upload some basic mods I don't just know where to

I have very limited internet access so I can't respond very fast ATM (in the process of moving)

eidospsogos
01-06-2004, 11:08 PM
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?

eiz
01-06-2004, 11:37 PM
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.

peloquin
01-07-2004, 12:01 AM
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.

Supreme-Lord
01-13-2004, 09:10 PM
Can anyone e-mail me darth malak's finished npc file to add override folder. Plz

eidospsogos
01-14-2004, 02:26 AM
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?

eiz
01-14-2004, 03:01 AM
There is another thread titled "Re: The Devanstator" which contains some information on the save format, but the file you want is SAVEGAME.sav. Refer to that thread for information on its contents.

eidospsogos
01-14-2004, 03:13 AM
okay, thanks for the info. that helps a bit. but as none of these files that are in .xxx format actually have the same .xxx extension, is it safe to just switch extensions around(of course i know to backup the original files)?

eiz
01-14-2004, 03:23 AM
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).

eidospsogos
01-14-2004, 03:25 AM
okay. good to know. thanks alot. i really appreciate all the help.

eidospsogos
01-14-2004, 11:45 PM
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?

eiz
01-15-2004, 12:32 AM
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 (http://blitz.phpwebhosting.com/eiz/iotools-exe-0.0.tar.gz) 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).

eidospsogos
01-15-2004, 03:27 AM
thanks once again for the info and help. i really appreciate it.

lil_dude
01-15-2004, 08:40 PM
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

eidospsogos
01-15-2004, 10:52 PM
it's easy to do with a hex-editor. haven't figured it out with the above method yet.

Stator
01-16-2004, 12:07 AM
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

dudejasper
01-20-2004, 08:42 PM
i dont understand a dam of that whole thing of that darth malak is in your party

can someone send me the file that i need to get him in my party
and explain what to do with it?

thnx:)

peloquin
01-20-2004, 10:47 PM
hey dudejasper if you go to the cloakworks thread you can download the disguise mod. With that all you have to do is type the giveitem code for the malak disguise and equip it to whoever in your party you want malak to be.

Admiral Chemix
03-19-2004, 01:15 PM
what script do I have to edit and what in those scripts do I have to put, to replace juhani with shasa the jedi selkath

tk102
03-21-2004, 12:03 AM
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 (http://www.lucasforums.com/showthread.php?threadid=122049)).
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 (http://www.lucasforums.com/showthread.php?threadid=125370) 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.

loderrr
04-17-2005, 06:20 PM
Originally posted by HazardX
And you can add totally diffrent NPCs to your group!

Some Screenshots:
Malak in your Team (http://www.megamods.de/swkotor/pics/malak1.jpg)
Master Vandar with a Rifle (http://www.megamods.de/swkotor/pics/vandar2.jpg)

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) i have a qestion about recruitment mods i know thats not what your post was about but you recruited malak so i have a question. i followed the 10 step recruitment tutorial but when i went to test it, i recruited the guy but when i used him in my party he was invisible. do u have any idea why?

tk102
04-17-2005, 07:36 PM
What the... ?

This is just about the oldest thread on this board. :rolleyes: Don't take my exuberance from March 2004 as a good reason to dig this thread from its grave...

Um in trying to answer your question, it probably has to do with your .utc file not referencing appearance.2da correctly in its Appearance_Type field. I'm going to lock this thread now (R.I.P.), and I'm going to copy your post to a new topic.