ProjectsWhat's NewDownloadsCommunitySupportCompany
Forum Index » S.T.A.L.K.E.R.: Shadow of Chernobyl Forum » Mod discussion
How to tell if it is raining

« Previous 10 events | 1 2 3 | Next 10 events »| All Messages
Posted by/on
Question/AnswerMake Oldest Up Sort by Ascending
  22:07:41  28 May 2012
profilee-mailreply Message URLTo the Top
Meltac
messing with code
(Resident)

 

 
On forum: 01/21/2010
Messages: 1519

---QUOTATION---
Can't you just use level.rain_factor() function?
It returns the current strength of rain in 0 to 1 value. You can even differentiate the sounds if it is heavy rain or the light one.
---END QUOTATION---



You've just made me become aware that I have wasted lots of hours of lifetime spending to implement a script function that obviously already existed

Never start coding without having checked lua_help!!!
  21:36:42  28 May 2012
profilee-mailreply Message URLTo the Top
Cromm Cruac
Сделано в Чернобыле
(Resident)

 

 
On forum: 11/19/2009
 

Message edited by:
Cromm Cruac
05/28/2012 21:41:52
Messages: 1143
There is nothing more to tell. It's pretty straight forward. This engine function tells if it currently rains and how hard. It returns 0 if it doesn't, 1 if it is full rain (as defined in weather config).

How it works? Let's say we have clear sky (no rain - rain_density= 0) defined at 10 o'clock and storm with full rain (rain_density=1) at 11 o'clock.
At 10:15 function will return 0.25, at 10:30 0.5 etc. No need to do other checks.

You could do smth like that:

If (actor indoor) then
  if (rain_factor()=0) then
   stop rain sound
  else if (rain_factor()>0 and rain_factor()<0.5) then
    play inside light rain sound
  else if (rain_factor()>=0.5 and rain_factor()<=1) then
    play inside pouring rain sound
  end
else 
  if (rain_factor()=0) then
   stop rain sound
  else if (rain_factor()>0 and rain_factor()<0.5) then
    play outside light rain sound
  else if (rain_factor()>=0.5 and rain_factor()<=1) then
    play outside pouring rain sound
  end
end


That's not an actual script just something like an algorythm.
  20:22:40  28 May 2012
profilee-mailreply Message URLTo the Top
Daemonion
All About Audio
(Resident)

 

 
On forum: 09/27/2011
Messages: 567

---QUOTATION---
Can't you just use level.rain_factor() function?
It returns the current strength of rain in 0 to 1 value. You can even differentiate the sounds if it is heavy rain or the light one.
---END QUOTATION---


Hm, sounds interesting.

Can you tell me more about this?
  18:35:12  28 May 2012
profilee-mailreply Message URLTo the Top
Cromm Cruac
Сделано в Чернобыле
(Resident)

 

 
On forum: 11/19/2009
Messages: 1143
Can't you just use level.rain_factor() function?
It returns the current strength of rain in 0 to 1 value. You can even differentiate the sounds if it is heavy rain or the light one.
  17:43:37  28 May 2012
profilee-mailreply Message URLTo the Top
FatalFunnel
(Senior)
 
On forum: 11/07/2011
Messages: 133
You know, it would be cool if we could come up with a system that has weather directly affect the actor, stuff like simulated temperature, and having individual suits tied into it. Things like some suits having waterproof properties, and having rain affect them less in a negative way, or some things being more insulated.

Basically I'm thinking of a system that adds simulated cold, something that makes weather more than just aesthetic.
  15:22:15  24 May 2012
profilee-mailreply Message URLTo the Top
Meltac
messing with code
(Resident)

 

 
On forum: 01/21/2010
Messages: 1519

---QUOTATION---
I'm not 100% sure if there's a way to actually parse specific parameters of the current weather hour while the game is running, to look for specific values (i.e. if rain_density != 0). Especially considering that the weather config values are constantly changing between weather hours
---END QUOTATION---



It is possible to do that - as mentioned above I have written a script doing so.
  14:39:33  24 May 2012
profilee-mailreply Message URLTo the Top
{imperialreign}
Звуковой Шаман
(Resident)

 

 
On forum: 10/29/2008
Messages: 3075
Aside from earlier ideas . . . only thing I could think of is a little hack & slash . . .

That is, go through the weather config(s) and determine which weather hours are considered "rain" - then write a function that uses a shit-load of conditionals to check if it's a raining weather hour or not, based on the current weather config . . . from there, it could give or take a new i_p . . . which in turn you could use to change the sound being played in the logic controls . . . it's a little brute force, though, lol

If you're using nandersen's dynamic weather engine, it might be easier to create a new function within the control script that monitors the current weather config, and current game hour for the info portion.

I'm not 100% sure if there's a way to actually parse specific parameters of the current weather hour while the game is running, to look for specific values (i.e. if rain_density != 0). Especially considering that the weather config values are constantly changing between weather hours . . . You might want to consider searching key terms in the lua_help.txt to see if you turn up anything intersting.

BTW - I got your email, just haven't had a chance to get around to looking things over yet, I've been rather busy recently, lol
  11:47:00  24 May 2012
profilee-mailreply Message URLTo the Top
Daemonion
All About Audio
(Resident)

 

 
On forum: 09/27/2011
Messages: 567

---QUOTATION---
Cool idea you're having

I don't have any experience with space restrictors or other all.spawn related stuff because I consider it work of the devil

Just kidding. You can request whether it's raining and also how intensely by script. However I don't know of a simple function. What I did for my dynamic wet surfaces is parse the current weather to get the rain_density value. If you like I could send you an excerpt of my script (don't wanna make it public yet because it's not finished).
---END QUOTATION---


That would be great, please do!
  11:33:08  24 May 2012
profilee-mailreply Message URLTo the Top
Meltac
messing with code
(Resident)

 

 
On forum: 01/21/2010
Messages: 1519
Cool idea you're having

I don't have any experience with space restrictors or other all.spawn related stuff because I consider it work of the devil

Just kidding. You can request whether it's raining and also how intensely by script. However I don't know of a simple function. What I did for my dynamic wet surfaces is parse the current weather to get the rain_density value. If you like I could send you an excerpt of my script (don't wanna make it public yet because it's not finished).
  03:32:25  24 May 2012
profilee-mailreply Message URLTo the Top
Daemonion
All About Audio
(Resident)

 

 
On forum: 09/27/2011
Messages: 567

---QUOTATION---
Daemonion, instead of asking if it's raining... tell the game it's raining.
---END QUOTATION---



lol, that sounds like something Morpheus would say

Well, I don't want to make it rain, actually.

It ties into what I was doing earlier with the space restrictors. Player walks into a house, and an "interior ambient" sound plays. Same idea, except, now, I was wondering if I could have two different "interior ambient" sounds - one for when it is raining, and one for when it is not raining.

Actor walks into space restrictor (say, some_house_in_cordon).
it is raining, so play interior_ambient_rain.ogg
or
it is not raining, so play interior_ambient_no_rain.ogg


Like that.
 
Each word should be at least 3 characters long.
Search:    
Search conditions:    - spaces as AND    - spaces as OR   
 
Forum Index » S.T.A.L.K.E.R.: Shadow of Chernobyl Forum » Mod discussion
 

All short dates are in Month-Day-Year format.


 

Copyright © 1995-2021 GSC Game World. All rights reserved.
This site is best viewed in Internet Explorer 4.xx and up and Javascript enabled. Webmaster.
Opera Software products are not supported.
If any problem concerning the site functioning under Opera Software appears apply
to Opera Software technical support service.