Создаём тригер, который активируется при желаемых условиях и прописываем в строке OnActivation следующий текст:
для погоды:
X SetOvercast Y; где X это время в секундах на протяжении которого погода должна меняться, а Y определяет конечную погоду (0.0 - самая хорошая погода; 1.0 - самая плохая погода)
для тумана:
X SetFog Y; что определяет X смотри выше, а Y определяет "плотность" тумана (0.0 - нет тумана; 1.0 - самый сильный туман)
Естественно можно это прописать и в строке OnDeactivation тригера, тогда погода будет соответственно меняться при деактивации тригера, таким способом можно создать к примеру зону тумана, правда это будет выглядеть довольно нереально.