Sith Holocron Posted August 21, 2012 Share Posted August 21, 2012 And there's a matter of compatibility, as well. What about all the popular mods available - like Brotherhood of Shadow: Solon's Revenge - would those be ignored? Link to comment Share on other sites More sharing options...
TWINKEYRUNAWAY Posted August 21, 2012 Author Share Posted August 21, 2012 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 More sharing options...
Sith Holocron Posted August 21, 2012 Share Posted August 21, 2012 Why not just set up a tutorial on how to have the folks do it themselves? Once they know how to do it themselves, then it's up to the actors to record the lines, make the scripts, and find a place to host it. Link to comment Share on other sites More sharing options...
JCarter426 Posted August 21, 2012 Share Posted August 21, 2012 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. Link to comment Share on other sites More sharing options...
Slstoev Posted August 21, 2012 Share Posted August 21, 2012 And there's a matter of compatibility, as well. Would it be covering vanilla TSL or the TSLRCM? Wait, why are you talking about? This is for K1, isn't it? Link to comment Share on other sites More sharing options...
Sith Holocron Posted August 21, 2012 Share Posted August 21, 2012 Wait, why are you talking about? This is for K1, isn't it? I've now corrected my earlier post. (What can I say? I also had that game and mod on the brain.) Link to comment Share on other sites More sharing options...
Bob Saget Posted August 21, 2012 Share Posted August 21, 2012 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 More sharing options...
Fallen Guardian Posted August 22, 2012 Share Posted August 22, 2012 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 More sharing options...
JCarter426 Posted August 22, 2012 Share Posted August 22, 2012 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. 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. Link to comment Share on other sites More sharing options...
Fallen Guardian Posted August 22, 2012 Share Posted August 22, 2012 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 More sharing options...
JCarter426 Posted August 22, 2012 Share Posted August 22, 2012 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 More sharing options...
Hassat Hunter Posted August 22, 2012 Share Posted August 22, 2012 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. @ JCarter; An "invisible" player doesn't allow lipsync though, the way a clone would. Link to comment Share on other sites More sharing options...
JCarter426 Posted August 23, 2012 Share Posted August 23, 2012 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 More sharing options...
Fallen Guardian Posted August 23, 2012 Share Posted August 23, 2012 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. No, it's definitely not that. Anyway, when I execute the script I get the numbers 1,4,7,8 and 10 printed back in the log file. Link to comment Share on other sites More sharing options...
TWINKEYRUNAWAY Posted August 23, 2012 Author Share Posted August 23, 2012 This is way off topic but...fallen guardian is an epic name kinda think of it. Link to comment Share on other sites More sharing options...
JCarter426 Posted August 23, 2012 Share Posted August 23, 2012 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 More sharing options...
Fallen Guardian Posted August 23, 2012 Share Posted August 23, 2012 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 More sharing options...
JCarter426 Posted August 23, 2012 Share Posted August 23, 2012 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 More sharing options...
Fallen Guardian Posted August 23, 2012 Share Posted August 23, 2012 Okay, will do. And I see your point about the duplicatehead stuff, I'll change it to your method. Link to comment Share on other sites More sharing options...
Fallen Guardian Posted August 23, 2012 Share Posted August 23, 2012 All right, I tried both CreateObject and GetNearestObject and neither changed the inventory successfully. The numbers still showed up in the log file however. Link to comment Share on other sites More sharing options...
Hassat Hunter Posted August 23, 2012 Share Posted August 23, 2012 Looking at my own attempt (from KOTOR2 though); DelayCommand(0.3, AssignCommand(GetObjectByTag("203_Luxa", 0), ActionEquipItem(CreateItemOnObject(GetTag(GetObjectByTag("w_blaste_x05")), OBJECT_SELF, 1), INVENTORY_SLOT_RIGHTWEAPON, 1))); Have you tried adding the "ActionEquipItem"? Link to comment Share on other sites More sharing options...
Fallen Guardian Posted August 24, 2012 Share Posted August 24, 2012 JC's script already has ActionEquipItem put in there. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.