DarthParametric 3,783 Posted December 30, 2019 Hrm. Try this and see if there is any change. If not, there could be something going on with playing it in a conversation. I was only expecting it to be played by background NPCs that loop it and nothing else. Quote Share this post Link to post Share on other sites
Salk 374 Posted December 30, 2019 Unfortunately it did not make any difference. Weird... Quote Share this post Link to post Share on other sites
JCarter426 1,214 Posted December 30, 2019 The left arm not moving is a common problem with porting animations from one supermodel to another. Usually caused by the wrong binary model being used as the source, in my experience. Quote Share this post Link to post Share on other sites
DarthParametric 3,783 Posted December 30, 2019 It was using your modder's resource binary model as the source. @Salk try the revised attachment above. Quote Share this post Link to post Share on other sites
Salk 374 Posted December 30, 2019 (edited) I fear that didn't improve things. If anything, it made things worse. The right arm stays outstretched for all male models and it breaks facial and legs animations as well (this new issues are caused by the s_male02.mdl/mdx files). This video shows the new result: As further note I'd like to report that even if not in a conversation (I put the animation in the user define script), the result is identical. Edited December 30, 2019 by Salk Added extra information 1 Quote Share this post Link to post Share on other sites
DarthParametric 3,783 Posted December 30, 2019 OK, thanks to @JCarter426 sharing his dark secrets, I think this should work. Start by pasting fresh copies of JC's supermodels into the Override to make sure you've cleaned out the old broken junk. Then try this. K1_Standing_Drinker_Stunt_Model_Edit_Alvar007_Version_TSL_Robes_v3.7z 1 1 Quote Share this post Link to post Share on other sites
ebmar 893 Posted December 30, 2019 6 hours ago, DarthParametric said: ...I think this should work. Here to confirm that it does working indeed - Spoiler Alvar007_NPCDrinkingAnimation.mp4 The animation went very smoothly and well timed. Cool stuff, @Alvar007! Thank you for the handiwork. Big thanks also to DarthParametric for compiling the supermodel and JCarter426 for the resource. 2 Quote Share this post Link to post Share on other sites
Salk 374 Posted December 30, 2019 (edited) I can also confirm its perfect functionality. It feels another hard barrier has been broken today thanks to these three guys... It was a wonderful birthday present. Thanks! EDIT: Upon further testing I did notice a problem with the female model, the swing of the arm is such that the glass goes to her chin rather than her mouth. I am not sure whether it is possible to do something about it? Edited December 30, 2019 by Salk Additional information 1 Quote Share this post Link to post Share on other sites
DarthParametric 3,783 Posted December 31, 2019 It would require a female version of the anim. Quote Share this post Link to post Share on other sites
Salk 374 Posted December 31, 2019 Perhaps @Alvar007 will pull another rabbit from his hat. 🙂 Quote Share this post Link to post Share on other sites
DarthParametric 3,783 Posted December 31, 2019 Here's an FBX of the animation scaled to the female rig if that is of use @Alvar007. Although I suspect the rig will be of more use than the anim itself, due to it being baked out to a zillion keyframes. I guess you'll need to retarget the source anim? Alvar007_Drinking_Anim_Female_Scaled.FBX 1 Quote Share this post Link to post Share on other sites
JCarter426 1,214 Posted December 31, 2019 And I've updated the supermodel port with that modular stuff, and also the notes of dark secrets. 1 Quote Share this post Link to post Share on other sites
Alvar007 130 Posted January 1, 2020 I fixed the female version, it wasn't easy with the quatrillion keyframes that KotORMax generates but I did it: Also added compatibility for JC's Supermodels Port: Both of them have two copies of the animation, one for humanoids (weld) and the other one for placeables (animloop04). Due to the different structure between the two rigs, the keys are not exactly the same so I had to reposition them for each version. Choose the one you want to use since you will be using just one at a time so there would be no problems. I included two supermodels: "S_Female03-robes" for the TSL version and "S_Female03-norobes" for the vanilla version. Just rename the one you want to use to "S_Female03". I also tweaked the male version to fix some clipping that made the animation look ugly while I was at it: Thank to JC for the additional info on the Supermodels, at first it was a little hard to get it but I think I understand everything now. Happy New Year! drinking_fixes.rar 1 1 1 Quote Share this post Link to post Share on other sites
DarthParametric 3,783 Posted January 1, 2020 Judging by Bastila's face, you need to dampen (or just remove) the transforms for the brow bones. 1 Quote Share this post Link to post Share on other sites
Salk 374 Posted January 1, 2020 Happy New Year, Alvar007! And thanks for yet another amazing job done so quickly. A couple of questions: 1) In the file you uploaded there is also "S_ExtraF01". What is it? 2) If I want to use the animation for the game's protagonist, (s)he may or may not wear a robe at the time and I do use JC's Supermodel Port. If I choose to use S_Female03-robes then the animation will not work correctly each time the female model is not wearing a robe? Thanks a lot again! Quote Share this post Link to post Share on other sites
Salk 374 Posted January 1, 2020 Hello again! I am trying to make progress on my dialogue/cutscene and at the moment I have two minor issues: 1) I use the AcionPlayAnimation() function but I noticed that the starting frame for the animations is not consistent, meaning I give a time to the looping animation (in my case 7.5 seconds) and the animation itself starts off at different frames. What does it depend on? I can provide the script I am using and attach a video if I am being unclear. 2) In order to have the PLAYER play the animation, I need to temporarily create and equip two items (g_w_blstrpstl013.uti and w_emptyhnd_01.uti) in the right and left hands. Before the conversation resumes, I have them destroyed of course. The minor problem here is given by the game message about acquiring and losing item(s) shown at the end of the conversation. Is there a way to disable it? Thanks! Quote Share this post Link to post Share on other sites
DarthParametric 3,783 Posted January 1, 2020 For the latter, none of the functions for giving/creating/taking/destroying items on a player have any feedback suppression options. But you could try this perhaps: // 763. SuppressStatusSummaryEntry // This will prevent the next n entries that should have shown up in the status summary // from being added // This will not add on to any existing summary suppressions, but rather replace it. So // to clear the supression system pass 0 as the entry value void SuppressStatusSummaryEntry(int nNumEntries = 1); You probably also want to spawn a couple of invisible placeables which you can use to store the values of any equipped weapons so you can re-equip the player afterwards. If you need an example, you can check out what K1CP did to hide the player's weapons during the Taris swoop platform cutscenes, scripts k_ptar_playermec, k_ptar_swoop0, k_ptar_swoopnew, k_ptar_brejikatk. Your other option is to create a stunt player that duplicates the player's appearance. Hide the PC offscreen and have the stunt player do the drinking scene. 1 Quote Share this post Link to post Share on other sites
Salk 374 Posted January 1, 2020 I gave it a try. The storing of the weapon worked very well in Taris but on Manaan, we can expect the Player to wield a lightsaber and in this case when it is equipped back it stays unfortunately "turned on" until swapped to another weapon or a new area is loaded. The SuppressStatusSummaryEntry() function seemed to be not working or working only partly. I may have to just drop the idea of having the Player use the drink animation. 😔 Cheers! Quote Share this post Link to post Share on other sites
DarthParametric 3,783 Posted January 1, 2020 I'd just go with the clone option. Although regarding the saber being ignited, you can use the SetLightsaberPowered function to override it. Just make sure you disable it straight afterwards or their saber/s will be stuck off permanently. 1 Quote Share this post Link to post Share on other sites
JCarter426 1,214 Posted January 1, 2020 If it's in a cutscene, you could have it as a cutscene animation instead. I haven't tried using them on items, but I don't see any reason why it wouldn't work, assuming they have unique tags. CreateItemOnFloor("g_w_blstrpstl013", lSomeLocation, FALSE); CreateItemOnFloor("w_emptyhnd_01", lSomeLocation, FALSE); ...and then add them as cutscene participants, and make a stunt model for each item and the player. Quote Share this post Link to post Share on other sites
DarthParametric 3,783 Posted January 1, 2020 You'd only need the glass, since the other one is just a null object to allow dual wielding. But a stunt anim, even if used for a single node, would require static cameras for the entire scene. Any shots with dynamic cameras freak out if you use a stunt anim anywhere in the convo based on my prior experiments. And of course someone would actually have to make the stunt anim. 1 Quote Share this post Link to post Share on other sites
Salk 374 Posted January 1, 2020 Hello again! 4 hours ago, DarthParametric said: I'd just go with the clone option. Although regarding the saber being ignited, you can use the SetLightsaberPowered function to override it. Just make sure you disable it straight afterwards or their saber/s will be stuck off permanently. That sounds interesting. Could you tell me a little more about the "clone option"? How does it work? And good suggestion about the SetLightsaberPowered() function... I had forgotten about it. Cheers! Quote Share this post Link to post Share on other sites
DarthParametric 3,783 Posted January 1, 2020 1 hour ago, Salk said: Could you tell me a little more about the "clone option"? How does it work? Using void DuplicateHeadAppearance(object oidCreatureToChange, object oidCreatureToMatch); You'd need to create two dummy UTCs, one male, one female, each equipped with the glass and null blaster and with the Proficiency All feat. Then under a fade to black you'd jump the PC somewhere out of sight and spawn in the fake of the appropriate sex, clone the PC's head onto it and duplicate their equipped armour/robes/clothes. The meat of your script could look something like this: object oPC = GetFirstPC(); object oFakePC; object oBodyItem = GetItemInSlot(INVENTORY_SLOT_BODY, oPC); location lSpawnPoint = Location(Vector(1.1,2.2,3.3), 0.0); if (GetGender(oPC) == GENDER_FEMALE) { oFakePC = CreateObject(OBJECT_TYPE_CREATURE, "FAKE_PC_TEMPLATE_FEMALE", lSpawnPoint, FALSE); } else { oFakePC = CreateObject(OBJECT_TYPE_CREATURE, "FAKE_PC_TEMPLATE_MALE", lSpawnPoint, FALSE); } if (GetIsObjectValid(oBodyItem)) { object oNewOutfit = CreateItemOnObject(GetTag(oBodyItem), oFakePC, 1); AssignCommand(oFakePC, ActionEquipItem(oNewOutfit, INVENTORY_SLOT_BODY, TRUE)); } DuplicateHeadAppearance(oFakePC, oPC); Then once that scene is done, under another fade to black you destroy the fake PC and jump the real PC back into position. Obviously this only works for pure cutscenes. You can't do it for a conversation requiring PC responses (at least during this part of it). 1 Quote Share this post Link to post Share on other sites