Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
//INIT WEATHER BEFORE ECONOMY INIT------------------------
Weather weather = g_Game.GetWeather();
weather.MissionWeather(false); // false = use weather controller from Weather.c
weather.GetOvercast().Set( Math.RandomFloatInclusive(0.02, 0.1), 1, 0);
weather.GetRain().Set( 0, 1, 0);
weather.GetFog().Set( 0, 1, 0);
so im quite sure this is it. but dunno in which ways to edit it. theres probably some guide for it in the www
Cant stop the rain
The below settings make the day run 3X faster and night time passes in about 45 minutes...
Adjust to suit your needs
lightingConfig = 1; // 1 for Dark Night 0 for lighter night
serverTime="2019/07/14/5/20"; // Initial in-game time of the server. "SystemTime" means the local time of the machine. Another possibility is to set the time to some value in "YYYY/MM/DD/HH/MM" format, f.e. "2015/4/8/17/23" .
serverTimeAcceleration=3; // Accelerated Time (value 0-24)// This is a time multiplier for in-game time. In this case, the time would move 24 times faster than normal, so an entire day would pass in one hour.
serverNightTimeAcceleration=6; // Accelerated Night Time - The numerical value being a multiplier (0.1-64) and also multiplied by serverTimeAcceleration value. Thus, in case it is set to 4 and serverTimeAcceleration is set to 2, night time would move 8 times faster than normal. An entire night would pass in 3 hours.
serverTimePersistent=0; // Persistent Time (value 0-1)// The actual server time is saved to storage, so when active, the next server start will use the saved time value.
Can't help with the rain..sorry
Mike Bizzle
1 year ago
[Tutorial] How to change your server weather or: "What do the weather values in init.c mean?"
Discussion
EDIT:
An update on Section D
I figured it made no sense that it was a starting value. Because otherwise on every server it would start raining at some point with the default values, which it clearly doesn't. I think it's the value of intensity that that weather has on that server boot. Because for example, if you get weather.GetRain().Set( Math.RandomFloatInclusive(0.0, 0.2), 0, 0); to return 0 to you at start. You will never get rain in that session. This would also explain how the weather is usually the same around the whole server session, because it only marginally goes up and down over long periods of time.
*******************
Hey guys, just thought I'd share the knowledge a little. I am not 100% sure on any of my findings, this is all based on testing and messing around. Feel free to correct me on any point or add to the information.
If you want you can copy and paste the whole thing over into your init.c and replace the default code, the // means it's a comment, so your server will ignore those lines as code.
Warning, some values simply don't look right in the game. Any fog higher than say .5 is just a wall of light blue at a certain distance. Any questions? Feel free to comment, as always.
The values are currently set to the default settings that you get when you download the server files.
//Section A - Overall limits
weather.GetOvercast().SetLimits( 0.0 , 1.0 );
//limits of clouds at any point in time. Valued between 0.0 and 1.0.
//( 1.0 , 1.0 ); max cloud all the time
//( 0.0 , 0.0 ); no clouds ever
//( 0.0 , 1.0 ); between no clouds and max clouds
//( 0.5 , 0.5 ); always half clouds
//you have to test with clouds on highest in video settings to test well
weather.GetRain().SetLimits( 0.0 , 1.0 );
weather.GetFog().SetLimits( 0.0 , 0.25 );
//Section B - Change limits
weather.GetOvercast().SetForecastChangeLimits( 0.0, 0.2 );
//limits of how much clouds change over time
//( 1.0 , 1.0 ); clouds change 1.0 or -1.0 within time limits from Section C
//( 0.0 , 0.0 ); clouds never change
//( 0.0 , 1.0 ); clouds change between -1.0 and 1.0 within time limits from Section C
//( 0.5 , 0.5 ); clouds change -0.5 or 0.5 within time limits from Section C
//values can never go outside of limits set in Section A
weather.GetRain().SetForecastChangeLimits( 0.0, 0.1 );
weather.GetFog().SetForecastChangeLimits( 0.15, 0.45 );
//Section C - Time limits
weather.GetOvercast().SetForecastTimeLimits( 1800 , 1800 );
//limits how long it takes for clouds to change in seconds
//( 1800 , 1800 ); clouds take 1800 seconds to change by a value set in Section B
//( 1 , 1800 ); clouds take between 1 and 1800 seconds to change by a value set in Section B
//( 1 , 1 ); clouds take 1 second to change by a value set in Section B
weather.GetRain().SetForecastTimeLimits( 600 , 600 );
weather.GetFog().SetForecastTimeLimits( 1800 , 1800 );
//Section D - Session weather intensity values
weather.GetOvercast().Set( Math.RandomFloatInclusive(0.0, 0.3), 0, 0);
//when the server starts it's session the intensity of clouds is equal to a number with a 6-7 decimal precision within 0.0 and 0.3
//you can change Math.RandomFloatInclusive(0.0, 0.3) to just a value
//for example: weather.GetOvercast().Set( 0.5, 0, 0);
//the server session's cloud intensity will be 0.5 on that session. It's still subject to change over time because of Section B and C, but the lower this value, the less of an impact the values in Section A B and C have
weather.GetRain().Set( Math.RandomFloatInclusive(0.0, 0.2), 0, 0);
weather.GetFog().Set( Math.RandomFloatInclusive(0.0, 0.1), 0, 0);
//Section E - Wind settings
weather.SetWindMaximumSpeed(15);
//Maximum windspeed ever
weather.SetWindFunctionParams(0.1, 0.3, 50);
//I think the values mean that wind changes within a factors 0.1 and 0.3 of the maximum value over a certain period
//(1.0, 1.0, 50) makes the wind 15 all the time
//needs some further testing because wind doesn't seem to always be insane
//(0.0, 0.0, 50) makes it wind speed 0 all the time
//this seems to be consistently no wind
//Again not 100% sure, especially the value 50 is difficult to see any difference when testing
//I don’t see any difference between 50 or 1 for example
//With lower wind speeds comes slower getting wet and drying up
//With 0 wind speed consistently, drying up takes a very long time
29 comments
93% Upvoted
This thread is archived
New comments cannot be posted and votes cannot be cast
Sort by
level 1
Valdark2
1.0oops
4 points ·
1 year ago
As always thanks for sharing your findings. I’ll definitely be making use of this myself. :)
level 1
aussiecleetus
2 points ·
1 year ago
I found that when wind was reduced to nothing, players were not drying out after being wet, I think the wetness system relies heavily on the wind and temperature.
level 2
Tit4nNL
Mike Bizzle
3 points ·
1 year ago
· edited 1 year ago
Hmm that is very test worthy. I'll see if that holds up and add to the post.
edit:
Yes it does, I turned rain on without wind enabled and already noticed I got wet really slowly. When I was fully drenched (all items that could get wet) I turned rain off and waited. I walked for like 10 minutes, and only got back down to soaking wet. When I turned the wind to high speeds I got dry after like 20 seconds.
When I turned rain back on with high wind speeds, I got drenched in like 20 seconds too.
It's really slow, but not never.
Continue this thread
level 1
cesigleywv
2 points ·
1 year ago
· edited 1 year ago
This is from my init.c
---------------------------------------------
weather weather =g_Game.GetWeather();
weather.MissionWewather(false); // false = use weather controller from Weather.c
weather.GetOvercast() .Set( Math.RandomFloatInclusive(0.2, 0.3), 1, 0);
weather.GetRain().Set( 0, 0, 0);
weather.GetFog() .Set( Math.RandomFloatInclusive(0.05, 0.08), 1, 0);
-------------------------------------
I have set rain to zero...to make no rain like I did on .63....
I did follow this guide for .63 and it worked wonderfully... hardly any clouds, little wind (lag purposes) and No rain at all (it was great).
How on earth am I supposed to make a setting and then it not stick? I saved and everything... and it changed the numbers but rain is still there.
Have I missed something or do I need to add some stuff???
Thank you
level 2
Tit4nNL
Mike Bizzle
3 points ·
1 year ago
I haven't looked at the 1.0 mission file. It is most likely different as we have been having so much rain. I'll look into it today if I can find the time.
Continue this thread
level 1
[deleted]
1 point ·
1 year ago
Does the wind have an impact on ballistics?
level 2
Tit4nNL
Mike Bizzle
3 points ·
1 year ago
Nope
Continue this thread
level 1
BeeDubbin
New Dawn Staff
1 point ·
1 year ago
nice info, thank you.
level 1
ThisAccountIs4Reddit
༼ つ ◕_◕ ༽つ giv renderer
1 point ·
1 year ago
Great study!
level 1
Ataygttrk
1 point ·
1 year ago
· edited 1 year ago
I am trying to figure it out where this line is but I couldnt find it. Could you explain how can I change that? If I put this line " weather.GetRain().Set( Math.RandomFloatInclusive(0.0, 0.2), 0, 0); " in the server.cfg it gives me this error: "File serverDZ.cfg, line 46: '.weather': '.' encountered instead of '=' "
level 2
Tit4nNL
Mike Bizzle
2 points ·
1 year ago
server.DZ.cfg
That's the file, the rest of the info, that 'weather.GetRain().Set( Math.RandomFloatInclusive(0.0, 0.2), 0, 0);' is supposed to come from 'init.c'.
I think you put the wrong info in the wrong file maybe?
server.DZ.cfg is suppsed to have the info like server name, password, server time, persistance etc etc etc
Strangely my file is called serverDZ.cfg (I haven't updated the server files since first release)
Continue this thread
level 1
HoTTzeR
1 point ·
1 year ago
Thank you so much!