Note: LucasForums Archive Project
The content here was reconstructed by scraping the Wayback Machine in an effort to restore some of what was lost when LF went down. The LucasForums Archive Project claims no ownership over the content or assets that were archived on archive.org.

This project is meant for research purposes only.

playing as Bastila

Page: 1 of 1
 icetrey47
01-06-2004, 1:41 AM
#1
I've seen alot of chat about being able to use NPC textures to "play" as another character in the game, so i was wondering if somebody would mind tell me how i would go about making my player look like Bastila. does it involve using a script file in the override folder? if so, would you possibly include how to go about making that file? thanks!
 Zhoken
01-06-2004, 2:46 AM
#2
If you've got nwn then you'll be able to do this by scripting.
First download Lil' jawa KOTOR builder module from Here (http://www.sith-res.tk/)

Go to the script editor in nwntoolset and copy paste this in a new script.
(seems to be the best way to get a permenent model change)

//::k_def_heartbt01
/*
Default heartbeat script
*/
//:: Created By: Preston Watamaniuk
//:: Copyright (c) 2002 Bioware Corp.
//:: Modified By Override367

#include "k_inc_switch"
#include "k_inc_debug"

void main()


{

ExecuteScript("k_ai_master", OBJECT_SELF, KOTOR_DEFAULT_EVENT_ON_HEARTBEAT);

/*
object oEnemy = GetNearestCreature(CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF,1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN);

if(!GN_GetSpawnInCondition(SW_FLAG_AI_OFF))
{
if(GN_GetSpawnInCondition(SW_FLAG_AMBIENT_ANIMATIO
NS) || GN_GetSpawnInCondition(SW_FLAG_AMBIENT_ANIMATIONS_
MOBILE))
{
string sWay = "WP_" + GetTag(OBJECT_SELF) + "_01";
int nSeries = GetLocalNumber(OBJECT_SELF, WALKWAYS_SERIES_NUMBER);
if(!GetIsObjectValid(GetObjectByTag(sWay)) && nSeries <= 0)
{
if(GetCurrentAction(OBJECT_SELF) != ACTION_MOVETOPOINT)
{
if(!GN_GetIsFighting(OBJECT_SELF) && !GetIsObjectValid(oEnemy))
{
GN_PlayAmbientAnimation();
}
}
}
}
}
if(GN_GetSpawnInCondition(SW_FLAG_EVENT_ON_HEARTBE
AT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1001));

}
*/

{
object oPC = GetFirstPC();
ApplyEffectToObject(DURATION_TYPE_PERMANENT,
EffectDisguise(DISGUISE_TYPE_P_BASTILLA), oPC);

}
}


//::End of Script
----------------------------------------------------------------------------------

You'll need this script too (I know theres a much easier way to do this but I dont know how, Maybe someody can expalin it to ya, but this is the only way I know how to do it.)

Put this next one in a new script also called k_inc_switch and then save it(this is so you can save the first one)
------------------------------------------------------------------------------------

//:: k_inc_switch
/*
A simple include defining all of the
events in the game as constants.
*/
//:: Created By: Preston Watamaniuk
//:: Copyright (c) 2002 Bioware Corp.

//DEFAULT AI EVENTS
int KOTOR_DEFAULT_EVENT_ON_HEARTBEAT = 1001;
int KOTOR_DEFAULT_EVENT_ON_PERCEPTION = 1002;
int KOTOR_DEFAULT_EVENT_ON_COMBAT_ROUND_END = 1003;
int KOTOR_DEFAULT_EVENT_ON_DIALOGUE = 1004;
int KOTOR_DEFAULT_EVENT_ON_ATTACKED = 1005;
int KOTOR_DEFAULT_EVENT_ON_DAMAGE = 1006;
int KOTOR_DEFAULT_EVENT_ON_DEATH = 1007;
int KOTOR_DEFAULT_EVENT_ON_DISTURBED = 1008;
int KOTOR_DEFAULT_EVENT_ON_BLOCKED = 1009;
int KOTOR_DEFAULT_EVENT_ON_FORCE_AFFECTED = 1010;
int KOTOR_DEFAULT_EVENT_ON_GLOBAL_DIALOGUE_END = 1011;
int KOTOR_DEFAULT_EVENT_ON_PATH_BLOCKED = 1012;

