Sakiro A. Posted November 26, 2003 Share Posted November 26, 2003 What variables are there to tell what weather it is, what region the player is in (or map name), whether or not the player is in combat (when the music changes), or if the player is indoors or outdoors? I'm trying to make a music mod, you see; although the music in Morrowind is good technically, it's presented poorly, and I'm trying to make a mod that will play music depending upon weather, day/night, location, etc., rather than play the same ones over and over again. Due to the limited fuctions concerning music in Morrowind (there's only really one, heh), it would probably be tricky, but I might as well try. In case you're wondering, I'm going to use all the old songs from Daggerfall/Arena. Because many of the songs in Arena are remixed for Daggerfall, I figured I might as well make a mod which does the same for Morrowind. Plus, Daggerfall's soundtrack is one of the best ever made (so long as you have General Midi, otherwise it's kinda annoying). Link to comment Share on other sites More sharing options...
Marxist ßastard Posted November 26, 2003 Share Posted November 26, 2003 Not variables, but commands... For region, it would be GetPCCell [if ( GetPCCell == "Bitter Coast Region" ) -- checks to see if the PC is in the Bitter Coast Region]. There is no command that I know of that will check the combat status, but it would be good enough if you would simply change the default Morrowind battle music. For indoors or outdoors, you'd have to go through a series of GetPCCell conditionals. For a list of commands and common variables, look here. Link to comment Share on other sites More sharing options...
Sakiro A. Posted November 26, 2003 Author Share Posted November 26, 2003 Ah ok, thanks. The problem with the battle music, though, is that I'd probably have to check if the PC is in battle to prevent a song to be played via a sound loop script during battle (and also to restart the music after the battle is done). Hm. EDIT: There's apparently a "GetFight", but it's not documented as far as I can tell. Hmmmm. Well, I can't think of what else it'd do. Link to comment Share on other sites More sharing options...
AnXiEty-killS Posted November 26, 2003 Share Posted November 26, 2003 Hmm, I think a mod like this would be really cool, but really, all you would have to do is just change the default battle music. Bethesda has already done the dirty work with the scripting on that part, all you would have to do is just change the music. Haven't you noticed than when your fighting, the music changes, but as soon as the battle is over, it goes back to the original music? Just swap in some new music with the same name (delete the old one of course) and bingo, your battle music is already taken care of. Then you would just have to do interior/exterior. Well in any case, good luck, and I hope you get this completed because I'd love to add this mod to my collection! Link to comment Share on other sites More sharing options...
Sakiro A. Posted November 26, 2003 Author Share Posted November 26, 2003 Yeah, I know; I'm not aiming to mess with the battle music, specifically. I just need to know when the battle music is playing because the scripts involved with the music outside of battle would probably be dependant on timers to make sure the right music is played at the right time (I can't depend on Morrowind's typical "go to the next track after this is done" if I want to control what music is played when, right?) If I ignore the battle music factor, the music will change right in the middle of a battle due to the script timers, and I don't want that to happen. Also, the music won't necessarily change to what I want after the battle is over, so I need scripts to do it for me. Besides, needing to change default files wouldn't make for a very clean mod, would it? :P Link to comment Share on other sites More sharing options...
Kethruch Posted November 26, 2003 Share Posted November 26, 2003 I believe that the choices of which directory the music will play from are hardwired into the software. I am not sure that you can have it turn on and off music to your liking - (unless maybe you connected it to a site marker or event marker? just a thought as I am typing this.....) Link to comment Share on other sites More sharing options...
Sakiro A. Posted November 26, 2003 Author Share Posted November 26, 2003 Yes, but I'm quite sure there's a way around that using scripts and timers, as I've mentioned. It's really quite simple. Each different track will have a variable representing the length of the track. When a song is played, a timer starts based on the track's length. Once the timer ends the script will play a new song (or repeat the last one) depending on the script. This way I have control over what songs are played and when, and thus skip Morrowind's hardcoded method of music. There's only one music function which streams a certain MP3, and you can't but it should be enough. (The tracks will have a few dead seconds after each just so that the default tracks won't play for a quick instant after one is over/loading.) At least, this is how I plan to do it. Not sure if it will work ideally, but it's the only way I can think of. EDIT: This is, of course, assuming that you can have constant scripts. You can, right? ...right? Link to comment Share on other sites More sharing options...
the00phoenix Posted November 28, 2003 Share Posted November 28, 2003 Not variables, but commands... For region, it would be GetPCCell [if ( GetPCCell == "Bitter Coast Region" ) -- checks to see if the PC is in the Bitter Coast Region] ... To change the weather you need to use following command: ChangeWeather, "Region_ID", weather_enum An example for a region ID would be "Ashland Region", but a sample cell of this region could be "Ashland Region 1, 12".Since GetPCCell returns a "Cell_ID", I`d like to know, (1.) whether it is sufficient to write something like this (simple example): If ( GetCurrentWeather != 6 ) ;example condition ChangeWeahter, GetPCCell, 6 ;starting ash storm at player region Endif (2.) Or whether I have to build something like this (similar to Marxists post): If ( GetCurrentWeather != 6 ) If ( GetPCCell == "Ashland Region" ) ChangeWeather, "Ashland Region", 6 Elseif ( GetPCCell == "Bitter Coast Region" ) ChangeWeather, "Bitter Coast Region", 6 {...} Endif Endif I can`t imagine, that "Region_ID" and "Cell_ID" are the same, please advise! Greetz, the__phoenix #EDIT: altered ModCurrentWeather to ChangeWeather (my mistake ^_^ ) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.