DarthParametric

Modders
  • Content Count

    4,727
  • Joined

  • Last visited

  • Days Won

    538

Everything posted by DarthParametric

  1. 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.
  2. 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.
  3. 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.
  4. 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:
  5. 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:
  6. 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?
  7. 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.
  8. 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.
  9. The TXI semantic is blending additive. The alpha is the logo itself. The RGB is just a solid yellow.
  10. 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.
  11. 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.
  12. The Listener log would seem to indicate that the script loaded fine. Not sure what the issue is there exactly.
  13. 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.
  14. Are you using the GMax version of the script?
  15. A missing TXI is the only other thing that immediately springs to mind, assuming the image is RGBA.
  16. Did you manually replace each instance, or just do a simple replace all? There's also a LMA_wall01c, which would have been changed to JUM_wallc with a replace all, assuming it is used in the same model. Do a search in the edited file for any instances of JUM_wallc.
  17. Oh yeah, whoops, keep forgetting it's only Jade Empire that uses DX.
  18. Not exactly. Character/animated models are a bit more complex. I'd advise not getting ahead of yourself. Get some experience under your belt with simple saber and blaster mods first.
  19. Could be a DirectX12 issue. While Microsoft has always espoused the notion that DirectX is fully backwards compatible, it's really not in practice. The game needs DirectX9, so try installing it from here - http://www.microsoft.com/en-us/download/details.aspx?id=35 It won't affect DX12, it will install alongside it. If you have Steam, there are probably DX redestributables already in one of your game folders.
  20. Assuming what is shown in the textures list text file is your hilt diffuse, probably excessive character length in the filename. Chop it down to something more reasonable, under 10 characters.
  21. I got a bit side-tracked by poking my nose into The Witcher 3's innards after CDPR released an unpacker/mesh converter yesterday, but I have managed to make a few tweaks to the Kel Dor, adding in some brow wrinkles/folds and UV mapped him. I also edited the underwear model to change the hands to something species-appropriate, as I figured I'd have to reskin that anyway with all the bare flesh. Not sure if I'll add the hands to all the other body models. Will see how it goes I guess.
  22. They don't, they use TPC natively. Although functionally, it's pretty much the same as any other RGBA format. I'm not even sure why Odyssey reads TGAs. It must be some holdover from Aurora.
  23. Looks like more blur in the 128 to me. I guess it depends on personal preference. For myself, I'd rather the 256, at least on that minor evidence.
  24. It's because the OBJs were exported with no MTL, material definition files. Open the OBJ in Notepad or other text editor. At the top of the file, add the line: mtllib Harbinger.mtlCreate a new text file called Harbinger.mtl (make sure file extensions aren't hidden). For the original texture, put in the following: newmtl Harbinger illum 2 Kd 0.800000 0.800000 0.800000 map_Kd V_Hammrhd01ORIGINAL.tgaFor the new textures, use this: newmtl Harbinger Ns 50.781250 illum 2 Ka 1.000000 1.000000 1.000000 Kd 0.800000 0.800000 0.800000 Ks 1.000000 1.000000 1.000000 map_Ka V_Hammrhd01Inc.png map_Kd V_Hammrhd01Color.png map_Ks V_Hammrhd01Spec.png bump V_Hammrhd01Bump.png
  25. Looks like LMG_HUD01 is the overlay, and I would guess LMG_Grad02 is used for the bars. Although that doesn't have the green arrows bit in the center.