jwoltz Posted August 28, 2022 Share Posted August 28, 2022 (edited) This is no big deal...really...but I would like to add the effects of hearing the wind and weather produced by the mod Weather Inside (Seasons) in the mod Trade & Commerce. I only know a little of the Construction Set and other than doing some custom textures, don't consider myself a modder. I have a VERY customized Trade & Commerce mod and therefore can't (or won't) replace the existing .esp for it in my game. As the Weather Inside uses custom made scripted "doors" to place within proximity of the interior cells, I was hoping to copy/export those doors from Weather Inside into Trade & Commerce, but I don't think that's possible. I know I could probably open both in the CS and make a "patch", but I have such a heavily modded game I was hoping to avoid making/adding yet another .esp file. Are there any alternatives? If so, clear, concise, step-by-step instructions would be helpful. A big thank you to anyone who can help. If it just can't be done, hey...like I said...no big deal. EDIT: Well, finally resorted to making an .esp - "Trade and Commerce_Weather Inside Patch" in the CS...no dice! Kept getting an "assertion" warning with a whole bunch of meaningless gibberish when I tried to save the completed file. Never saw anything like it before. Have no idea what it means. At any rate, the patch didn't work. So I guess I'll go with another .esp in my load order if anyone can make this work! Edited August 29, 2022 by jwoltz Link to comment Share on other sites More sharing options...
RomanR Posted August 30, 2022 Share Posted August 30, 2022 (edited) Making another esp will propably not work. But as I peeked at Weather inside mod, the idea of this is quite simple - the author adds a mimic door almost at a position of original one and adds a script to such door which plays a sound(s). However, I think for you will be enough to assign this script to normal exit door(s} already present in your interiors added in Trade & Commerce.esp, as you said this mod is already customized. But to make it always work you must make these changes to Trade & Commerce.esp by yourself and this how you do it: Work for Weather Inside:1. Unpack the bsa - you will need its sound files.2. Open the Weather Inside.esp and locate all its "Sound" (they're begin with "WI2D" or "WI3D") base objects. By right-click and choosing "Edit" you will see there which file is used for this sound and another parameters.3. Locate the scripts - they all beginning with "WeatherInside". Choose the one which you want to assign to your door in Trade & Commerce mod and by using copy&paste copy it to some text editor (even Notepad will do) and leave the editor open. Now open your Trade & Commerce esp and:1. In "Object" window in "Sound" sub-tree you must define all new sound objects, which your script uses after "PlaySound" or "PlaySound3D" command, with same file and parameters as the original. But again, vanilla CS can't look into bsa files, so sound files must be unpacked from bsa first. You can add sound object by selecting one already present, right-click, and select "New".2. Now the script - simply open the script editor and copy the contents from opened text editor and save. The script must be also of "object" type. If you made all sound objects before, the CS will not complain.3. Now locating your exit door - in the "Cell View" window locate your interior, the edited ones will be marked with star. Click on it and previously empty right-half will be filled with all objects contained in this cell. Find the "Door" object and by right-click and selecting "View" confirm its location. After you found the right one, right-click and select "Edit" to learn what door base object it uses.4. Now back in "Object" window find your door in "Door" sub-tree and select "Edit" in context menu. Assign your "WeatherInside" script and select OK. Now save your changed Trade & Commerce mod. If CS will not complain, you should now hear the sound at selected exit door as you approach it. For unpacking I use BsaCommander - it's a small program and works nicely with Oblivion. Don't also forget to delete its log file after unpacking, it's located in Data directory. Edit: As I see the scripts in Weateher inside will need some touches, like to check if the base door is in interior or checking the player's distance from it. They're also give command to produce sound every frame, which could lead to performance problems. Edited August 30, 2022 by RomanR Link to comment Share on other sites More sharing options...
jwoltz Posted August 30, 2022 Author Share Posted August 30, 2022 Hey, thank you. It all sounds great. The only problem I've always had with trying to work with existing scripts is the copy/paste procedure. I could never get it to work and would end up completely writing the script from the screen by hand on a piece of paper and then re-writing it as a new script. Can you tell me how exactly to use copy/paste for scripting in the CS? Thank you. Link to comment Share on other sites More sharing options...
RomanR Posted August 31, 2022 Share Posted August 31, 2022 For me using Window's clipboard and with Ctrl+C and Ctrl+V always worked. Simply mark your text and press Ctrl+C, then open another esp, select to edit new script and press Ctrl+V. You can also use this to copy it to standard Notepad, if you wish. Just be avare that standard tabelator is set in CS editor to 3. Link to comment Share on other sites More sharing options...
RomanR Posted August 31, 2022 Share Posted August 31, 2022 And here are also additional commands for interior-to-exterior doors with some performance touches: scriptname WeatherInside3D11a ref me ref link_door float distance short door_interior short link_door_interior short valid short timer begin GameMode set me to GetSelf ; get info about doors if me != 0 ;print "This door is named "+$me set door_interior to me.IsInInterior ;print "Is in interior: "+$door_interior set distance to me.GetDistance player ;print "Distance from player: "+$distance let link_door := me.GetLinkedDoor if link_door != 0 set link_door_interior to link_door.IsInInterior ;print "It has linked door named: "+$link_door ;print "Linked door is in interior: "+$link_door_interior else ;print "It hasn't linked door." endif endif if me != 0 && link_door != 0 set valid to 1 else set valid to 0 endif ; timer if timer > 0 set timer to timer - 1 endif ; now sounds if valid != 0 && door_interior != 0 && link_door_interior == 0 && distance <= 950 && timer == 0 set timer to 2 ; if you notice any drop-outs, just set it to zero ; put all commands from original script here .................... endif end GetLinkedDoor is OBSE function, but as Trade & Commerce needs it too,so it doesn't matter. Don't assign it to original "sound emitters" because there isn't linked door in them and hence they will become silent. Link to comment Share on other sites More sharing options...
Recommended Posts