Fair Strides

Administrators
  • Content Count

    2,334
  • Joined

  • Last visited

  • Days Won

    73

Everything posted by Fair Strides

  1. For those that aren't aware, the installer's fixed and I haven't gotten any reports of any more issues so far.
  2. Just downloaded myself, extracted with 7-zip, ran the installer, and everything worked fine.
  3. Re-run the installer and direct it to your TSLRCM workshop folder.
  4. In the case of include files, they can't have a void main() or an int StartingConditional() because those make them action or condition scripts, instead of include libraries. Include libraries are just raw .nss files that are "included" into the data before the script is compiled into a .ncs file.
  5. Skype ( it's "fairstrides2") in about eight hours.
  6. If you wanted, I could perhaps just edit the random loot stuff to add the new lightsabers or crystals to any random loot after Taris. If I were to do this and modify the installer to add the new scripts, you could perhaps just release as an update (which would avoid any possible permission issues).
  7. Malkior is a devilishly-cruel human being for preying on my ability to generate solutions. :(

    1. Sith Holocron

      Sith Holocron

      Like a random cruelty generator?

  8. *sigh* This is always sad news when people say single-player is a dead art form. Never mind the fact that there wouldn't be multiplayer if we didn't have single player first. I still firmly believe that Single-player is a vital part of a game. I like how the guy who played Finn in Ep 7 said on Twitter "So... Disney/EA. When is the Single-player campaign coming out for Battlefront?" And maybe one of the small development groups will become a AAA studio? What does that even mean? "a AAA studio"? Where's the criteria?
  9. I'm mainly advising my method over the .are + containers because the guy is trying to trigger something for an item that is generated by random loot. And I was advising against editing the .utp files from the templates.bif because I know that the generic names makes it a possibility that they have custom .utp files in some of the modules. And I have no idea what could have been changed to make them require such a copy of the file.
  10. Quick! Someone go watch Ep V and grab Yoda on Luke's back for comparison: https://twitter.com/HamillHimself/status/719239858087182336?cn=ZmxleGlibGVfcmVjc18y&refsrc=email

    1. DarthParametric

      DarthParametric

      http://i.imgur.com/rnPhEkL.jpg

       

      I don't think Yoda ever points like that. At best his little puppet hand might come off Luke's shoulder unintentionally.

  11. At the expense of similar flak, I will agree with this entirely. I don't mind women, and actually like them being protagonists, but I would like to see more diversity in personality. Seems to me they're always cast as individuals having to fight to prove themselves. For once, why can't we just get a self-confident young women who rises to the occasion to do great things; you don't have to be a rebel or being looking for a fight to be a strong female lead.
  12. Not sure if you played through the Leviathan with K1R or not, but the three animated cameras K1R uses there took me several hours to do... Last tip for you: a Pitch of 90 = straight ahead, 0 = straight at the ground, 180 = straight up. Anything more than that and you could get interesting and amusing results...
  13. With the current tools (I hope to remedy this eventually...), it can be time-consuming, depending on how complex you want the camera to be. In the Modding Tools section of starwarsknights.com, you will find a program called AniCam. This is used to make animated cameras, which can only be used in dialogs. You will also need the DLG Editor by tk102 from the same place, as this will let you edit or create dialogs. For the record, I recommend reading AniCam's read-me all the way through. I also recommend downloading the Utility Armbands mod from this link, as it will give you the needed angle and position for certain things. A lot of this you will be doing in first-person to make sure you're facing the right way before using the orientation armband. You basically need to go in-game, find your starting position, orient yourself to face the right way with first-person view, and then use the Orientation Armband. The feedback will be on the secondary window in the Messages menu (the feedback log). With this information (the XYZ coordinates and the Angle), you can start your first timed entry in AniCam. You'll enter that info into the first row and then tell AniCam to add another entry (use the menubar at the top). AniCam will increment the time field by 0.5 seconds (if you add a new entry between two entries, AniCam will auto-set the time field to mid-way between the two entries) and you can say where you want the camera to be at that point. Things to note: 1. AniCam stats you off with CUT001W as the animation; this is perfectly fine, and animated cameras can have up to 99 animations. 2. You must give a Camera Shot Length (the total time of the animation; so needs to be done for each new CUT###W you make) and a Camera Name (part of the .mdl file's header, but also what AniCam will default the name of the .mdl and .mdx files to). 3. For the Orientation of the camera, the Heading column is the horizontal axis, the Pitch is the vertical axis, and the Roll is the left-right axis (left-right as in you tilting your head without moving it, for example). 4. In a DLG file in DLG Editor, click on the top entry (the black line) and put the name of the .mdl file (without the extension, of course) into the Camera Model field, then click on another entry in the DLG to register the change. 5. To make the animated camera play for a certain node/entry, set the Camera ID to -1 and the Camera Angle to 4. 6. To tell which animation to play, you need to set the Camera Animation to a number. This number is either 999 + the number of the animation (like Cut001W would be 1, so the number is 1000) or 1199.* 7. You do not have to animate a camera down to the nearest 0.1 second, or even the nearest 0.5 or 1.0. You can set the Camera Interpolation in AniCam to use the interpolation feature to smoothly estimate the differences between the entries of the animation. 8. I HIGHLY recommend saving two copies of your animated camera: .mdl for the one with interpolation (this will be the one you test and mod with) and -no_interpolation.mdl (this must be done with the Camera Interpolation set to none; this model will be the one you can import into AniCam whenever you need to make an edit to the animations). *: The reason for the two numbers is that the 1000 series of numbers will continue an already-playing animation, but the 1200 series is used to actually start the animation. Also, you can't skip around the animations like this; if you start an animation with 1200, you can't call 1001 to continue CUT002W. You would need to put 1201 in the DLG node that starts that animation. For this reason and to avoid making your cutscenes look weird, I will advise that every entry after the animation starts use the 1000 series of the animation you started to ensure that node is playing the animation and not stopping it prematurely.
  14. Oh, that's probably just because these phrases are basically 0/1 boolean flags determining if the user-defined script is called in addition to the normal stuff.
  15. Generally speaking, anytime you see an all-caps phrase like that separated by _ marks, it's a variable. Most variables are found in nwscript.nss, but some are specified in include files (these generally, but not always, have "_inc_" in the filename; an include file is a script that does not have a void main() or an int StartingConditional() function). The compiler processes these when you compile the script, then checks any include files you use (as noted by having "#include """ without the outer set of quotes) and nwscript.nss and will substitute those phrases for the actual numbers they represent. For example, in the k_def_userdef01.nss, where it says "nUser == 1008", that is the equivalent of saying "nUser == KOTOR_DEFAULT_EVENT_ON_DISTURBED"; the compiler would find that phrase in nwscript.nss or an include file and it'd substitute the number that phrase represents, which in this case would be 1008.
  16. The highest value a numeric can be and still be accepted by the game is 128. And the lowest value is -127. However, the only importance a specific number for that numeric has is what the game's scripts give it. So you could easily set it to a number that the quest or gameplay doesn't care about a bit...
  17. Actually, the k_def_disturb01 is the script used by characters. And I've just checked the player's scripts and we have to do a workaround, since the On Inventory Disturbed script for the player is not assigned and we can't assign it. So instead, we need to edit k_hen_spawn01 and k_def_userdef01 to make the game check when the player or party members pick up an item. In k_hen_spawn01.nss, we need to go to the following line: //GN_SetSpawnInCondition(SW_FLAG_EVENT_ON_DISTURBED); and change it to the following: GN_SetSpawnInCondtion(SW_FLAG_EVENT_ON_DISTURBED); Then compile that and save it to the Override folder. ... Now in the k_def_userdef01.nss, find the following: else if(nUser == 1008) // DISTURBED { } Inside this section, we need to add the following (This is mostly what I posted above, but I've added in some extra protection to make sure this is the player character): (remember, all of the following goes inside the else if(nUser == 1008) section's { } marks!) At this point, you should be good to add whatever code you need to add to check for the item (you should just need to compare sItemTag against the tag of the item) then update your globals accordingly). After that, just need to save and compile to the Override folder. If you really want to make sure this is working in-game, you can add the following just above the object oItem line: SendMessageToPC(GetFirstPC(), "Hi! Disturbed Items are happening");
  18. People don't edit the utp files, but there is hope for you yet! You can try editing the k_def_disturb01.nss script, which is currently implemented into the game, but is in fact blank. As the comment says in the file, it's currently unused. I know you want to script it yourself, but there's some info for a script layout here: void main() { // Get the object that made the script trigger object oItem = GetInventoryDisturbItem(); // Get the tag of the object that made the script trigger string sItemTag = GetTag(oItem); // Get the type of action that made the script trigger // This will return 0 (Item added), 1(Item removed), or 2(Item stolen; which is probably unused in KotOR) int iItemAction = GetInventoryDisturbType(); // If Item was added) if(iItemAction == INVENTORY_DISTURB_TYPE_ADDED) { } else if(iItemAction == INVENTORY_DISTURB_TYPE_REMOVED) { } }
  19. Were you to acquire the item from a placeable utp container, you could (if that container is uniquely named) put a script in the OnClosed or OnInvDisturbed slots in KotOR Tool. Alternatively, you could edit the .are file for the level using K-GFF, change the Mod_OnAcquirItem field to the script name. You'd then need to put the .are file back into the level (a .mod version of the level, so use ERFEdit to make a .mod if you don't have it already) using ERFEdit and save the level. You'd then need to load a save from before entering the level for the edited .are file to take effect (or you could put it in the Override folder, but if two levels use the same filename, that could be interesting...).
  20. Okay, now those issues I do know the cause of... As stated on the mod's download page and forum thread, it's been designed to work with and require TSLRCM be installed. I don't personally see anything that would make it absolutely required to have TSLRCM, but as a patcher I didn't want to change that note in the mod. The .mod files are missing because you do not have TSLRCM installed (or you're using the Steam Workshop version and need to direct the installers to TSLRCM's Workshop folder). They could have been included in the installer, except that they would have been changing someone's game possibly against their wishes (as I would have packed either unmodded versions of the levels, thus screwing up TSLRCM, or TSLRCM versions of the levels, thus possibly screwing up someone's mods).
  21. I've just scoured the TSLPatcher code and I haven't seen a message like that, so all I can recommend is try running it as an admin (and possibly copying the feats.2da file to your Override folder if you do not have a feats.2da file there already.
  22. @SH and Snigaroo: The thread title does say "KotOR 1" at the end, so I'm assuming Steam version doesn't matter.. If it is Flawless Widescreen that's screwing up, you can try removing the game from Flawless Widescreen's settings or even uninstalling Flawless Widescreen entirely.
  23. Another obvious question, but: Does this issue happen before you install the mods? Because looking at that list, I see none that affect the GUI.
  24. You'd need to go through and edit the .gui files and conform them to the aspect ratio. KotOR 1 or KotOR 2? Specifically, you'd need to edit the .gui file's main Extents section to be the new size and then you'd need to figure out the multiplying factor to use on the Extents section of each of the controls. For example, to go from 640x480 to 800x600 (still the same aspect ratio), you'd divide 800 by 640 to get the new width multiplier and 600 by 480 for the new height multiplier. Then for the Extents sections of each of the controls, you'd multiply the LEFT and TOP fields by the width and height multipliers, respectively.