//HENCHMEN AI EVENTS
int KOTOR_HENCH_EVENT_ON_HEARTBEAT = 2001;
int KOTOR_HENCH_EVENT_ON_PERCEPTION = 2002;
int KOTOR_HENCH_EVENT_ON_COMBAT_ROUND_END = 2003;
int KOTOR_HENCH_EVENT_ON_DIALOGUE = 2004;
int KOTOR_HENCH_EVENT_ON_ATTACKED = 2005;
int KOTOR_HENCH_EVENT_ON_DAMAGE = 2006;
int KOTOR_HENCH_EVENT_ON_DEATH = 2007;
int KOTOR_HENCH_EVENT_ON_DISTURBED = 2008;
int KOTOR_HENCH_EVENT_ON_BLOCKED = 2009;
int KOTOR_HENCH_EVENT_ON_FORCE_AFFECTED = 2010;
int KOTOR_HENCH_EVENT_ON_GLOBAL_DIALOGUE_END = 2011;
int KOTOR_HENCH_EVENT_ON_PATH_BLOCKED = 2012;
int KOTOR_HENCH_EVENT_ON_ENTER_5m = 2013;
int KOTOR_HENCH_EVENT_ON_EXIT_5m = 2014;

//MISC AI EVENTS
int KOTOR_MISC_DETERMINE_COMBAT_ROUND = 3001;
int KOTOR_MISC_DETERMINE_COMBAT_ROUND_ON_PC = 3002;
int KOTOR_MISC_DETERMINE_COMBAT_ROUND_ON_INDEX_ZERO = 3003;


//::End of Script
------------------------------------------------------------------------------------once you compile the first script, go into your nwn/modules.temp0 folder and grab the k_def_heartbt01.nsc file and paste it into your KOTOR/override folder

I know this seems complicated and pretty heavy, as I said hopefully someone how actually knows how to script can explain to you how to impliment the change model script into k_def_heartbt01 without having to compile the whole thing..

Best of Luck!

-Zhoken.
 Stator
01-06-2004, 8:21 PM
#3
Zhoken:

I used the script you posted and it worked. I had one issue though. In the heartbt script you have this line:

#include "k_inc_debug"

I had to remove that line since I didn't have that script. I would get compile errors if I didn't. It still worked once I removed that line though.

I just want to verify whether or not you will retain the Bastila model when you transition to other worlds? I understand that your character is invisible during cutscenes and that is alright by me. I wish I knew how to bypass all of the cutscenes. Some you can and some you can't.

Final question for now is how do I utilize other models with this script? I tried typing in VANDAR but it wouldn't compile. I am probably using the wrong id reference. If you could post the proper list to use other npc's it would be appreciated.

Thanks in advance and keep up the good work.

Stator
 Lil' Jawa
01-06-2004, 8:45 PM
#4
Hmm why do I get the odd thought that you guys will be playing the game mostly without any armor or other clothing? :D:rolleyes:
 Stator
01-06-2004, 9:45 PM
#5
Zhoken and Lil' Jawa:

I've just finished running some tests and both of your scripts will work fine together. No conflicts at all.

Here are some of the things that I did find though.

I have deduced that when you are picking the new character model that you are choosing between standard npc's and party members.

N = npc
P = party member

Further testing has shown that not all npc's are worthwhile to use. Some of them don't have any combat animations. Master Vandar was the one I tried and he doesn't have any combat animations. All party members worked fine and they even showed different clothing properly. That is jedi robes would appear on them.

Although party members do have portraits, your original portrat still remains. I presume that you would have to link the appropriate portraits with the script but I don't have a clue how to do that.

Lastly, you lose the new model when you transition to another world such as when you go to Taris from the Endar Spire. I think that you already knew that one.

