cool. works like a charm!
here's the code if anyone cares... (I'll also accept ways of improving it since I suck at scripting.)
// Script initially written by Moosh. Heavily modified with help from MoscowModder and Jamian. const int DAYNIGHT_NUM_STATES = 3; // Set this to the number of states in each full cycle. i.e. Morning, Daytime, Night. const int DAYNIGHT_STATE_LENGTH = 180; //Set this to the number of frames (60ths of a second) each state will last. int DayNightCounter = 0; // A counter used to keep track of the "time" in each state. int DayNightCurrentState = 0; // A counter keeping track of which state you are currently on in the cycle. bool DayNightNewState = false; // Whether the state has been changed, it'll change on next screen change. // This array tells the script which DMaps are involved in the DayNight system. // Inside the [] brackets is how many sets of DMaps are involved. // Inside the {} brackets is the first DMap in each set. int DayNightDMaps[2] = {0, 3}; // This function is a check that you're still on the correct DayNight DMap in case your DMap was changed by another warp. // Run it at the top of your Global script or else the DMap switch will be more noticeable. void CheckCorrectDayNight(){ if(DayNightNewState == false && getDayNightDMap() != Game->GetCurDMap()) Link->PitWarp(getDayNightDMap(), Game->GetCurDMapScreen()); } // This is the function that handles the Day/Night script. Put it before the Waitframe() in your global script. void DayNight(){ DayNightCounter++; if(DayNightCounter>=DAYNIGHT_STATE_LENGTH){ DayNightCounter = 0; DayNightCurrentState++; if(DayNightCurrentState>=DAYNIGHT_NUM_STATES) DayNightCurrentState = 0; DayNightNewState = true; } // Checks to see if the State has changed, and if Link is scrolling to a new screen. // If both are true it'll warp Link instantly after scrolling to new DMap. if(DayNightNewState == true && Link->Action == LA_SCROLLING){ while(Link->Action == LA_SCROLLING) Waitframe(); Link->PitWarp(getDayNightDMap(), Game->GetCurDMapScreen()); DayNightNewState = false; } } // Returns the DMap that you are currently on in the DayNight cycle. int getDayNightDMap(){ for(int i=0; i<SizeOfArray(DayNightDMaps); i++){ if(Game->GetCurDMap()>=DayNightDMaps[i]&&Game->GetCurDMap()<DayNightDMaps[i]+DAYNIGHT_NUM_STATES) return (DayNightDMaps[i] + DayNightCurrentState); } } global script active{ void run(){ while(true){ CheckCorrectDayNight(); DayNight(); Waitframe(); } } }

