Jump to content

Home

A voice for Revan K1


TWINKEYRUNAWAY
 Share

Recommended Posts

I like what Fallen guardian suggested. What if only the major scenes were voiced? I guess it would feel weird that the majority of lines not recorded. But it would be interesting to have that one part where you guys find out your character is revan and then all of your party meets up to discuss what happened after the leviathan and have your character speak.

 

Sith holocron brings up a very major point. All that trouble for voice work and lip syncing not compatible with mods like BOS would turn people away. Though, if fallen guardian's suggestion was taken into account, maybe it can be a possibility?

Link to comment
Share on other sites

It would be incompatible with any mod that alters the original game dialogues, obviously... but that's much less of an issue than TLK compatibility, which would not be an issue as there are already TLK entries for the player's responses. I believe TSLPatcher supports DLG files to some degree as well.

Edited by JCarter426
Link to comment
Share on other sites

I think you're overreacting Holocron, it's not really as bad as you think. Let me answer some of the issues you brought up.

 

A- Compatibly. Yes there will be problems with that, and unfortunately there's no avoiding it. It won't exactly **** up the game, but it will just be weird seeing the PC voiced in some conversations and not in others. However, I'm perfectly happy playing vanilla k1 with a voice mod like this.

 

B. - Dedication: You'd be surprised on how many people would be willing to do such a project. Look at game developers, they put 3-4 years of their life into developing a great game. Take Mass effect, for example, the amount of effort into making such a game the way it is is much more than doing a project like this, so really dedication will probably be an issue at times but it's not like you need to be insane to do the project.

 

If you're suggesting that everyone does have a short attention-span (I know some people do, but then again when you have experience it lengthens it), then we wouldn't see all of the mods out today, I.E. - TSLRCM

Link to comment
Share on other sites

All right, so I went and started scripting the things just to see if it'd even be possible to completely duplicate your PC (armor, weapons, head items, etc.). I got the spawning to work so the duplicate that spawns will be the right height/gender, but even the though the script that would equip the duplicate with the right stuff compiles, when I attempt to run it in-game the script doesn't work. Here's the script itself:

 

void main()
{

  object oPC = GetFirstPC();

  object oDuplicate = GetObjectByTag("dup_pcfm");

  object oRWep = GetItemInSlot(4, oPC);

  object oLWep = GetItemInSlot(5, oPC);

  object oHGear = GetItemInSlot(0, oPC);

  object oArmor = GetItemInSlot(1, oPC);

     string sTRWep = GetTag(oRWep);

     string sTLWep = GetTag(oLWep);

     string sTHGear = GetTag(oHGear);

     string sTArmor = GetTag(oArmor);

        object oRWepD = GetObjectByTag(sTRWep);

        object oLWepD = GetObjectByTag(sTRWep);

        object oHGearD = GetObjectByTag(sTRWep);

        object oArmorD = GetObjectByTag(sTRWep);


        CreateItemOnObject(sTRWep, oDuplicate, 1);

        CreateItemOnObject(sTLWep, oDuplicate, 1);

        CreateItemOnObject(sTHGear, oDuplicate, 1);

        CreateItemOnObject(sTArmor, oDuplicate, 1);


           AssignCommand(oDuplicate, ActionEquipItem(oRWepD, 4, TRUE));

           AssignCommand(oDuplicate, ActionEquipItem(oLWepD, 5, TRUE));

           AssignCommand(oDuplicate, ActionEquipItem(oHGearD, 0, TRUE));

           AssignCommand(oDuplicate, ActionEquipItem(oArmorD, 1, TRUE));


              DuplicateHeadAppearance(oDuplicate, oPC);


}

 

I put in a sendmessage to PC function in various spots a bit ago, to see if it was cutting off at some point, and apparently it cuts off after the CreateItemOnObject. Now I know both JCarter and Hassat Hunter, who are both very good at scripting, have looked at this thread so I was wondering if they, or anyone, could help me figure out what the problem is with the script.

Link to comment
Share on other sites

Oh, it's possible. I've already written a script for that in K2; it also copies appearance. Should work in K1 as well. Thanks, by the way... I try my best. :)

 

Here's a fragment... or rather some fragments as I cut out the K2-only stuff:

