DarthParametric

Modders
  • Content Count

    4,626
  • Joined

  • Last visited

  • Days Won

    523

Everything posted by DarthParametric

  1. You need to provide more detail about what it is exactly you want to achieve. I gather you want a scriptable attack animation? What is the scenario you envisage this executing in? What's the goal? Are you looking for some simple combat buff, or some sort of cinematic thing? Interactive armbands work exactly the same in both games. You give it an "Activate Item" property which links to spells.2da, this in turn fires a script. The script then does whatever you want, within the limits of the engine. So you can start a conversation/cutscene, open/close doors, spawn items/creatures/objects, kill/destroy items/creatures/objects, add/remove party members, jump the player/party to different positions, warp the party to a different module, set plot states, etc. You can also do this with other interactive items the player equips, like medpacs or stims. You can add an Activate Item property to any item, but a creature hide is not exposed to the player. It is not interactive, so the player can never activate it. The same goes for most other equippable items - there's no way for the player to manually activate them. If you are looking for combat effects, you can apply On Hit status effects to weapons, like slow and stun, etc., but these don't fire scripts. Items can also grant feats, so you could just make a blaster that grants the full Rapid Fire series of feats. So if you wanted to have a manually activateable item, you could just use an armband. K1 doesn't have a pre-existing user limitation for Carth, so you'd have to jump through some hoops to limit it to only him. You could use this in conjunction with your creature hide idea, where the script checks if the activating creature has the hide equipped and the effect fails if not. But how you go about it goes back to my first quest - what is it you are trying to do exactly?
  2. It's a global script. You don't need to decompile it because the game already includes source for it. Look in the NSS folder of the same BIF you got the NCS from.
  3. I mean you could do something as simple as void main() { object oPC = GetFirstPC(); object oStore = GetObjectByTag("STORE_TAG_HERE", 0); int nPersuade = GetSkillRank(SKILL_PERSUADE, oPC); int nBonusMarkUp = -nPersuade; OpenStore(oStore, oPC, nBonusMarkUp); } Looking at the scripts for Yavin Station in K1, it seems like Suvam's discounts are either -5 or -20, so using the negative value of the PC's Persuade total as-is could work. Although you could modify it using if statements like I said before, perhaps something like: void main() { object oPC = GetFirstPC(); object oStore = GetObjectByTag("STORE_TAG_HERE", 0); int nPersuade = GetSkillRank(SKILL_PERSUADE, oPC); int nBonusMarkUp; int nPersuadeAdj; if (nPersuade <= 5) { nPersuadeAdj = 2; } else if (nPersuade > 5 && nPersuade <= 10) { nPersuadeAdj = 5; } else if (nPersuade > 10 && nPersuade <= 15) { nPersuadeAdj = 7; } else if (nPersuade > 15) { nPersuadeAdj = 10; } nBonusMarkUp = -nPersuadeAdj; OpenStore(oStore, oPC, nBonusMarkUp); } You can use whatever mathematical operations you like to scale the values as you require. Google the C formatting for whatever operations you want to do if you are unfamiliar with the syntax. You'll need to check each individual module. Check the merchant's DLG file to find out what script/s fire when they open the store. You'll then need to decompile the binary script (NCS), since only the global scripts have included source. You can pull the Tag of the store from the UTM file, although the scripts you'll be editing will already have it. You'll need DeNCS (requires Java) to decompile the scripts. You'll want DLGEditor to browse the DLGs (don't use KTool's included editor - it doesn't work properly with TSL DLGs). You can use KTool or KGFF to examine the various GFF files like UTCs, UTIs, UTMs, etc.
  4. Depends entirely on the specifics of what you want. A simple colour switch from one solid colour to another is relatively straightforward, at least in PS (and I assume Gimp has similar functionality). If you want patterns and so forth then it starts to become more complex. You could also edit the item to switch it to a different base armour model, if that might get you closer to what you want. Although that obviously adds a whole extra layer of complexity. If you think that doing it yourself is too much, you can always make a post asking for someone else to do it in the Mod Requests forum.
  5. It would require a texture edit. KTool can extract the texture, but it is not a texture editor. You'd need something like Photoshop, GIMP, Paint.NET, etc.
  6. You could do it all in one script. It would just be a series of if statements. But you'd have to edit the individual scripts for every merchant in the game. They aren't defined universally.
  7. You don't edit any 2DAs. You edit the supermodel/s that holds the original anim/s, delete it/them, and replace it/them with TSL's version/s, giving it/them the same name as the original/s. Some knowledge/experience is required ideally, yes. I have no idea how you'd go about a rig transfer in Blender. Someone like @seedhartha would have to chime in with information about that. in KMax, there's an animation tool that lets you import an animation from an external model and map it to the scene rig (Anim Tools -> Mapper). It should be a simple case of autogenerating the bone name matches, since the rigs are more or less the same at the core, TSL's just has some added bones for flappy sleeves and cloaks. Given the complexity of supermodels, I'd suggest the easiest approach would be to remap the anim/s onto an empty copy of the target rig, export that, then edit the ASCII copy of the supermodel to swap the anim/s. You'll need to edit the ASCII anyway to add the sound events anyway, at least using KMax, since that doesn't import/export them properly. Strictly speaking you don't actually need to do the rig transfer. You could do the whole thing in a text editor, just swapping the anim blocks. But doing the transfer allows you to check that everything is working as intended, and adjust/fix it if not. K1 and TSL bone positions/rotations aren't entirely 1:1, which is why head model ports have facial animation issues. There is also a bit of a trick to compiling supermodels, since they are a bit wonky. @JCarter426 is the resident authority on the matter, and did detail the process in a post somewhere, although I can't find it at the moment.
  8. You can't do that in K1 anyway. It's possible, yes. How practical it is depends entirely on how conversant you are with the game's models and animations, and importing/exporting them. I'm guessing "not at all"? Probably not the best place to start then. It will require editing one of the supermodels and replacing the existing anim with the TSL version. Before that you'll probably want to transfer it to the K1 rig to make sure it doesn't need any editing.
  9. Might as well throw mine up as well. But I'm not going to bother with their life stories since I'm an altoholic so there are too bloody many. Click for embiggening.
  10. It's simple. You renamed the OdysseyBase to Dia_Nu but didn't change the other instances of the original base name. They are all still linked to PFHA02, which no longer exists. So MDLEdit throws an error.
  11. Here you go. k_fab_enter.nss a_xtracrystals.nss
  12. From k_ai_master: case 1008: //KOTOR_DEFAULT_EVENT_ON_DISTURBED { //NOT USED } break;
  13. Sure, go ahead. Usual deal, credit blah blah blah.
  14. I'd guess it's the fact that that particular mesh (or meshes) has the dirt flag enabled. You'd need to edit the model/s to change it, but you need to flip some of the UVs anyway judging by your first pic.
  15. void main() { object oPC = GetFirstPC(); object oComp = GetItemPossessedBy(oPC, "bao_cmpnts"); DestroyObject(oComp); object oMesh = GetItemPossessedBy(oPC, "bao_mesh"); DestroyObject(oMesh); AddJournalQuestEntry("bao_armor", 50, FALSE); }
  16. Unless you can recalculate the positions of a multi-hundred/thousand vertex point cloud in 3D space in your head, no.
  17. Win 10 with a GTX 1080 Ti. But the thread OP also had a 1080, and I believe we were both running on the same Geforce driver revision at the time, so I have no idea what the root cause is.
  18. I don't have the issue at all. I only ever saw it one time on a single texture on an XP machine.
  19. Yeah nothing special is required. This is just a simple file overwrite, since you can't patch a TLK to replace existing lines with TSLPatcher.
  20. No, there are other issues. For example, problems with compiling condensed models were never resolved. The engine simply can't handle multiple on-screen animated entities, which is why Bioware went with the sprites. That's a non-resolvable issue, at least while still using Odyssey.
  21. Just warp directly to STUNT_55a if all you need is to see the end sequence.
  22. Whether or not you side with Bastila on the temple roof. Check the scripts in that convo.