Great work from both of you. Keep it up and newbies like me will keep playing with them.

Stator
 Zhoken
01-06-2004, 10:39 PM
#6
Just to make something clear, the change model script and the modified haertbeat script is not my creation. Override367 and Lil'jawas did all the work, and all the praise should be directed at them.. I just posted it here to pass along the methods.

Have fun with the scripts

-Zhoken.
 Stator
01-06-2004, 10:59 PM
#7
I've given praise to Override367 in some of my other posts. I'm sure he won't shoot me for missing him this one time. :p :p

I personally feel that praise and thanks should go out to everyone who is working towards expanding this game. Quite honestly, without mods, many games would hit the dust bin after they have been played a few times. Mods keep the games fresh and gives people reasons to play them over and over again. Keep up the good work everyone.

Stator
 Zhoken
01-06-2004, 11:17 PM
#8
Quite true!

I did'nt mean to sound so serious about it..heh.. I just really appreciate all the hard work these guys have done and didnt want any misconceptions...

Kept up the great work guys..

Z.
 override367
01-07-2004, 12:26 AM
#9
On the contrary I DEMAND you give me credit! :p

lol

I wish I could mod more but busy moving... in my absence the far more talented folks can pump out random script-based mods, I would however like to know if there are any websites that would host KOTOR scripts, I have a few that just need cleanup and can be uploaded as mods
 Lundquist
01-16-2004, 10:05 AM
#10
First off, I'd like to give praise to those who have made these scripts, how the heck you ever did it is beyond me.

Second, I'd like to know if I've done it wrong, I've followed the instructions but something weird seems to happen. In the introduction, most of the time time the original selected character is in the bed for a few seconds, then it seems the script kicks in and places the character in the middle of the room so the camera just film the wall (the almost opposite has also happened where the override charcter is in the bed, and Trask comes in and talks to the air).
Also, the original character seems to appear in the "safe" places (the appartment, Ebon Hawk) but as soon as I leave these areas the override character appears again.
This isn't something that bothers me really, I'd just like to know if there's something I've missed.

EDIT: That's not exactly true, it's only the original character the first time inside the Ebon Hawk, when going to a new world.
 Talchia
01-16-2004, 4:48 PM
#11
@Lundquist

The EffectDisguise will destroy any cinematic animation, thats the bad point on script model change. For that you need to stop with scripting and head over to the 2das. I wrote two mods with that, Carnival and TwiÒ‘lek Mania. There you have full animation support and your own portraits. Bad point on this method, you must start a new game if you dont want a random model ;).

Maybe I will write a tutorial for editing the model with 2da.

Swoop Modding Garage (http://home.t-online.de/home/Talchia/)
 Lundquist
01-16-2004, 6:21 PM
#12
Hey! That's pretty sweet:)
Is it possible to edit it so you get another head in revan's robes instead of Uthar's? Like keeping the head you select in the beginning?
A turorial would be the answer to my praiers.

Edit: I've studied the 2da, and found out how to replace the head with anyone I want - this is VERY VERY cool.
 MrCairo
01-21-2004, 11:18 AM
#13
i used this script and it worked fine until the original bastila turns up and has no head. is there any way of fixing this?
 peloquin
01-21-2004, 9:45 PM
#14
just for a temp fix just f4 and save where you are when it happens and load it back up again. She'll get her head back then.
 eidospsogos
01-21-2004, 10:53 PM
#15
you said you know how to replace the head with anyone you want? do you know how to replace the body, but keep your head? so that you could say, keep the head you chose originally and wear bandon's armor as it appeared on him? :)

so yeah a tutorial on how to do something like this through a .2da would be nice.
 MrCairo
01-22-2004, 7:59 AM
#16
Thanks for the replies, but i found a 2da tutorial elsewhere on the forums and have used that instead. Works perfectly. Again, thanks anyway guys.
 Lundquist
01-22-2004, 8:47 AM
#17
eidospsogos: Yes, that is very much possible - just follow the Tutorial in Talchia's Swoop Modding Garage.
Page: 1 of 1