int iI;
// Clear INVENTORY
 for( iI = 0; iI <= 19; iI++ ) {
ActionUnequipItem(GetItemInSlot(iI, oClone), TRUE);
}
//Copy INVENTORY
 for( iI = 0; iI <= 19; iI++ ) {
if( GetIsObjectValid(GetItemInSlot(iI, oTarget)) ){
	AssignCommand(oClone, ActionEquipItem(CreateItemOnObject(GetTag(GetItemInSlot(iI, oTarget)), oClone, 1, 1), iI, TRUE));
	}
}
// Copy APPEARANCE
ApplyEffectToObject(2, EffectDisguise(GetAppearanceType(oTarget)), oClone, 0.0);

One issue is there's no way to get a weapon's template; I had to resort to grabbing the tag and assuming it's the same as the template. It usually is, but that might not be the case for a few items. Shouldn't matter too much though.

 

Also, K1's inventory slots don't actually go up to 19, but that shouldn't matter. Feel free to change it to the correct number; I'm too lazy to look it up... probably 17 but meh. :p

 

I imagine one would also desire to make the player invisible. I'm not 100% sure how one would do that in K1 (I always use the supper cheap Lightsaber_Floating appearance for K2), but it's probably possible.

 

Incidentally, I've done all of the above with feats, powers, skills, class, level, and attributes in K2. That's not all possible in K1. I can fully clone any creature in K2... and I'll be releasing this quite soon.

Edited by JCarter426
Link to comment
Share on other sites

Thanks JC! I tried it out but the clone still won't change his inventory. :/ Did I set it up correctly? (The clone I have spawn has nothing equipped to begin with so I didn't use the clear inventory code.)

 

void main()
{

object oClone = GetObjectByTag("dup_pc");

object oPC = GetFirstPC();


ApplyEffectToObject(2, EffectDisguise(GetAppearanceType(oPC)), oClone, 0.0);

int iI;

 for( iI = 0; iI <= 18; iI++ ) {
if( GetIsObjectValid(GetItemInSlot(iI, oPC)) ){
	AssignCommand(oClone, ActionEquipItem(CreateItemOnObject(GetTag(GetItemInSlot(iI, oPC)), oClone, 1, 1), iI, TRUE));
	}
}
}

Link to comment
Share on other sites

Hmm. It looks right to me... not sure why it won't work. Try putting:

SendMessageToPC(GetFirstPC(), IntToString(iI));

after the ActionEquipItem line, to see if that part is running properly.

 

And yeah, clearing the inventory was really just a safety precaution. You probably don't need it.

Link to comment
Share on other sites

Make sure the conversation doesn't hide items. I've spend lots of time getting items equipped once, and it never worked due to that.

That's a good point. I don't think most dialogues in K1 have it hidden by default, but it's something to look out for.

@ JCarter; An "invisible" player doesn't allow lipsync though, the way a clone would.

If you're going to have an NPC doing the talking, you need to get rid of the real PC, no? Don't want two of them standing around.

Link to comment
Share on other sites

Anyway, when I execute the script I get the numbers 1,4,7,8 and 10 printed back in the log file.

Well, that's good news. That means it is recognizing which slots are filled. Is there a chance it's not grabbing the clone object correctly? That would be my guess. GetNearestObjectByTag might fix it. You could also try:

object oClone = CreateObject(whatever, whatever)

Link to comment
Share on other sites

Well, that's good news. That means it is recognizing which slots are filled. Is there a chance it's not grabbing the clone object correctly? That would be my guess. GetNearestObjectByTag might fix it. You could also try:

object oClone = CreateObject(whatever, whatever)

 

No I don't think it could be that. I spawned the clone with a different script to make sure it had the right gender and class (height). All the variations of the PC that can spawn have the tag "dup_pc". There templates are different but I don't think that'd make much of a difference...

 

I had it running the duplicateheadappearance function rather than the stuff you gave me to change the appearance and it did change the head to the correct one, but no inventory change. The duplicate has proficiency all as a feat, so that shouldn't be a problem either.

Link to comment
Share on other sites

Yeah, but sometimes GetObjectByTag just doesn't work. Try something else, can't hurt.

 

Also, I believe DuplicateHeadAppearance specifically changes the head, not the body. If someone were to, for example, change the clothing model for their player character, the clone would not register this as it would be using a different appearance.2da line for the body. That's why I used a disguise. DuplicateHeadAppearance also only lasts as long as you're in the module, since the game refreshes heads every time it loads a module... though that probably wouldn't be an issue here as you would be deleting the clone after every cutscene anyhow.

Link to comment
Share on other sites

 Share

×
×
  • Create New...