-
Content Count
4,568 -
Joined
-
Last visited
-
Days Won
514
Content Type
Profiles
Forums
Blogs
Forum & Tracker Requests
Downloads
Gallery
Store
Calendar
Everything posted by DarthParametric
-
The most extreme approach would be to excise as much extraneous geometry as possible, likely requiring changes to how some meshes. like eyes, are animated. The mouthbox would probably still be an issue though. While you could alter it to be smaller, you can't get rid of it altogether.
-
I've been spending a bit of time in K1's Jedi Enclave of late. Running back and forth around the landing pad and inner courtyard reminded me of how much I hated those empty troughs, and how much better TSL's overgrown ponds looked by comparison. I figured I'd try and spruce up the K1 version a bit to create a bit more visual continuity between the two games. I've got some basic ponds set up: But I'm not super happy how they turned out. I'm going to redo the water lilies, taking a different approach (the way I did it seemed like a good idea at the time, but was kind of stupid). I need to darken the water texture a tad, and tone down the UV jitter. It's a bit too animated at the moment for what should be fairly still water. After that I figured I'd add a few vertical elements. Some reeds, maybe some water lily flowers. Possibly some water fountain VFX? Once the ponds are done, I thought a little bit of extra shrubbery here and there wouldn't go astray. I'm open to suggestions for other improvements.
-
You can get the co-ords of any actual lights, sure. For 504OND: SunAurora -533.71211 279.90932 234.846 AuroraLight01 -533.71211 359.2618 559.90398 Seems like AuroraLight01 is the actual sun.
-
Looks to me like the light bake is too uniform. Given the sun position in the scene, the building should be fully lit on the left and in shadow on the right (as you look at the pic).
-
Fair Strides' Script Shack
DarthParametric replied to Fair Strides's topic in General Kotor/TSL Modding
Interesting. The NotReorienting flag is not exposed in KTools K1 UTC editor, only TSL. -
Fair Strides' Script Shack
DarthParametric replied to Fair Strides's topic in General Kotor/TSL Modding
Yeah there's nothing in the UTC that does it, not that I can see at any rate. I was sure I had seen non-interactive NPCs in the game with no UI elements, but maybe it was only in TSL. If it wasn't combat-related I could just cheat it by making them a placeable, but that's not really practical for sparring. The Doesn't Reorient thing would be useful for some of the others at least. How would I go about incorporating that? -
Fair Strides' Script Shack
DarthParametric replied to Fair Strides's topic in General Kotor/TSL Modding
So poking through nwscript.nss I found this: // 708: SetNPCSelectability void SetNPCSelectability(int nNPC, int nSelectability);Does this (as I hope) disable clicking on the NPC? I am trying to kill the selection circle and health bar showing on some NPCs but haven't found any obvious method to do so. If so, what script would this be best incorporated into? -
That's why it's an optional extra. Don't use it if you don't like it.
-
While I am waiting to see if bead-v can resolve the issue with the VFX, I decided to put together an optional extra. Seeing as Malak asks you if you recognise the captured Jedi, I figured it would make sense to add them as background NPCs on Dantooine. The first group I added having a sparring session in the landing bay: Thanks to Kexikus for helping out with the scripts. I still need to figure out how to make the two that are fighting non-selectable though. I removed their names, but they still have health bars and a selection circle on mouseover (or when closest to the camera). I figured I would spawn the remaining ones in the outside courtyard, where you meet Nemo. There are a couple of groups of settlers that could each have a Jedi attached to them.
-
By default Max sets all new materials to have a mid-grey diffuse. If you don't change that before exporting, and don't enable the override in the trimesh settings, then KOTORMax will set the override at the material's current setting.
-
Have you tried moving the walkmesh into the dummy? Everything else looks fine, aside from your mat override values, which are set at mid-grey. Change those to white. Edit: Also you have self-illum set at max. That could just be overblowing everything. Set that to black.
-
Fair Strides' Script Shack
DarthParametric replied to Fair Strides's topic in General Kotor/TSL Modding
Cheers, I'll give that a whirl. I'll try the fighters with just default scripts and see what the faction setting does. I did try to see how they did the sparring sequence with Bastila in the training montage on Dantooine, but in the relevant DLG I could only see scripts that equipped and unequipped the swords, not anything that actually controlled the animations of the cutscene. Edit: That all seems to work. Thanks again. Now I just need to make some adjustments to positioning and facing, and turn off the labels on the fighters (getting rid of the names is easy enough, but the health bars seem problematic). -
Fair Strides' Script Shack
DarthParametric replied to Fair Strides's topic in General Kotor/TSL Modding
So I should take default heartbeat template, which appears to be k_def_heartbt01: void main() { ExecuteScript("k_ai_master", OBJECT_SELF, KOTOR_DEFAULT_EVENT_ON_HEARTBEAT); } and add the command to that? And what would that consist of? I gather I need to include something along the lines of AssignCommand(GetObjectByTag("CREATURE_TAG"), ActionPlayAnimation(######, 1.0, -1.0f)); -
Fair Strides' Script Shack
DarthParametric replied to Fair Strides's topic in General Kotor/TSL Modding
I want to place a background NPC in a module in K1 and have it stand in place performing a single looping animation. I gather I'll need to make a custom appearance with a model that uses a renamed version of the animation I want, so I can call it via script with the limited constants available. That part is fine. The question is how to get it to play the animation? Do I add that to the creature's OnSpawn script? I also have a couple of other NPCs that I want to fight each other in the background. From poking through other threads it seems like the easiest solution is to set their factions to Predator and Prey and enable the Min 1 HP flag. What about OnSpawn and other scripts for them? Do they need any? Generic ones? -
Please don't quote entire walls of text for no reason. It's really obnoxious. It just makes the thread difficult to navigate. Once again, you say you have a problem, but you don't provide specifics. What's the file? I assume either lev40_droid17a.dlg or lev40_droid17b.dlg. What entry number/s? You can't change the text because it is using standard lines from dialog.tlk. You should use tk102's DLGEditor instead. It is much more full-featured. http://www.starwarsknights.com/mtools/dlgeditor_232.zip
-
MOD:Diversified Wounded Republic Soldiers on Taris
DarthParametric replied to DarthParametric's topic in Mod Releases
They require a completely different mod. It's in the works, as per the original request thread -
I've struck an issue with the Star Forge Jedi captive placeables I have been working on. I tried just recompiling the vanilla version to see if that worked, but it has the same issue as well, so presumably this is something caused by either MDLEdit or KOTORMax. Specifically, one of the VFX nodes appears to fly off into space at the end of the animation. Here's the recompiled vanilla placeable in-game: You can see the VFX around the left wrist is working as intended, but the one on the right wrist goes walkabout. And here is the MDLEdit decompile of the vanilla binary, along with my imported and exported from KOTORMax version of the same model (untouched except to rename the base): https://www.darthparametric.com/files/kotor/misc/K1_Jedi_Captive_Placeable.7z While I'm posting issues, I've struck two crash bugs in KOTORMax. One is when loading models via a layout file. The other is when loading a model with an ASCII walkmesh. I'll see about getting some more specific details for those when I get the chance. Edit: Pics of the walkmesh crash Edit 2: I realise now the level model crash is (again) user-error. The same thing I did during beta testing. Mind like a sieve. The correct suffix filter should be "-mdledit" for decompiled ASCIIs exported by MDLEdit. Maybe you need to put a mouseover hint or something on that, or at least get it to ignore someone putting in ".mdl.ascii". Edit 3: Got another issue. Trying to edit the K1 Dantooine Jedi Enclave level models is causing the grass meshes to go crazy. Video: And here are some model samples. This is just a straight decompile, import/export via KOTORMax, recompile. Nothing touched. Didn't bother putting everything in dummies. Tried that previously but the same thing happened. https://www.darthparametric.com/files/kotor/misc/K1_Dant_m13aa_01a.7z Edit 4: Another thing to add to your to-do list. KOTORMax is (again? stll?) exporting VFX nodes with the Detonate 0 line, which causes crashes on XP (and I think maybe Mac as well?).
-
Non-party members don't have any appearance.2da entries for model J. I would assume that is the cause of your issue. You'll need to add in PFBJM/PMBJM as appropriate.
-
How are you giving it to standard Twi'leks? An appearance.2da edit?
-
There aren't any different heads, mesh-wise. Just different texture variants. If none of the alternatives take my fancy then I'll just do a recolour the same as I did with the female. Edit: Went with texture variant 2, which is orange. Edit 2: Anyone want to take a crack at a crispy texture for the female body? PLC_EndPlB is the original male version. I need that effect mapped to PFBAL01. I can do the skin tone variations. I have some placeholders, but they aren't very good. Edit 3: Starting to export the first test versions. Here's the male Twi'lek in the level mockup: I'm probably going to have to make some minor adjustment to the position of the sleepy pose, which is kind of annoying. Probably should have checked that earlier...
-
Whoops, guess I better scratch him off the list then.
-
-
I was thinking maybe a couple of missing limbs here and there would be appropriate. Maybe with some sort of cap over the stumps, kind of like what Luke has in ESB:
-
You need to be more descriptive when you ask questions like this. Generic in-game labels are useless. You need to specify the resref of the creature and the module name. In this case, I am guessing you mean lev40_assaultdrd.utc in LEV_M40AB. If you look at the scripts assigned to that creature, you'll see it has two non-standard ones, the OnSpawn script k_plev_altdrd_sp and the OnUserDefine script k_plev_altdrd_ud. If you decompile those two scripts, you'll see that it calls specific animations. The OnSpawn script has the following: ActionPlayAnimation(20, 1.0, (-1.0));If you look in nwscript.nss, where the animation constants are defined (should be a copy in your K1 Override folder after using KOTORTool, or check the source section of scripts.bif), you'll see anim 20 is: int ANIMATION_LOOPING_DEACTIVATE = 20;Interestingly, there is no "deactivate" animation in the C_Drdmkone model that lev40_assaultdrd uses by default. There is a "disabled" animation, which must be what this constant actually refers to. The problem is that the K1 version of the HK model doesn't have a disabled animation. Obsidian added it to the TSL version of HK (it's the state you first find him in on the Ebon Hawk), but you can't use that without porting, which is obviously a no-no. However, K1's HK model does have the pausepsn animation, of which the first and last frames (being identical) could serve as a viable custom disabled animation. So what you need to do is to grab a copy of the HK model, P_HK47.ndl/mdx and decompile it. Open it in a text editor. You'll probably want something like Notepad++ for this type of thing. Do a find and replace on "P_HK47" and change it to a custom name. For this example, I'll use C_HKAss. Now at the top of the file where it says setsupermodel C_HKAss NULLchange that to setsupermodel C_HKAss P_HK47Under the animation section of the file, after the endmodelgeom line, you can delete everything except the pausepsn animation. For the bookends of that block, change newanim pausepsn C_HKAss [...] doneanim pausepsn C_HKAssto newanim disabled C_HKAss [...] doneanim disabled C_HKAssYou'll see at the start of the block that the length of the animation is 1.33333 seconds. Because we want HK to be static, we only want the first and last frames, so delete any frames that have time codes besides 0.0 and 1.33333. For example: node dummy InnerTorso parent rootdummy orientationkey 0.0 -1.0 2.05000e-006 7.40000e-007 0.394443 0.3 -1.0 2.05000e-006 7.40000e-007 0.394443 0.466667 -1.0 3.77000e-006 1.00000e-006 0.21991 1.0 -1.0 3.77000e-006 1.00000e-006 0.21991 1.33333 -1.0 2.05000e-006 7.40000e-007 0.394443 endlist endnode would become node dummy InnerTorso parent rootdummy orientationkey 0.0 -1.0 2.05000e-006 7.40000e-007 0.394443 1.33333 -1.0 2.05000e-006 7.40000e-007 0.394443 endlist endnode Once that is done, find the entry for Mesh01, which is the (poorly named) eyes mesh. We want to turn off the self-illumination for this animation so the eyes aren't glowing. Fortunately, the game has provision for that. Change: node dummy Mesh01 parent talkdummy orientationkey 0.0 1.0 0.0 0.0 0.0 1.33333 1.0 0.0 0.0 0.0 endlist endnode to: node dummy Mesh01 parent talkdummy orientationkey 0.0 1.0 0.0 0.0 0.0 1.33333 1.0 0.0 0.0 0.0 endlist selfillumcolorkey 0.0 0.0 0.0 0.0 1.33333 0.0 0.0 0.0 endlist endnode With that done, you can save the file, changing the filename afterward to reflect the change in name (for example, C_HKAss.mdl.ascii). Now if you were to load the model into Max/GMax, you'd see an HK with single animation of a static pose, like so: Now you can compile your ASCII model. Because the supermodel has been set as P_HK47, you'll need a copy of that binary model in the same folder to compile against. Save your binary model with an appropriate filename (for example, C_HKAss.mdl/mdx). While you are at it, you may have noticed that your find and replace operation changed the texture name your new model uses to something like C_HKAss_01 (or whatever name you used). Make a copy of the existing HK texture (P_HK47_01) and rename it to your custom texture name. I'd suggest editing it to distinguish it from HK-47. A simple change would be a hue change to something blue-ish, then desaturate as appropriate to get a bare metal look, similar to the HK-50s in TSL. You can then pop your model and texture into the Override folder. With that done, you need to add an appearance.2da entry for your new droid. Make a duplicate of HK-47's row at the bottom of appearance.2da, changing the two instances of P_HK47 to your model's name (C_HKAss as used so far in this example). Also increment the row ID number (509+, depending on whether you have existing custom appearance.2da entries or not). Give it a custom label so it is easy to recognise (for example, Droid_HK_Assassin_Roth9). Save appearance.2da and put in your Override (if not there already). Now in KTool you should be able to edit lev40_assaultdrd.utc, changing the appearance drop-down to match your new droid. Then save a copy of the UTC and place it in your Override folder. You'll need to test with a save prior to entering the level. Here are the model files I came up with, if you want to use them - https://www.darthparametric.com/files/kotor/k1/[K1]_HK_Droid_Disabled_Animation.7z A not regarding animations called in k_plev_altdrd_ud. It lists animations 1, 24, 100, 101, 102, 103. These correspond to int ANIMATION_LOOPING_PAUSE2 = 1; int ANIMATION_LOOPING_PAUSE3 = 24; int ANIMATION_FIREFORGET_HEAD_TURN_LEFT = 100; int ANIMATION_FIREFORGET_HEAD_TURN_RIGHT = 101; int ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD = 102; int ANIMATION_FIREFORGET_PAUSE_BORED = 103; The interesting thing is that C_Drdmkone doesn't have a "pause3", or "pauseinj", which I thought it might be referring to. Same with the scratch head and bored animations. I'm not sure how relevant these are. It may require playing through the vanilla version multiple times to see if you spot anything relevant.
-
Diversified Wounded Republic Soldiers on Taris
DarthParametric commented on DarthParametric's file in Mods
In the case of Jorak Uln's mod, that's using a save after having entered the area previously. You are spawning the original Mullet Man placeables. In the case of Kainzorus Prime's mod, no, do not install mine first. Install KP's first, them mine over the top. That should require no further action (aside from not using an existing save once again).