DarthParametric

Modders
  • Content Count

    4,538
  • Joined

  • Last visited

  • Days Won

    511

Everything posted by DarthParametric

  1. See that tiny little red rectangle in the bottom right corner of I_VerpHBnd? That's the visor.
  2. As I said in a previous post, I did look into various audio filters to get that sort of muffled, mechanical sound Kel Dor seem to have. I think it should be feasible. I was practising with some of Grenn's TSL dialogue as it always annoyed me that not only does he use the same voice actor as Davik from K1, but seemingly uses the same head model as well. Not sure if that was just laziness or meant as an in-joke. Regardless, he seems like a prime candidate for a head transplant. As to Sith Purebloods, I have enough on my plate currently with two Nautolans, a Kel Dor, and a cyborg head to finish. Once that lot is out of the way, maybe I'll consider it. I would be interested to see how the tendrils would look as dangly meshes/AuroraFlex, like they use for some bits of hair.
  3. You just need to change the variation used in the UTI to whatever variation ID the models use.
  4. That's some mighty fine quadruple posting, son. The outfit wouldn't be overly difficult to replicate as a reskin from one of the existing armour models, but the helmet would require a new model. Would probably have clipping issues with hair for PCs though, given the way KOTOR helmets work. Edit: PMBF would be the best bet for the leg pouches, but PMBE might be better for the flatter chest. You could merge the two for the Republic soldier custom APR rows, but that would be out for player use (unless you want to replace one of those models and retexture all the variants).
  5. I don't have any eyelids on the Nautolans. They weren't originally supposed to have any canonically, but I think there was some Clone Wars episode where they added them. I noticed when talking to an NPC in SWTOR that their models do have them. My eyeballs are static, as are the SWTOR ones. In both cases, I think the bone offsets would be problematic, given the fairly substantial differences in facial structure. The same probably goes for eyebrow movements. Mouth/lip movement should be ok though, as I purposely left that area the same as the original base head. Edit: Here's a comparison. The male's brows aren't too bad, but the female's are way up in the hairline. For the Kel Dor, eyes/lids obviously aren't required. I think the brows might be OK, as they aren't significantly higher than the base human. Not really sure what the best approach for the mouth area might be. A little bit of breath mask movement while talking might be desirable for NPCs, but I'd prefer the shape of the mask itself to remain fairly rigid. Maybe add a bit of jawbone influence perhaps? As to UV seams, yeah, there are hard edges there by necessity to prevent MDLOps trying to stitch together shared edges. I've tried to mask it as best as I can though, running seams in areas mostly out of sight. The ones I was most worried about were where the Nautolan head tails join the face, but in-game that actually doesn't seem particularly egregious, somewhat to my own surprise. Edit 2: Redid the female Nautolan's weights again. I'd previously tried a bit of dangly mesh/AuroraFlex action, but that didn't turn out too hot. I think the head tails may need a few more loops, there is a bit of nasty distortion in places with certain extreme head movements. Face seems like it is pretty reasonable though, at least for the PC. Might need to try it with an NPC and see how that looks when talking.
  6. Ah sorry. I have all the archives extracted specifically to avoid having to deal with trying to find stuff like that, so I just made an assumption from a quick glance in Kotor Tool. Maybe stuff being spread around like that is why Obsidian just dumped all the models into a single archive for TSL.
  7. Just look for trailing S, M, or L on the model names. For example, PMBAS, PMBAM, PMBAL are the three male underwear models. They should all be in Player.BIF.
  8. It's already a helmet/mask item. That was the only way to use a separate texture for it. It's already scripted to be equipped while in the kolto tank on Peragus, so the game proper is fine. It's just getting the appearance in the prologue/tutorial to work properly that is a pain in the ass.
  9. A disguise overrides any equipped items. Like using the sandpeople disguise in K1. That's why I decided to try replacing it altogether. I'm wondering now if a better idea might be to make my own dummy full body appearance and force the original to use that as a disguise. Probably quicker to knock that together than continuing to beat my head against this.
  10. The 2DA says M. I haven't checked all the models, but the male BA/underwear model at least is indeed in the middle height-wise, 1.55m at the top of the neck versus 1.51m and 1.60m for the small and large, respectively. Interestingly the height column for all entries, in both K1 and TSL, is 1.6m, so I'm not sure what that actually does.
  11. I had a peek at the source for the WhereAmI armband and used some of that to print out the position: object oOrigDummy = GetObjectByTag("MEDBAY_PC", 0); vector MedPCPos = GetPosition(oOrigDummy); string X_Coordinate = FloatToString(MedPCPos.x, 5, 5); string Y_Coordinate = FloatToString(MedPCPos.y, 5, 5); string Z_Coordinate = FloatToString(MedPCPos.z, 5, 5); string DummyPos ="> " + X_Coordinate + "> " + Y_Coordinate + "> " + Z_Coordinate; Then just used SendMessageToPC(oPC, DummyPos)I already knew from my various experiments that the orientation was 270°, so didn't bother getting that as well. Unfortunately, that didn't really help. Altering the position even a little just ends up forcing him onto the floor beside the bed again.
  12. Yeah I tried grabbing the position of the MEDBAY_PC dummy, but it's the same position as the invisible marker (which makes sense). The original dummy UTC is set to one of the Asian female player appearances and then the script applies a disguise using whatever appearance the player chose. I can't see any reason why my UTC should be different. All character models should have their origin at the feet, notionally. I also tried switching the UTC to other appearances, like Vrook, Atton, etc., and it still does the same thing. If I could get the script to print that position to the log, perhaps I could then try manually specifing it again with a slightly offset value. Thanks for the tip on shortening the script. I have no clue about scripting, so had to cobble these together by looking at the originals and taking relevant bits and pieces from various script advice posts at LucasForums over the last decade.
  13. No doubt, although it wouldn't have been that big a deal to scale the robe models, it's not like they'd need to remodel them from scratch or anything. And they kept all the K1 models, as I said, although it seems like the BA (naked/underwear) models have unique UVs and they didn't include the L and S textures for those. But they did keep the BB models and textures (scoundrel/scout/soldier outfits), despite them apparently not being used (TSL uses the N_Comm/N_CommF commoner models instead). Again, just seems odd to me. Might play around and put them back, see what happens.
  14. Has anyone noticed that while K1 uses three different size body models, small, medium, large, that TSL doesn't? It still has the 3 S/M/L entries for them in appearance.2da and still has all the models from K1 with 3 sizes for each variation, but appearance.2da just points to the medium models for everything. The new robe models Obsidian added for TSL only come in the medium size though, so perhaps that's why. Still, seems odd. It would be an easy edit to re-enable them, although I imagine that might screw up some cutscene/conversation camera framing.
  15. So I figured out part of my problem with not being able to equip the headgear to unconcious PC in the tutorial, in that it's actually a UTC of a female with a disguise applied to it by the OnEnter script, set to whatever the appearance ID of the player is. I figured I could just delete that one altogether and spawn in my own creature without a disguise that would have the headgear equipped, but again I have hit a roadblock. I can delete the original dummy player and spawn in my own, but it won't show the headgear regardless of being equipped in the UTC or even if I try to force it via the script. It's also being stubborn with positioning. If I try and use the hook that the original uses, "InvisibleLocationMarker", my guy ends too far up the bed, so his head and upper torso clip through the wall. If I try and use a manual position, it seems to ignore height and won't raise him off the ground. Here's the script I have so far (using a manual position): void main() { object oPC = GetFirstPC(); object oOrigDummy = GetObjectByTag("MEDBAY_PC"); vector vLobotVec = Vector (43.0, 36.0, 1.5); location lLobot = Location(vLobotVec, 270.0); if(GetAppearanceType(oOrigDummy) == #2DAMEMORY2#) { DestroyObject(GetObjectByTag("MEDBAY_PC")); object oC_MedbayLobot = GetObjectByTag("DP_Medbay_Dummy", 0); if ((!GetIsObjectValid(oC_MedbayLobot))) { oC_MedbayLobot = CreateObject(1, "DP_MedbayLobot", lLobot); AssignCommand(oC_MedbayLobot, ActionPlayAnimation(30, 1.0, (-1.0))); } object oDPCyborg1 = CreateItemOnObject("a_helmet_179", oC_MedbayLobot, 1, 1); AssignCommand(oC_MedbayLobot, ActionEquipItem(oDPCyborg1, INVENTORY_SLOT_HEAD, TRUE)); } else if(GetAppearanceType(oOrigDummy) == #2DAMEMORY3#) { DestroyObject(GetObjectByTag("MEDBAY_PC")); object oC_MedbayLobot = GetObjectByTag("DP_Medbay_Dummy", 0); if ((!GetIsObjectValid(oC_MedbayLobot))) { oC_MedbayLobot = CreateObject(1, "DP_MedbayLobot", lLobot); AssignCommand(oC_MedbayLobot, ActionPlayAnimation(30, 1.0, (-1.0))); } object oDPCyborg1 = CreateItemOnObject("a_helmet_179", oC_MedbayLobot, 1, 1); AssignCommand(oC_MedbayLobot, ActionEquipItem(oDPCyborg1, INVENTORY_SLOT_HEAD, TRUE)); } else if(GetAppearanceType(oOrigDummy) == #2DAMEMORY4#) { DestroyObject(GetObjectByTag("MEDBAY_PC")); object oC_MedbayLobot = GetObjectByTag("DP_Medbay_Dummy", 0); if ((!GetIsObjectValid(oC_MedbayLobot))) { oC_MedbayLobot = CreateObject(1, "DP_MedbayLobot", lLobot); AssignCommand(oC_MedbayLobot, ActionPlayAnimation(30, 1.0, (-1.0))); } object oDPCyborg1 = CreateItemOnObject("a_helmet_179", oC_MedbayLobot, 1, 1); AssignCommand(oC_MedbayLobot, ActionEquipItem(oDPCyborg1, INVENTORY_SLOT_HEAD, TRUE)); } else { string cmMessage = "FAILED OR NOT DETECTED"; SendMessageToPC(oPC, cmMessage); } } Edit: OK, solved the first issue of the headgear not equiping on the new creature. I forgot it was restricted to the PC only. Whoops. Removing that property allows it to show up, so that was an easy fix. Still stuck with the positioning issue though:
  16. It appears TSLPatcher can substitute 2DA memory tokens before compiling scripts, so if anyone wants to write a suitable script that will equip an item on a player at the start of the game, go right ahead. Leaving aside the actual writing of the script, how do you get it to fire at the start of the game? Edit: Looking around at various script examples, I tried to cobble together something. What do the resident script gurus think of this? Edit 2: OK, testing in TSL I can get the script to fire and to give the item to the PC and have it equip during the kolto tank scene on Peragus. Doesn't add/equip on PCs using a different appearance.2da row. Here's the script attached to 101awake.dlg: void main() { object oPC = GetFirstPC(); if(GetAppearanceType(oPC) == #2DAMEMORY2#) { object oDPCyborg2 = CreateItemOnObject("a_helmet_179", oPC, 1, 1); AssignCommand(oPC, ActionEquipItem(oDPCyborg2, INVENTORY_SLOT_HEAD, TRUE)); } else if(GetAppearanceType(oPC) == #2DAMEMORY3#) { object oDPCyborg2 = CreateItemOnObject("a_helmet_179", oPC, 1, 1); AssignCommand(oPC, ActionEquipItem(oDPCyborg2, INVENTORY_SLOT_HEAD, TRUE)); } else if(GetAppearanceType(oPC) == #2DAMEMORY4#) { object oDPCyborg2 = CreateItemOnObject("a_helmet_179", oPC, 1, 1); AssignCommand(oPC, ActionEquipItem(oDPCyborg2, INVENTORY_SLOT_HEAD, TRUE)); } else { } } However, I'm not having any luck getting it to equip on the PC in the medbay during the tutorial. This is the script attached to intro.dlg: void main() { object oPC = GetFirstPC(); object oExile = GetObjectByTag("MEDBAY_PC"); if(GetAppearanceType(oPC) == #2DAMEMORY2#) { object oDPCyborg1 = CreateItemOnObject("a_helmet_179", oExile); AssignCommand(oExile, ActionEquipItem(oDPCyborg1, INVENTORY_SLOT_HEAD, TRUE)); } else if(GetAppearanceType(oPC) == #2DAMEMORY3#) { object oDPCyborg1 = CreateItemOnObject("a_helmet_179", oExile); AssignCommand(oExile, ActionEquipItem(oDPCyborg1, INVENTORY_SLOT_HEAD, TRUE)); } else if(GetAppearanceType(oPC) == #2DAMEMORY4#) { object oDPCyborg1 = CreateItemOnObject("a_helmet_179", oExile); AssignCommand(oExile, ActionEquipItem(oDPCyborg1, INVENTORY_SLOT_HEAD, TRUE)); } else { } } Is it to do with the GetFirstPC(); and the tutorial having T3 as the player? Here is a test of the animated lights:
  17. I decided to try out the Master Dorak head mesh to see how that looked, as I preferred the shape of the nose. I did want to put an animated texture on it so it would have flashing lights, etc., but the game didn't like me trying to only use one corner of the texture, and you can't use two different textures on a player head. I don't want to make the overall texture tiny just to accomdate animations, so that idea might be out. I was wondering if it might be a better idea just to put in a couple of bald heads, then have the headpiece as a seaparate mask item. It would be prefereable to have it auto-equipped as starting equipment, but is that even possible? And if so I assume it would affect all characters, not just that specific head choice?
  18. It will be a player head (edited thread title to clarify). I used Gadon's model as the base as it is one of the few bald heads present in both games (another is Uthar Wynn). There's also Master Dorak's head, which has a hairline modelled in but would probably work ok with this as that area should be covered. I think one of the bald PMB heads is also shared between games.
  19. Some further procrastination, avoiding having to deal with skinning the Nautolans. I was rooting through one of my cargo holds in SWTOR the other day and came across a Cyborg Construct AM-7 headgear. I decided to take a crack at something similar, but for the front half I went with something more in line with the Borg Construct Aj^6 that Lobot wears in The Empire Strikes Back. The base head is Gadon Thek. His head model is in both K1 and TSL. Other than lopping off his ears and removing the eyebrow ring, he's untouched, so I can just skin wrap him to the original and save myself some grief.
  20. The TXI semantic is blending additive. The alpha is the logo itself. The RGB is just a solid yellow.
  21. No, it's an HK-50 on Peragus. If you are using KOTOR Tool to edit the 2DA, are you actually editing the appearance.2da in the Override folder? If this is Steam and you installed TSLRCM from the Workshop, then you need to look in the mod's Workshop folder - \steamapps\workshop\content\208580\485537937\ - rather than the game's own folder.
  22. So yeah, Program Files strikes again, eh? Your best bet with any Windows install is to set up a separate drive/partition for any programs. I always have a D drive for that.
  23. The Listener log would seem to indicate that the script loaded fine. Not sure what the issue is there exactly.
  24. I always had to start the script manually, the NWMax exe never worked for me, so that in itself is not an issue. After trying to run the script manually, press F11 to open the Listener window and see if it lists any info. Could be worth installing GMax outside Program Files. Windows is super bitchy about stuff running in there.