ebmar

Members
  • Content Count

    1,197
  • Joined

  • Last visited

  • Days Won

    45

Everything posted by ebmar

  1. Awesome! That particular area looks more lively now- well, aside of Belaya wandering around which makes it two. Anyway, is that a custom LDA_Leafxx? I can't find the exact green version inside the game files; it looks natural!
  2. Greetings, fellow Jedi! May the Force be with you all. I currently in practicing some features inside TSLPatcher; particularly patching the "First Name" and avoiding "replace" option for all kind of installation. I have compared the UTC and building modifiers from them, and there is a field called "FirstName(strref)" set automatically to -1. When I go with that option, the patched UTC had its name erased alias blank space. When I use 0, it create a "Bad StrRef" reference in the name field. When I use 1 there is an ERROR message in the field. What I'm asking is: How to properly patch the "First Name" field using the patcher? Many thanks for considering this.
  3. And to be noticed about these differences seems to be important, particularly with FX_Lightning: K1 uses no TXI semantic and alpha channel to the texture While TSL uses "blending additive" on its TXI, along with alpha along the black part of the texture TSL also implying the same method to their FX_laser_xx which K1 are don't. 🤔
  4. With those lilies in them ponds- I'd rather stay in the Enclave to continue my training instead of finding the 2nd Star Map! Edit: Canderous really knows how to match his clothes....
  5. If you want to request things [fixes, mods] I'd suggest you to post here. There is the place most suitable for requests. Mostly 'General KotOR/TSL Modding' are used for discussion. Be well!
  6. Nice! One step forward on a successful porting attempt has been done. There are things still needs to be done afterwards to make a clean-tidy-zero-bug porting attempt; but with trial-and-error, it wouldn't be that far. Yeah, it seems Atton is rather a special-case. I have just experiencing some newfound things on his model; at least in my personal modding experience. Anyway, you can save your time- if you like. Here's an ultra-dirty-work of my attempt porting his model. The body model will replace the default Scoundrel model [PMBBS] and the head model will replace PMHC05 [you could rename the texture/model to anything that fits your liking]: K1_Atton_as_Scoundrel.7z I haven't include the DS transition and all his portrait. I believe you can do it yourself, and it is good for practice! Lol. Enjoy! Edit: You will witness the odds from his mouth and teeth. I have no idea to fix that; more experienced and skillful Masters will need to chime in to solve the matter.
  7. Welp, think I have to try it myself for a troubleshooting lol. I'll get back again with a feedback! 😁
  8. Ah- I am low-key expecting that; particularly if ones trying to convert TSL's PFBIM [caped robe model - female version], as far as I can tell, but I'm not sure with any other model than that. So, as alternative you will want to use MDLOps instead. And when you open it; Make sure the target game set as "Kotor 1" Select the vanilla TSL model you want it ported Without changing anything choose the 'Read and write model' option, then you will have a K1-ASCII version of the ported model Back to the 'Select file', now choose the ASCII model instead of the binary ones, and run the 'Read and write model' again so now you will have a working TSL ported model to be used in K1 Close the app, rename the resultant model to your liking [better to fit with the vanilla, perhaps you will have to delete the former so they will not conflicted] Let me know with the progress.
  9. I'd prefer this step: Assuming that you were using this version of MDLedit; open it and set the game target to K1 without having load anything. So you will have this view then [KOTOR1 / PC / Head Link]. And then straight to File\Batch\Convert_to_ASCII the targeted model. That way you will have a K1-ASCII version of the ported model. Next, you will want to choose the File\Batch\Convert_to_Binary option to work with the previously converted TSL model, so you will have a working TSL ported model to be used in K1. Let me know with the progress.
  10. At which part did you lost? Have you got all the tools required?
  11. Could be; but the possibility is very low. We'll see. 😁
  12. Update: I've got the designated script to work: void main() { int nTrack = MusicBackgroundGetNightTrack(GetArea(GetFirstPC())); // This command revert the custom area music back to original object oArea = GetArea(GetFirstPC()); DelayCommand(6.2, MusicBackgroundChangeDay(oArea, nTrack)); } It seems more troubleshooting is needed, as after the battle sequence ended, the original area music wasn't played directly [there were seconds delayed]. But the intention for the custom music that was assigned to stop at reasonable point of the dialogue has been achieved. I'm avoiding on using the creature's "OnDeath" simply because: I'm not yet to understand on implementing it I'm looking for a compatibility with a mod that doesn't make the particular NPC's deceased after the fight; such as escaped NPC Most likely that I have misunderstood the function of "OnDeath" there. 🤔 Here's a quick preview of the said attempt: I'm trying to get the music to play a little bit longer, perhaps by adding more value to 'DelayCommand' to something like '7.0'? I have tried with '360.0' but as soon as the battle was ended, there were long silence of no music and the custom music plays back again.
  13. Thank you for the heads-up! That'd be very helpful for me and others who were just got their feet wet with scripting.
  14. Thank you! Either with letting me know of your thoughts and/or the appreciation to it. Very much appreciated. I'm not expecting that; but your nice words are very much welcome. Hahah, yeah- what is seen in the preview only is a gimmick particularly for Sherruk's appearance. To give the impression where his distorted voices came from. I mean, I can't apply a mask permanently as previously planned on him because there is a bug which removed the mask from the NPCs occasionally, and that is out of my knowledge to fix. So I have to add something to his body; hence the implant part. And no, the implant will not shown on our PC's neck if it is equipped. 😁 I'm using a custom animated-Cubemap [CM_PulseGlow] which is created and uploaded by Darth_Sapiens, as a part of his Modder's Resource: Cubemap Pack: And with some extra adjustments to fit with the implant's tech part- as seen in the preview was the result. If I'm not mistaken, it is included in "Individual Mandalorians"- the author name is Kalos.
  15. Thanks! I take the suggestion and it works! Also, I'm using an additional delay like the following void main() { int nTrack = MusicBackgroundGetNightTrack(GetArea(GetFirstPC())); // Revert back to original area music int nDelay = 600; // Delay for the original music to start object oArea = GetArea(GetFirstPC()); MusicBackgroundSetDelay(oArea, nDelay); MusicBackgroundChangeDay(oArea, nTrack); } with expectation- the custom music had its playing time extended [straight guessing lol]. I'm firing the above script using the particular NPC's .dlg [last node] before the battle sequence started; simply because I don't have any idea where and when to fire the script. But the execution seems to be lacking, because it is not effective. The original music does playing again, but it played along with the last node of the dialogue. Is there any chance for the original area music to play after the battle ended?
  16. Many thanks for the assistance, the insights and the knowledge which has been shared, @DarthParametric and @Qui-Gon Glenn! Very much appreciated. I have the script working now! And quoting myself earlier: The music did not triggered because of false rename of the file! I'm not expecting that to be honest. It seems the game only read the music if it renamed as mus_area_xx. My former file renamed as music_theme_legends; hence the game did not read the file [although inside ambientmusic.2da its entry tagged the same]. And then I revert back the command by using MusicBackgroundChangeDay instead of MusicBackgroundPlay And so now, I have to trigger back the original area music after the battle music sequence ends lol. #RIP
  17. So, the soon to be compiled NSS files should be like this? void main() { object oArea = GetArea(GetFirstPC()); int nTrack = #2DAMEMORY1#; // #2DAMEMORY1# MusicBackgroundChangeDay(oArea, nTrack); } I have test the script in-game; it looks like it fired, but without the intended music [just silence except with dialogues and SFXs]. Also the battle music begin to play as the battle started- which looks like in some way it works. Edit: Ah sorry, I think I get it- every command after "//" would be ignored by the command. So the script should look like this? void main() { object oArea = GetArea(GetFirstPC()); int nTrack = #2DAMEMORY1#; MusicBackgroundChangeDay(oArea, nTrack); } Edit2: I'll try to switch with another command. Maybe something like "MusicBackgroundPlay" could work.
  18. Thank you for the details! I am confused by this part. What command should I exactly enter there? Apologize that I'm not yet understand what and how a StrRef is [as referenced inside the patcher's instructions]. Many thanks for considering this.
  19. Hahah- awesome! Anyway; the above script can be compiled now! I missed a "//" mark which I have no idea that it is significant. 🙃 Edit: Copy that! Thank you for the insight; very much appreciated.
  20. Taking things from where they left off- I can't compile the script below with KotOR Tool; void main() { object oArea = GetArea(GetFirstPC()); int nTrack = 99; 51 MusicBackgroundChangeDay(oArea, nTrack); } It produce a "syntax error" message upon compiling. 🤔 Anyways; I already entered a new row in ambientmusic.2da and I have assigned its 2DAMEMORY with the patcher. If it is decided to engage the music with the script, will it be possible for the fired script to link with an assigned 2DAMEMORY? So the row number of ambientmusic.2da inside the fired script is automatically inserted by the patcher.
  21. Mods that were featured in the screenshot: deathdisco's "Tomb of Exar Kun" ZimmMaster's "New Dopak Head Mod" NiuHaka's "Dark Harbinger - Self Infliction" Logan23's "Revenge of Revan (Demo) - PMBI87" Fallen Guardian/VarsityPuppet's "VP's Hi Poly Tin Cans" Curtis1973's "Stock Light Saber Retexture Pack" Tools used with the attempt: Fred Tetra's "KotORTool" bead-v's "MDLedit" Chuck Chargin Jr./ndix UR's "MDLOps" Werner Rumpeltesz's "PlainEdit.NET" JCarter426's "JC's Cloaked Jedi Robes & Supermodel Port for K1 - Supermodels" and "Odyssey++" ndix UR's "tga2tpc" stoffe/Fair Strides' "TSLPatcher"
  22. Well, I will never look at mods the same again after knowing how scripts was made and how they works. Straight stars for mods with any scripts init. :respect:

    1. ebmar

      ebmar

      Quote

      Keep in mind that nwscript.nss shows you the form that various script elements must take. Templates if you will. You don't just use them as-is in an actual script.

      Thanks! I'll keep 'em noted. And with the script above, as I'm trying to input the "oArea" part- what command should I enter? The particular area will be DANM14AC [Dantooine].

    2. DarthParametric

      DarthParametric

      You can make a variable declaration like:

      object oArea = GetArea(GetFirstPC());

      Which will get the current area you are in. That way you don't need to specify a custom value for every module you use the script in.

      I believe that command changes the module's music track to a different one listed in ambientmusic.2da (which is what nTrack is - an integer value for the row number). So your script would be something like:

      void main() {
      	
      	object oArea = GetArea(GetFirstPC());
      	int nTrack = 99; // Insert ambientmusic.2da row number here
      	
      	MusicBackgroundChangeDay(oArea, nTrack);
      }
    3. ebmar

      ebmar

      Quote

      That way you don't need to specify a custom value for every module you use the script in.

      Thanks for the heads-up!

      Quote

      I believe that command changes the module's music track to a different one listed in ambientmusic.2da (which is what nTrack is - an integer value for the row number). So your script would be something like:

      Spoiler
      
      
      void main() {
      	
      	object oArea = GetArea(GetFirstPC());
      	int nTrack = 99; // Insert ambientmusic.2da row number here
      	
      	MusicBackgroundChangeDay(oArea, nTrack);
      }

       

       

      That looks promising! I'll fiddle with 'em soon!

      Again, many thanks for the help! :cheers:

    4. Show next comments  69 more
  23. Hahah- well, just got myself opened the nwscript.nss; guess I have to "thank - you" before it's too late lol. 😵
  24. Thanks for the instructive feedback! I'll look into digging more information in the game files and gain understanding about how what and how a UTS is. 🤔 Edit: Anyway, about scripting- we were not supposed to input the "object oEbMusic" to the script right? because I have seen some example that they mostly straight onto the "GetObjectByTag" part.
  25. Greetings, fellow Jedi! Hope y'all doing fine. I am here to ask for an assistance about: Is there any chance for custom music to be played at an exact cutscene in game? Edit: Not only cutscene to be exact; it will play along with the particular encounter and will stop soon as the encounter is done. And if it's possible; would ones mind explaining on how doing it? For an example; the tag of the music that would be playing is: mus_theme_legends Many thanks for considering this; and may the Force be with you!